dnsmasq/dnsmasq.spec
Reinhard Max 02afb350f8 Accepting request 236965 from home:dirkmueller:branches:network
- license update: GPL-2.0 or GPL-3.0
  correct license is dual GPL-2.0 or GPL-3.0; please add COPYING-v3-file to
  RPM.

- update to 2.71:
    Subtle change to error handling to help DNSSEC validation 
    when servers fail to provide NODATA answers for 
    non-existent DS records.
    Tweak code which removes DNSSEC records from answers when
    not required. Fixes broken answers when additional section
    has real records in it. Thanks to Marco Davids for the bug 
    report.
    Fix DNSSEC validation of ANY queries. Thanks to Marco Davids
    for spotting that too.
    Fix total DNS failure and 100% CPU use if cachesize set to zero,
    regression introduced in 2.69. Thanks to James Hunt and
    the Ubuntu crowd for assistance in fixing this.
    Fix crash, introduced in 2.69, on TCP request when dnsmasq
    compiled with DNSSEC support, but running without DNSSEC
    enabled. Thanks to Manish Sing for spotting that one.
    Fix regression which broke ipset functionality. Thanks to 
    Wang Jian for the bug report.
    Implement dynamic interface discovery on *BSD. This allows
    the contructor: syntax to be used in dhcp-range for DHCPv6
    on the BSD platform. Thanks to Matthias Andree for
    valuable research on how to implement this.
    Fix infinite loop associated with some --bogus-nxdomain
    configs. Thanks fogobogo for the bug report.
    Fix missing RA RDNS option with configuration like
    --dhcp-option=option6:23,[::] Thanks to Tsachi Kimeldorfer

OBS-URL: https://build.opensuse.org/request/show/236965
OBS-URL: https://build.opensuse.org/package/show/network/dnsmasq?expand=0&rev=58
2014-06-12 13:39:16 +00:00

140 lines
5.3 KiB
RPMSpec

#
# spec file for package dnsmasq
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: dnsmasq
Summary: Lightweight, Easy-to-Configure DNS Forwarder and DHCP Server
License: GPL-2.0 or GPL-3.0
Group: Productivity/Networking/DNS/Servers
Version: 2.71
Release: 0
Provides: dns_daemon
PreReq: /usr/sbin/useradd /bin/mkdir
Url: http://www.thekelleys.org.uk/dnsmasq/
Source: http://www.thekelleys.org.uk/dnsmasq/dnsmasq-%{version}.tar.gz
Source1: vendor-files.tar.bz2
Source2: dnsmasq.service
Patch1: group_and_isc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: dbus-1-devel
BuildRequires: libidn-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(libnetfilter_conntrack)
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%description
Dnsmasq is a lightweight, easy-to-configure DNS forwarder and DHCP
server. It is designed to provide DNS and, optionally, DHCP, to a small
network. It can serve the names of local machines that are not in the
global DNS. The DHCP server integrates with the DNS server and allows
machines with DHCP-allocated addresses to appear in DNS with names
configured either in each host or in a central configuration file.
Dnsmasq supports static and dynamic DHCP leases and BOOTP for network
booting of diskless machines.
%package utils
Summary: Utilities for manipulating DHCP server leases
Group: Productivity/Networking/DNS/Servers
%description utils
Utilities that use the standard DHCP protocol to query/remove a DHCP
server's leases.
%prep
%setup -q -n dnsmasq-%{version}
%setup -q -T -D -a1 -n dnsmasq-%{version}
%patch1 -p1
%build
echo "#define HAVE_DBUS" >> src/config.h
echo "#define HAVE_CONNTRACK" >> src/config.h
echo "#define HAVE_IDN" >> src/config.h
mv po/no.po po/nb.po
export CFLAGS="%optflags -std=gnu99 -fPIC -DPIC -fpie"
export LDFLAGS="-Wl,-z,relro,-z,now -pie"
make %{?_smp_mflags} AWK=gawk all-i18n
make -C contrib/wrt %{?_smp_mflags}
%pre
if ! /usr/bin/getent group tftp >/dev/null; then
%{_sbindir}/groupadd -r tftp 2>/dev/null || :
fi
if ! /usr/bin/getent passwd tftp >/dev/null; then
%{_sbindir}/useradd -c "TFTP account" -d /srv/tftpboot -G tftp -g tftp \
-r -s /bin/false tftp 2>/dev/null || :
fi
if ! /usr/bin/getent passwd dnsmasq >/dev/null; then
/usr/sbin/useradd -r -d /var/lib/empty -s /bin/false -c "dnsmasq" -g nogroup -G tftp dnsmasq || :
fi
%service_add_pre %{name}.service
%post
%service_add_post %{name}.service
%preun
%service_del_preun %{name}.service
%postun
%service_del_postun %{name}.service
%install
make install-i18n DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr AWK=gawk
install -d -m 755 ${RPM_BUILD_ROOT}/%{_sysconfdir}/slp.reg.d
install -d -m 755 ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
install -m 644 dnsmasq.conf.example $RPM_BUILD_ROOT/%{_sysconfdir}/dnsmasq.conf
install -m 644 dnsmasq.reg $RPM_BUILD_ROOT/%{_sysconfdir}/slp.reg.d/
install -m 644 SuSEFirewall.dnsmasq-dns ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/dnsmasq-dns
install -m 644 SuSEFirewall.dnsmasq-dhcp ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/dnsmasq-dhcp
install -d 755 ${RPM_BUILD_ROOT}/etc/dbus-1/system.d/
install -m 644 dbus/dnsmasq.conf ${RPM_BUILD_ROOT}/etc/dbus-1/system.d/dnsmasq.conf
install -D -m 0644 %SOURCE2 %{buildroot}%{_unitdir}/dnsmasq.service
install -d -m 0750 ${RPM_BUILD_ROOT}/srv/tftpboot
ln -sf /sbin/service $RPM_BUILD_ROOT/usr/sbin/rcdnsmasq
# utils subpackage
mkdir -p $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_mandir}/man1
install -m 755 contrib/wrt/dhcp_release ${RPM_BUILD_ROOT}%{_bindir}/dhcp_release
install -m 644 contrib/wrt/dhcp_release.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/dhcp_release.1
install -m 755 contrib/wrt/dhcp_lease_time ${RPM_BUILD_ROOT}%{_bindir}/dhcp_lease_time
install -m 644 contrib/wrt/dhcp_lease_time.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/dhcp_lease_time.1
rm contrib/wrt/{dhcp_release,dhcp_lease_time}
%find_lang %{name} --with-man
%files -f %{name}.lang
%defattr(-,root,root)
%doc CHANGELOG COPYING COPYING-v3 FAQ doc.html setup.html dnsmasq.conf.example contrib README.SUSE dbus
%config(noreplace) %{_sysconfdir}/dnsmasq.conf
%{_sbindir}/dnsmasq
%{_sbindir}/rcdnsmasq
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/dnsmasq-dns
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/dnsmasq-dhcp
%dir %{_sysconfdir}/slp.reg.d/
%config %attr(0644,root,root) /%{_sysconfdir}/slp.reg.d/dnsmasq.reg
%{_mandir}/man8/dnsmasq.8.gz
/etc/dbus-1/system.d/dnsmasq.conf
%{_unitdir}/dnsmasq.service
%dir %attr(0750,tftp,tftp) /srv/tftpboot
%files utils
%{_bindir}/dhcp_*
%{_mandir}/man1/dhcp_*
%changelog