From d928e85c49c7d1e7e85d6da83aa46ae78a8cdc33 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Tue, 15 Aug 2000 15:07:29 +0000 Subject: [PATCH] - release 17 - added chroot package - chown -R named.named /var/lib/named Changed files: bind.spec -> 1.62 --- bind.spec | 310 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 296 insertions(+), 14 deletions(-) diff --git a/bind.spec b/bind.spec index 60bb613..eab08ca 100644 --- a/bind.spec +++ b/bind.spec @@ -5,7 +5,7 @@ Summary(pl): BIND - serwer nazw DNS Summary(tr): DNS alan adý sunucusu Name: bind Version: 8.2.2_P5 -Release: 16 +Release: 17 Copyright: distributable Group: Networking/Daemons Group(pl): Sieciowe/Serwery @@ -16,6 +16,8 @@ Source3: named.init Source4: named.sysconfig Source5: named.logrotate Source6: named.conf +Source7: named-chroot.init +Source8: ftp://ftp.obtuse.com/pub/utils/utils-1.0.tar.gz Patch1: bind-pselect.patch Patch2: bind-fds.patch Patch3: bind-nonlist.patch @@ -27,15 +29,19 @@ Patch8: bind-host-forcetype.patch Patch9: bind-pidfile.patch Patch10: bind-ttl.patch Patch11: ftp://ftp.6bone.pl/pub/ipv6/set-glibc-2.1.new/host_991529+.diff +Patch12: bind-res_randomid.patch +Patch20: utils-holelogd-linux.patch +Patch21: bind-chroot-ndc.patch BuildRequires: flex Prereq: /sbin/chkconfig Requires: rc-scripts >= 0.2.0 Obsoletes: caching-nameserver +Conflicts: %{name}-chroot URL: http://www.isc.org/bind.html BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _datadir %{_prefix}/share/misc %define _sysconfdir /etc +%define _chroot /var/lib/named/chroot %description BIND (Berkeley Internet Name Domain) is an implementation of the DNS @@ -78,6 +84,64 @@ kullan isim sunucusu olarak da kullanýlabilir ama genellikle bütün bir að için sadece bir makina üzerinde kurulur. +%package chroot +Summary: BIND - DNS name server +Summary(de): BIND - DNS-Namenserver +Summary(fr): BIND - serveur de noms DNS +Summary(pl): BIND - serwer nazw DNS +Summary(tr): DNS alan adý sunucusu +Group: Networking/Daemons +Group(pl): Sieciowe/Serwery +Prereq: /sbin/chkconfig +Requires: rc-scripts >= 0.2.0 +Obsoletes: caching-nameserver +Conflicts: %{name} +URL: http://www.isc.org/bind.html + +%description chroot +BIND (Berkeley Internet Name Domain) is an implementation of the DNS +(Domain Name System) protocols. BIND includes a DNS server (named), +which resolves host names to IP addresses, and a resolver library +(routines for applications to use when interfacing with DNS). A DNS +server allows clients to name resources or objects and share the +information with other network machines. The named DNS server can be +used on workstations as a caching name server, but is generally only +needed on one machine for an entire network. Note that the +configuration files for making BIND act as a simple caching nameserver +are included in the caching-nameserver package. + +Install the bind package if you need a DNS server for your network. If +you want bind to act a caching name server, you will also need to +install the caching-nameserver package. + +The bind-chroot package runs the DNS server daemon under the non-root +user and group and in the chroot()ed directory. + +%description -l de chroot +Enthält den Namen-Server, der zum Umwandeln von Host-Namen in +IP-Adressen und umgekehrt verwendet wird. Er kann auf Workstations als +caching Namen-Server verwendet werden, ist aber i.d.R. nur auf einem +Recher des Netzwerks erforderlich. + +%description -l fr chroot +Contient le serveur de noms named, utilisé pour définir les +traductions nom d'hôte vers adresse IP (et vice versa). Il peut être +utilisé sur les stations de travail comme serveur de nom en cache mais +n'est souvent nécessaire que sur une machine pour un réseau entier. + +%description -l pl chroot +Pakiet ten zawiera demona named, który s³u¿y do zmieniania nazw +komputerów na numery IP i odwrotnie. Mo¿e byæ on u¿ywany na stacjach +roboczych jako bufor odwo³añ do serwisu nazw (caching name server), +ale generalnie wystarczy tylko jedna jednostka wyposa¿ona w ten +program na fragment sieci. + +%description -l tr chroot +Bu paket, makina adýný IP numarasýna (ya da tersi) çevirmek için +kullanýlan alan adý sunucusunu içerir. Ýþ istasyonlarýnda bir önbellek +isim sunucusu olarak da kullanýlabilir ama genellikle bütün bir að +için sadece bir makina üzerinde kurulur. + %package utils Summary: DNS utils - host, dig, dnsquery, nslookup Summary(de): DNS-Utils - Host, Dig, Dnsquery, Nslookup @@ -152,7 +216,7 @@ Bind documentations Dokumentacja programu bind %prep -%setup -q -c -n %{name}-%{version} -a 1 -a 2 +%setup -q -c -n %{name}-%{version} -a 1 -a 2 -a 8 %patch1 -p0 %patch2 -p1 @@ -164,6 +228,8 @@ Dokumentacja programu bind %patch8 -p0 %patch9 -p1 %patch10 -p1 +%patch12 -p1 +%patch20 -p1 cd contrib/host %patch11 -p1 @@ -178,20 +244,86 @@ cd src DESTBIN="%{_bindir}" \ DESTSBIN="%{_sbindir}" \ DESTMAN="%{_mandir}" \ - DESTHELP="%{_datadir}" \ + DESTHELP="%{_datadir}/misc" \ DESTETC="%{_sysconfdir}" \ DESTRUN="/var/run" cd .. cd contrib/host %{__make} +# Now build stuff for chroot +cd ../.. +mv src/bin/named/named src/bin/named/named.dynamic +mv src/bin/named-xfer/named-xfer src/bin/named-xfer/named-xfer.dynamic +mv src/bin/ndc/ndc src/bin/ndc/ndc.nonc + +patch -p1 < %{PATCH21} + +eval "make -C src/bin/named named \ + 'DESTDIR=' \ + 'CDEBUG=$RPM_OPT_FLAGS' \ + 'DESTBIN=%{_bindir}' \ + 'DESTSBIN=%{_sbindir}' \ + 'DESTMAN=%{_mandir}' \ + 'DESTHELP=%{_datadir}/misc' \ + 'DESTETC=%{_sysconfdir}' \ + 'DESTRUN=%{_chroot}/var/run' \ + 'LDFLAGS=-static -s' \ + 'SYSTYPE=linux' \ + `sh ./src/port/settings ./src/.settings < ./src/port/linux/Makefile.set` \ + VER=`cat ./src/Version`" + +eval "make -C src/bin/named-xfer named-xfer \ + 'DESTDIR=' \ + 'CDEBUG=$RPM_OPT_FLAGS' \ + 'DESTBIN=%{_bindir}' \ + 'DESTSBIN=%{_sbindir}' \ + 'DESTMAN=%{_mandir}' \ + 'DESTHELP=%{_datadir}/misc' \ + 'DESTETC=%{_sysconfdir}' \ + 'DESTRUN=%{_chroot}/var/run' \ + 'LDFLAGS=-static -s' \ + 'SYSTYPE=linux' \ + `sh ./src/port/settings ./src/.settings < ./src/port/linux/Makefile.set` \ + VER=`cat ./src/Version`" + +eval "make -C src/bin/ndc ndc \ + 'DESTDIR=' \ + 'CDEBUG=$RPM_OPT_FLAGS' \ + 'DESTBIN=%{_bindir}' \ + 'DESTSBIN=%{_sbindir}' \ + 'DESTMAN=%{_mandir}' \ + 'DESTHELP=%{_datadir}/misc' \ + 'DESTETC=%{_sysconfdir}' \ + 'DESTRUN=%{_chroot}/var/run' \ + 'LDFLAGS=-s' \ + 'SYSTYPE=linux' \ + `sh ./src/port/settings ./src/.settings < ./src/port/linux/Makefile.set` \ + VER=`cat ./src/Version`" + +patch -p1 -R < %{PATCH21} + +mv src/bin/named/named src/bin/named/named.static +mv src/bin/named-xfer/named-xfer src/bin/named-xfer/named-xfer.static +mv src/bin/ndc/ndc src/bin/ndc/ndc.chroot + +mv src/bin/named/named.dynamic src/bin/named/named +mv src/bin/named-xfer/named-xfer.dynamic src/bin/named-xfer/named-xfer +mv src/bin/ndc/ndc.nonc src/bin/ndc/ndc + +cd utils-1.0 +gcc -s $RPM_OPT_FLAGS -o holelogd holelogd.c + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_datadir}} \ +install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_datadir}/misc} \ $RPM_BUILD_ROOT/etc/{sysconfig,logrotate.d,rc.d/init.d} \ $RPM_BUILD_ROOT%{_mandir}/man{1,3,5,7,8} +install -d $RPM_BUILD_ROOT%{_chroot}/{%{_sbindir},%{_datadir}/zoneinfo} \ + $RPM_BUILD_ROOT%{_chroot}/{etc,dev,var/{tmp,run,log,lib/named/{M,S}}} + cd src %{__make} install \ DESTDIR="$RPM_BUILD_ROOT" \ @@ -200,13 +332,12 @@ cd src DESTBIN="%{_bindir}" \ DESTSBIN="%{_sbindir}" \ DESTMAN="%{_mandir}" \ - DESTHELP="%{_datadir}" \ + DESTHELP="%{_datadir}/misc" \ DESTETC="%{_sysconfdir}" \ DESTRUN="/var/run" \ INSTALL_LIB=" " \ INSTALL_EXEC=" " -strip $RPM_BUILD_ROOT{%{_sbin}/*,%{_bindir}/*} || : cd .. cd doc/man @@ -230,7 +361,32 @@ install contrib/host/host $RPM_BUILD_ROOT%{_bindir}/host6 cp src/bin/named/named.conf EXAMPLE-CONFIG +# Now chroot install +# This will be log daemon for our jail alone so we can easily start and +# stop it if there are others for other jails. +install utils-1.0/holelogd $RPM_BUILD_ROOT%{_sbindir}/holelogd.named +mv utils-1.0/LICENSE LICENSE.holelogd +mv utils-1.0/README README.holelogd + +install src/bin/named/named.static $RPM_BUILD_ROOT%{_chroot}%{_sbindir}/named +install src/bin/named-xfer/named-xfer.static $RPM_BUILD_ROOT%{_chroot}%{_sbindir}/named-xfer +install src/bin/ndc/ndc.chroot $RPM_BUILD_ROOT%{_sbindir} + +install src/bin/named/test/127.* $RPM_BUILD_ROOT%{_chroot}/var/lib/named/M +install src/bin/named/test/loca* $RPM_BUILD_ROOT%{_chroot}/var/lib/named/M +install src/conf/workstation/root.* $RPM_BUILD_ROOT%{_chroot}/var/lib/named/root.hint +install %{SOURCE6} $RPM_BUILD_ROOT%{_chroot}%{_sysconfdir} + +ln -sf ../../../etc/localtime $RPM_BUILD_ROOT%{_chroot}%{_datadir}/zoneinfo/localtime +ln -sf localtime $RPM_BUILD_ROOT%{_chroot}%{_datadir}/zoneinfo/posixrules +ln -sf localtime $RPM_BUILD_ROOT%{_chroot}%{_datadir}/zoneinfo/posixtime + +touch $RPM_BUILD_ROOT%{_chroot}/etc/{localtime,group} +touch $RPM_BUILD_ROOT%{_chroot}/dev/{log,null} +# ...continue + install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/named +install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/named-chroot install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/named install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/named touch $RPM_BUILD_ROOT/var/log/named @@ -239,8 +395,12 @@ mv $RPM_BUILD_ROOT%{_bindir}/nsupdate $RPM_BUILD_ROOT%{_sbindir} rm -f $RPM_BUILD_ROOT%{_bindir}/mkservdb \ $RPM_BUILD_ROOT%{_mandir}/man5/resolver.5 +strip $RPM_BUILD_ROOT{%{_sbindir}/*,%{_bindir}/*} || : +strip $RPM_BUILD_ROOT%{_chroot}%{_sbindir}/* + gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man[13578]/* \ - src/README src/Version src/CHANGES EXAMPLE-CONFIG + src/README src/Version src/CHANGES EXAMPLE-CONFIG \ + *.holelogd %pre if [ -f /etc/named.boot ]; then @@ -270,9 +430,9 @@ if [ -f /etc/named.boot.2conf ]; then rm /etc/named.boot.2conf fi -umask 137 +umask 117 /bin/touch /var/log/named -chown root.named /var/log/named +chown named.named /var/log/named %preun if [ "$1" = "0" ]; then @@ -289,8 +449,67 @@ if [ "$1" = "0" ]; then %{_bindir}/update-db fi +%pre chroot +if [ -f /etc/named.boot ]; then + cp /etc/named.boot /etc/named.boot.2conf + mv -f /etc/named.boot /etc/named.rpmsave + echo "Warrnig: /etc/named.boot saved as /etc/named.rpmsave" 1>&2 +fi +if ! id -g named > /dev/null 2>&1 ; then + %{_sbindir}/groupadd -g 58 named +fi +if ! id -u named > /dev/null 2>&1 ; then + %{_sbindir}/useradd -u 58 -g 58 -d /dev/null -s /bin/false -c "BIND user" named +fi +%{_bindir}/update-db + +%post chroot +ln -sf named-chroot /etc/rc.d/init.d/named +/sbin/chkconfig --add named + +if [ -f /var/lock/subsys/named ]; then + /etc/rc.d/init.d/named restart 1>&2 +else + echo "Type \"/etc/rc.d/init.d/named start\" to start named" 1>&2 +fi + +if [ -f /etc/named.boot.2conf ]; then + /usr/sbin/named-bootconf %{_chroot}/etc/named.conf + rm /etc/named.boot.2conf +fi + +mknod -m a+rw %{_chroot}/dev/null c 1 3 +cp -rf /etc/localtime %{_chroot}/etc/localtime +grep "^named:" /etc/group > %{_chroot}/etc/group +ln -sf %{_chroot}/etc/named.conf /etc/named.conf + +cd /var/lib/named +ln -s chroot/var/lib/named/* . + +umask 117 +/bin/touch /var/log/named +chown named.named /var/log/named + +%preun chroot +if [ "$1" = "0" ]; then + for i in /var/lib/named/{M,S,root.hint}; do + [ -L $i ] && rm -f $i + done + if [ -f /var/lock/subsys/named ]; then + /etc/rc.d/init.d/named stop 1>&2 + fi + /sbin/chkconfig --del named +fi + +%postun chroot +if [ "$1" = "0" ]; then + %{_sbindir}/userdel named + %{_sbindir}/groupdel named + %{_bindir}/update-db +fi + %clean -rm -rf $RPM_BUILD_ROOT +#rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) @@ -301,7 +520,11 @@ rm -rf $RPM_BUILD_ROOT %attr(640,root,named) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/named.conf %attr(640,root,root) %config %verify(not size mtime md5) /etc/logrotate.d/named -%attr(755,root,root) %{_sbindir}/* +%attr(755,root,root) %{_sbindir}/dnskeygen +%attr(755,root,root) %{_sbindir}/irpd +%attr(755,root,root) %{_sbindir}/named* +%attr(755,root,root) %{_sbindir}/ndc +%attr(755,root,root) %{_sbindir}/nsupdate %{_mandir}/man8/named.8* %{_mandir}/man8/ndc.8* @@ -320,13 +543,72 @@ rm -rf $RPM_BUILD_ROOT /var/lib/named/M/* /var/lib/named/root.* -%attr(660,root,named) %ghost /var/log/named +%attr(660,named,named) %ghost /var/log/named + +%files chroot +%defattr(644,root,root,755) +%doc {src/README,src/Version,src/CHANGES,EXAMPLE-CONFIG}.gz +%doc *.holelogd.gz + +%ghost %attr(754,root,root) /etc/rc.d/init.d/named +%attr(754,root,root) /etc/rc.d/init.d/named-chroot +%attr(640,root,root) %config %verify(not size mtime md5) /etc/logrotate.d/named +%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/named +%attr(640,root,root) %ghost %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/named.conf +%attr(640,root,named) %config(noreplace) %verify(not size mtime md5) %{_chroot}/etc/named.conf + +%attr(755,root,root) %{_sbindir}/dnskeygen +%attr(755,root,root) %{_sbindir}/holelogd.named +%attr(755,root,root) %{_sbindir}/irpd +%attr(755,root,root) %{_sbindir}/named-bootconf +%attr(755,root,root) %{_sbindir}/ndc.chroot +%attr(755,root,root) %{_sbindir}/nsupdate + +%{_mandir}/man8/named.8* +%{_mandir}/man8/ndc.8* +%{_mandir}/man8/named-xfer.8* +%{_mandir}/man8/named-bootconf.8* +%{_mandir}/man7/hostname.7* +%{_mandir}/man5/irs.conf.5* +%{_mandir}/man5/named.conf.5* +%{_mandir}/man1/dnskeygen.1* +%{_mandir}/man8/nsupdate.8* + +%attr(660,named,named) %ghost /var/log/named + +%attr(770,named,named) %dir /var/lib/named +%attr(770,named,named) %dir %{_chroot} +%attr(770,named,named) %dir %{_chroot}/etc +%attr(770,named,named) %dir %{_chroot}/dev +%attr(770,named,named) %dir %{_chroot}/usr +%attr(770,named,named) %dir %{_chroot}/usr/sbin +%attr(770,named,named) %dir %{_chroot}/usr/share +%attr(770,named,named) %dir %{_chroot}/usr/share/zoneinfo +%attr(770,named,named) %dir %{_chroot}/var +%attr(770,named,named) %dir %{_chroot}/var/lib +%attr(770,named,named) %dir %{_chroot}/var/lib/named +%attr(770,named,named) %dir %{_chroot}/var/lib/named/M +%attr(770,named,named) %dir %{_chroot}/var/lib/named/S +%attr(770,named,named) %dir %{_chroot}/var/run +%attr(770,named,named) %dir %{_chroot}/var/tmp + +%attr(660,named,named) %{_chroot}/var/lib/named/M/* +%attr(660,named,named) %{_chroot}/var/lib/named/root.* + +%attr(775,named,named) %dir %{_chroot}/usr/sbin/* +%attr(644,named,named) %dir %{_chroot}/usr/share/zoneinfo/* + +%ghost %verify(not md5 size mtime) %{_chroot}/etc/group +%ghost %verify(not md5 size mtime) %{_chroot}/etc/localtime + +%attr(10666,root,root) %ghost %{_chroot}/dev/log +%attr(20666,root,root) %ghost %{_chroot}/dev/null %files utils %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/* -%{_datadir}/nslookup.help +%{_datadir}/misc/nslookup.help %{_mandir}/man1/dig.1* %{_mandir}/man1/host.1* -- 2.44.0