cce4c5d
#http://lists.fedoraproject.org/pipermail/devel/2011-August/155358.html
cce4c5d
%global _hardened_build 1
cce4c5d
cce4c5d
%global prever beta1
cce4c5d
cce4c5d
#%%global VERSION %{version}-%{patchver}
05114ad
#%%global VERSION %{version}-%{prever}
05114ad
%global VERSION %{version}
cce4c5d
cce4c5d
Summary:  DHCPv4, DHCPv6 and DDNS server from ISC
cce4c5d
Name:     kea
cce4c5d
Version:  0.9
b67335b
Release:  3%{?dist}
cce4c5d
License:  ISC and Boost
cce4c5d
URL:      http://kea.isc.org
cce4c5d
Source0:  http://ftp.isc.org/isc/kea/%{VERSION}/kea-%{VERSION}.tar.gz
cce4c5d
989d346
# TODO: remove this with 1.0
989d346
Source1:  kea.conf.pre
989d346
5fc4ba0
# http://kea.isc.org/ticket/3529
05114ad
Patch0:   kea-systemd.patch
cce4c5d
5fc4ba0
# autoreconf
cce4c5d
BuildRequires: autoconf automake libtool
cce4c5d
BuildRequires: boost-devel
5fc4ba0
# %%configure --with-openssl
cce4c5d
BuildRequires: openssl-devel
5fc4ba0
# %%configure --with-dhcp-mysql
5fc4ba0
BuildRequires: mariadb-devel
5fc4ba0
# %%configure --with-dhcp-pgsql
5fc4ba0
BuildRequires: postgresql-devel
cce4c5d
BuildRequires: log4cplus-devel
8f23bcc
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
cce4c5d
BuildRequires: valgrind-devel
8f23bcc
%endif
cce4c5d
BuildRequires: systemd
cce4c5d
# src/lib/testutils/dhcp_test_lib.sh
cce4c5d
BuildRequires: procps-ng
cce4c5d
5fc4ba0
5fc4ba0
# %%configure --enable-gtest
5fc4ba0
BuildRequires: gtest-devel
5fc4ba0
# in case you ever wanted to use %%configure --enable-generate-docs
5fc4ba0
#BuildRequires: elinks asciidoc plantuml
5fc4ba0
cce4c5d
Requires: kea-libs%{?_isa} = %{version}-%{release}
cce4c5d
Requires(post): systemd
cce4c5d
Requires(preun): systemd
cce4c5d
Requires(postun): systemd
cce4c5d
cce4c5d
cce4c5d
%description
cce4c5d
DHCP implementation from Internet Systems Consortium, Inc.
cce4c5d
that features fully functional DHCPv4, DHCPv6 and Dynamic DNS servers.
cce4c5d
Both DHCP servers fully support server discovery,
cce4c5d
address assignment, renewal, rebinding and release. The DHCPv6
cce4c5d
server supports prefix delegation. Both servers support DNS Update
cce4c5d
mechanism, using stand-alone DDNS daemon.
cce4c5d
cce4c5d
%package libs
cce4c5d
Summary: Shared libraries used by Kea DHCP server
cce4c5d
cce4c5d
%description libs
cce4c5d
This package contains shared libraries used by Kea DHCP server.
cce4c5d
cce4c5d
%package devel
cce4c5d
Summary: Development headers and libraries for Kea DHCP server
cce4c5d
Requires: kea-libs%{?_isa} = %{version}-%{release}
cce4c5d
cce4c5d
%description devel
cce4c5d
Header files and API documentation.
cce4c5d
cce4c5d
%prep
cce4c5d
%setup -q -n kea-%{VERSION}
cce4c5d
05114ad
%patch0 -p1 -b .systemd
cce4c5d
b67335b
# install leases db in /var/lib/kea/ not /var/kea/
b67335b
# http://kea.isc.org/ticket/3523
b67335b
sed -i -e 's|@localstatedir@|@sharedstatedir@|g' src/lib/dhcpsrv/Makefile.am
b67335b
cce4c5d
%build
cce4c5d
autoreconf --verbose --force --install
cce4c5d
cce4c5d
%configure \
cce4c5d
    --disable-silent-rules \
cce4c5d
    --disable-static \
5fc4ba0
    --enable-systemd \
cce4c5d
    --with-openssl \
5fc4ba0
    --with-dhcp-mysql \
5fc4ba0
    --with-dhcp-pgsql \
cce4c5d
    --disable-rpath \
5fc4ba0
    --enable-gtest \
cce4c5d
    --enable-debug
cce4c5d
cce4c5d
make %{?_smp_mflags}
cce4c5d
cce4c5d
cce4c5d
%check
cce4c5d
make check
cce4c5d
cce4c5d
cce4c5d
%install
cce4c5d
make install DESTDIR=%{buildroot}
cce4c5d
cce4c5d
# Get rid of .la files
cce4c5d
rm -f %{buildroot}%{_libdir}/libkea-*.la
cce4c5d
cce4c5d
# Start empty lease databases
cce4c5d
mkdir -p %{buildroot}%{_sharedstatedir}/kea/
cce4c5d
touch %{buildroot}%{_sharedstatedir}/kea/kea-leases4.csv
cce4c5d
touch %{buildroot}%{_sharedstatedir}/kea/kea-leases6.csv
cce4c5d
cce4c5d
install -p -m 644 ext/LICENSE_1_0.txt %{buildroot}%{_defaultdocdir}/kea/
cce4c5d
989d346
install -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/kea/kea.conf
989d346
cce4c5d
%post
cce4c5d
%systemd_post kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service
cce4c5d
cce4c5d
cce4c5d
%preun
cce4c5d
%systemd_preun kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service
cce4c5d
cce4c5d
cce4c5d
%postun
cce4c5d
%systemd_postun_with_restart kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service
cce4c5d
cce4c5d
cce4c5d
%post libs -p /sbin/ldconfig
cce4c5d
cce4c5d
%postun libs -p /sbin/ldconfig
cce4c5d
cce4c5d
cce4c5d
%files
cce4c5d
%{_sbindir}/kea-dhcp-ddns
cce4c5d
%{_sbindir}/kea-dhcp4
cce4c5d
%{_sbindir}/kea-dhcp6
cce4c5d
%{_sbindir}/keactrl
cce4c5d
%{_sbindir}/perfdhcp
cce4c5d
%{_unitdir}/kea-dhcp4.service
cce4c5d
%{_unitdir}/kea-dhcp6.service
cce4c5d
%{_unitdir}/kea-dhcp-ddns.service
cce4c5d
%dir %{_sysconfdir}/kea/
cce4c5d
%config(noreplace) %{_sysconfdir}/kea/kea.conf
cce4c5d
%config(noreplace) %{_sysconfdir}/kea/keactrl.conf
cce4c5d
%dir %{_datarootdir}/kea/
cce4c5d
%{_datarootdir}/kea/dhcp-ddns.spec
cce4c5d
%{_datarootdir}/kea/dhcp4.spec
cce4c5d
%{_datarootdir}/kea/dhcp6.spec
cce4c5d
%{_datarootdir}/kea/dhcpdb_create.mysql
cce4c5d
%{_datarootdir}/kea/dhcpdb_create.pgsql
cce4c5d
%dir %{_sharedstatedir}/kea
cce4c5d
%config(noreplace) %{_sharedstatedir}/kea/kea-leases4.csv
cce4c5d
%config(noreplace) %{_sharedstatedir}/kea/kea-leases6.csv
cce4c5d
%{_defaultdocdir}/kea/AUTHORS
cce4c5d
%{_defaultdocdir}/kea/ChangeLog
cce4c5d
%{_defaultdocdir}/kea/README
cce4c5d
%{_defaultdocdir}/kea/examples
cce4c5d
%{_defaultdocdir}/kea/kea-guide.*
cce4c5d
%{_defaultdocdir}/kea/kea-messages.html
cce4c5d
%{_mandir}/man8/kea-dhcp-ddns.8.gz
cce4c5d
%{_mandir}/man8/kea-dhcp4.8.gz
cce4c5d
%{_mandir}/man8/kea-dhcp6.8.gz
cce4c5d
%{_mandir}/man8/keactrl.8.gz
cce4c5d
%{_mandir}/man8/perfdhcp.8.gz
cce4c5d
cce4c5d
%files libs
cce4c5d
%dir %{_defaultdocdir}/kea/
cce4c5d
%{_defaultdocdir}/kea/COPYING
cce4c5d
%{_defaultdocdir}/kea/LICENSE_1_0.txt
cce4c5d
%{_libdir}/libkea-asiodns.so.*
cce4c5d
%{_libdir}/libkea-asiolink.so.*
cce4c5d
%{_libdir}/libkea-cc.so.*
cce4c5d
%{_libdir}/libkea-cfgclient.so.*
cce4c5d
%{_libdir}/libkea-cryptolink.so.*
cce4c5d
%{_libdir}/libkea-dhcp++.so.*
cce4c5d
%{_libdir}/libkea-dhcp_ddns.so.*
cce4c5d
%{_libdir}/libkea-dhcpsrv.so.*
cce4c5d
%{_libdir}/libkea-dns++.so.*
cce4c5d
%{_libdir}/libkea-exceptions.so.*
cce4c5d
%{_libdir}/libkea-hooks.so.*
cce4c5d
%{_libdir}/libkea-log.so.*
cce4c5d
%{_libdir}/libkea-threads.so.*
cce4c5d
%{_libdir}/libkea-util-io.so.*
cce4c5d
%{_libdir}/libkea-util.so.*
cce4c5d
cce4c5d
%files devel
cce4c5d
%{_includedir}/kea
cce4c5d
%{_libdir}/libkea-asiodns.so
cce4c5d
%{_libdir}/libkea-asiolink.so
cce4c5d
%{_libdir}/libkea-cc.so
cce4c5d
%{_libdir}/libkea-cfgclient.so
cce4c5d
%{_libdir}/libkea-cryptolink.so
cce4c5d
%{_libdir}/libkea-dhcp++.so
cce4c5d
%{_libdir}/libkea-dhcp_ddns.so
cce4c5d
%{_libdir}/libkea-dhcpsrv.so
cce4c5d
%{_libdir}/libkea-dns++.so
cce4c5d
%{_libdir}/libkea-exceptions.so
cce4c5d
%{_libdir}/libkea-hooks.so
cce4c5d
%{_libdir}/libkea-log.so
cce4c5d
%{_libdir}/libkea-threads.so
cce4c5d
%{_libdir}/libkea-util-io.so
cce4c5d
%{_libdir}/libkea-util.so
cce4c5d
%{_libdir}/pkgconfig/dns++.pc
cce4c5d
cce4c5d
%changelog
b67335b
* Tue Nov 04 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-3
b67335b
- do not override @localstatedir@ globally
989d346
- include latest upstream kea.conf
b67335b
8f23bcc
* Wed Sep 24 2014 Dan HorĂ¡k <dan[at]danny.cz> - 0.9-2
8f23bcc
- valgrind available only on selected arches
8f23bcc
05114ad
* Mon Sep 01 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-1
05114ad
- 0.9
05114ad
519215e
* Thu Aug 21 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-0.5.beta1
519215e
- fix building with PostgreSQL on i686
519215e
- redefine localstatedir to sharedstatedir (kea#3523)
519215e
5fc4ba0
* Wed Aug 20 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-0.4.beta1
5fc4ba0
- install systemd service units with a proper patch that we can send upstream
5fc4ba0
- build with MySQL & PostgreSQL & Google Test
5fc4ba0
- no need to copy sample configuration, /etc/kea/kea.conf already contains one
5fc4ba0
cce4c5d
* Tue Aug 19 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-0.3.beta1
cce4c5d
- comment patches
cce4c5d
- use --preserve-timestamps with install
cce4c5d
cce4c5d
* Mon Aug 18 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-0.2.beta1
cce4c5d
- make it build on armv7
cce4c5d
- BuildRequires procps-ng for %%check
cce4c5d
- use install instead of cp
cce4c5d
- configure.ac: AC_PROG_LIBTOOL -> LT_INIT
cce4c5d
- move license files to -libs
cce4c5d
cce4c5d
* Thu Aug 14 2014 Jiri Popelka <jpopelka@redhat.com> - 0.9-0.1.beta1
cce4c5d
- initial spec