diff --git a/README.md b/README.md index c7a59b1..0f654e8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # dnsmasq +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 which are not in the global DNS. +The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. +Dnsmasq supports static and dynamic DHCP leases and BOOTP/TFTP/PXE for network booting of diskless machines. + diff --git a/dnsmasq-2.52-enable_etc_dnsmasq_d.patch b/dnsmasq-2.52-enable_etc_dnsmasq_d.patch new file mode 100644 index 0000000..5c115bf --- /dev/null +++ b/dnsmasq-2.52-enable_etc_dnsmasq_d.patch @@ -0,0 +1,8 @@ +--- dnsmasq-2.52/dnsmasq.conf.example 2009-11-25 13:55:16.000000000 +0100 ++++ dnsmasq-2.52-fix/dnsmasq.conf.example 2010-03-26 22:29:39.000000000 +0100 +@@ -537,4 +537,4 @@ + + # Include a another lot of configuration options. + #conf-file=/etc/dnsmasq.more.conf +-#conf-dir=/etc/dnsmasq.d ++conf-dir=/etc/dnsmasq.d diff --git a/dnsmasq-2.52-have_dbus.patch b/dnsmasq-2.52-have_dbus.patch new file mode 100644 index 0000000..848088c --- /dev/null +++ b/dnsmasq-2.52-have_dbus.patch @@ -0,0 +1,11 @@ +--- dnsmasq-2.52/src/config.h 2010-01-21 15:22:06.000000000 +0100 ++++ dnsmasq-2.52-fix/src/config.h 2010-03-26 22:27:24.000000000 +0100 +@@ -170,7 +170,7 @@ + #define HAVE_TFTP + #define HAVE_SCRIPT + /* #define HAVE_BROKEN_RTC */ +-/* #define HAVE_DBUS */ ++#define HAVE_DBUS + + /* Allow TFTP to be disabled with COPTS=-DNO_TFTP */ + #ifdef NO_TFTP diff --git a/dnsmasq-2.52-use_var_lib_dnsmasq.patch b/dnsmasq-2.52-use_var_lib_dnsmasq.patch new file mode 100644 index 0000000..ac555f8 --- /dev/null +++ b/dnsmasq-2.52-use_var_lib_dnsmasq.patch @@ -0,0 +1,48 @@ +diff -pur dnsmasq-2.52//dnsmasq.conf.example dnsmasq-2.52-fix//dnsmasq.conf.example +--- dnsmasq-2.52//dnsmasq.conf.example 2009-11-25 13:55:16.000000000 +0100 ++++ dnsmasq-2.52-fix//dnsmasq.conf.example 2010-03-26 22:23:16.000000000 +0100 +@@ -415,7 +415,7 @@ + # The DHCP server needs somewhere on disk to keep its lease database. + # This defaults to a sane location, but if you want to change it, use + # the line below. +-#dhcp-leasefile=/var/lib/misc/dnsmasq.leases ++#dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases + + # Set the DHCP server to authoritative mode. In this mode it will barge in + # and take over the lease for any client which broadcasts on the network, +diff -pur dnsmasq-2.52//man/dnsmasq.8 dnsmasq-2.52-fix//man/dnsmasq.8 +--- dnsmasq-2.52//man/dnsmasq.8 2010-01-14 18:00:48.000000000 +0100 ++++ dnsmasq-2.52-fix//man/dnsmasq.8 2010-03-26 22:23:16.000000000 +0100 +@@ -1288,7 +1288,7 @@ assume that it is the system default. + + .IR /etc/ethers + +-.IR /var/lib/misc/dnsmasq.leases ++.IR /var/lib/dnsmasq/dnsmasq.leases + + .IR /var/db/dnsmasq.leases + +diff -pur dnsmasq-2.52//man/es/dnsmasq.8 dnsmasq-2.52-fix//man/es/dnsmasq.8 +--- dnsmasq-2.52//man/es/dnsmasq.8 2010-01-20 11:09:58.000000000 +0100 ++++ dnsmasq-2.52-fix//man/es/dnsmasq.8 2010-03-26 22:23:16.000000000 +0100 +@@ -1338,7 +1338,7 @@ del sistema. + + .IR /etc/ethers + +-.IR /var/lib/misc/dnsmasq.leases ++.IR /var/lib/dnsmasq/dnsmasq.leases + + .IR /var/db/dnsmasq.leases + +diff -pur dnsmasq-2.52//src/config.h dnsmasq-2.52-fix//src/config.h +--- dnsmasq-2.52//src/config.h 2010-01-21 15:22:06.000000000 +0100 ++++ dnsmasq-2.52-fix//src/config.h 2010-03-26 22:23:16.000000000 +0100 +@@ -47,7 +47,7 @@ + # elif defined(__sun__) || defined (__sun) + # define LEASEFILE "/var/cache/dnsmasq.leases" + # else +-# define LEASEFILE "/var/lib/misc/dnsmasq.leases" ++# define LEASEFILE "/var/lib/dnsmasq/dnsmasq.leases" + # endif + #endif + diff --git a/dnsmasq.initscript b/dnsmasq.initscript new file mode 100644 index 0000000..81364f7 --- /dev/null +++ b/dnsmasq.initscript @@ -0,0 +1,77 @@ +#!/bin/sh +# +# Startup script for the DNS caching server +# +# chkconfig: - 49 50 +# description: This script starts your DNS caching server +# processname: dnsmasq +# pidfile: /var/run/dnsmasq.pid + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Check that networking is up. +[ ${NETWORKING} = "no" ] && exit 0 + +dnsmasq=/usr/sbin/dnsmasq +[ -f $dnsmasq ] || exit 0 + +DOMAIN_SUFFIX=`dnsdomainname` +if [ ! -z "${DOMAIN_SUFFIX}" ]; then + OPTIONS="-s $DOMAIN_SUFFIX" +fi + +pidfile=${PIDFILE-/var/run/dnsmasq.pid} +lockfile=${LOCKFILE-/var/lock/subsys/dnsmasq} + + +RETVAL=0 + +# See how we were called. +case "$1" in + start) + echo -n "Starting dnsmasq: " + daemon $dnsmasq $OPTIONS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch ${lockfile} + ;; + stop) + echo -n "Shutting down dnsmasq: " + killproc -p ${pidfile} ${dnsmasq} + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f ${lockfile} ${pidfile} + ;; + status) + status dnsmasq + RETVAL=$? + ;; + reload) + echo -n "Reloading dnsmasq: " + killproc -p ${pidfile} ${dnsmasq} -HUP + RETVAL=$? + echo + ;; + restart) + $0 stop + $0 start + RETVAL=$? + ;; + condrestart) + if test "x`pidfileofproc dnsmasq`" != x; then + $0 stop + $0 start + RETVAL=$? + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|condrestart|status}" + exit 1 +esac + +exit $RETVAL + diff --git a/dnsmasq.spec b/dnsmasq.spec new file mode 100644 index 0000000..5f95d65 --- /dev/null +++ b/dnsmasq.spec @@ -0,0 +1,112 @@ +Name: dnsmasq +Version: 2.70 +Release: 1mamba +Summary: A lightweight DHCP/caching DNS server +Group: System/Servers +Vendor: openmamba +Distribution: openmamba +Packager: Davide Madrisan +URL: http://www.thekelleys.org.uk/dnsmasq/ +Source0: http://www.thekelleys.org.uk/dnsmasq/dnsmasq-%{version}.tar.xz +Source1: dnsmasq.initscript +Patch0: %{name}-2.52-use_var_lib_dnsmasq.patch +Patch1: %{name}-2.52-have_dbus.patch +Patch2: %{name}-2.52-enable_etc_dnsmasq_d.patch +License: GPL +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%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 which are not in the global DNS. +The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. +Dnsmasq supports static and dynamic DHCP leases and BOOTP/TFTP/PXE for network booting of diskless machines. + +%prep +%setup -q +%patch0 -p1 +#%patch1 -p1 +%patch2 -p1 + +%build +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +mkdir -p %{buildroot}%{_sbindir} \ + %{buildroot}%{_mandir}/man8 \ + %{buildroot}%{_var}/lib/dnsmasq \ + %{buildroot}%{_sysconfdir}/dnsmasq.d \ + %{buildroot}%{_sysconfdir}/dbus-1/system.d + +install src/dnsmasq %{buildroot}%{_sbindir}/dnsmasq +install dnsmasq.conf.example %{buildroot}%{_sysconfdir}/dnsmasq.conf +install dbus/dnsmasq.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/ +install -m 644 man/dnsmasq.8 %{buildroot}%{_mandir}/man8/ + +install -D -p -m 755 %{S:1} %{buildroot}%{_initrddir}/dnsmasq + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ "$1" = "2" ]; then + /sbin/service dnsmasq condrestart >/dev/null 2>&1 || : +fi +exit 0 + +%preun +if [ "$1" = "0" ]; then + /sbin/service dnsmasq stop >/dev/null 2>&1 || : + /sbin/chkconfig --del dnsmasq +fi +exit 0 + +%files +%defattr(-,root,root) +%{_sbindir}/dnsmasq +%dir /etc/dnsmasq.d +%{_sysconfdir}/dbus-1/system.d/dnsmasq.conf +%config(noreplace) %attr(644,root,root) %{_sysconfdir}/dnsmasq.conf +%dir %{_var}/lib/dnsmasq +%{_initrddir}/dnsmasq +%{_mandir}/man8/dnsmasq.* +%doc CHANGELOG COPYING FAQ doc.html setup.html dbus/DBus-interface + +%changelog +* Thu Apr 24 2014 Automatic Build System 2.70-1mamba +- automatic version update by autodist + +* Thu Apr 10 2014 Automatic Build System 2.69-1mamba +- automatic version update by autodist + +* Mon Dec 09 2013 Automatic Build System 2.68-1mamba +- automatic version update by autodist + +* Fri Oct 25 2013 Automatic Build System 2.67-1mamba +- automatic version update by autodist + +* Thu Apr 18 2013 Automatic Build System 2.66-1mamba +- automatic version update by autodist + +* Tue Jan 01 2013 Automatic Build System 2.65-1mamba +- automatic version update by autodist + +* Wed Oct 10 2012 Automatic Build System 2.63-1mamba +- update to 2.63 + +* Thu Jun 14 2012 Automatic Build System 2.62-1mamba +- automatic version update by autodist + +* Mon Aug 29 2011 Automatic Build System 2.58-1mamba +- automatic version update by autodist + +* Wed Feb 23 2011 Automatic Build System 2.57-1mamba +- automatic update by autodist + +* Tue Jun 22 2010 Automatic Build System 2.55-1mamba +- automatic update by autodist + +* Fri Mar 26 2010 Davide Madrisan 2.52-1mamba +- package created by autospec