summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redhat/quagga.spec.in44
1 files changed, 34 insertions, 10 deletions
diff --git a/redhat/quagga.spec.in b/redhat/quagga.spec.in
index bb0a1d02..b3350408 100644
--- a/redhat/quagga.spec.in
+++ b/redhat/quagga.spec.in
@@ -16,6 +16,7 @@
%{!?with_ospfclient: %define with_ospfclient 1 }
%{!?with_ospfapi: %define with_ospfapi 1 }
%{!?with_irdp: %define with_irdp 1 }
+%{!?with_rtadv: %define with_rtadv 1 }
%{!?with_isisd: %define with_isisd 1 }
%{!?with_shared: %define with_shared 1 }
%{!?with_multipath: %define with_multipath 64 }
@@ -70,12 +71,12 @@ Prereq: net-snmp
%endif
%if %{with_vtysh}
BuildRequires: readline readline-devel ncurses ncurses-devel
-Prereq: readline ncurses
+Prereq: ncurses
%endif
-BuildRequires: texinfo tetex autoconf pam-devel patch libcap-devel
+BuildRequires: texinfo tetex autoconf pam-devel patch libcap-devel texi2html
# Initscripts > 5.60 is required for IPv6 support
Prereq: initscripts >= 5.60
-Prereq: ncurses readline pam
+Prereq: ncurses pam
Prereq: /sbin/install-info
Provides: routingdaemon
BuildRoot: %{_tmppath}/%{name}-%{version}-root
@@ -167,6 +168,11 @@ developing OSPF-API and quagga applications.
%else
--enable-irdp=no \
%endif
+%if %{with_rtadv}
+ --enable-rtadv=yes \
+%else
+ --enable-rtadv=no \
+%endif
%if %{with_isisd}
--enable-isisd \
%else
@@ -187,7 +193,7 @@ developing OSPF-API and quagga applications.
make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
pushd doc
-makeinfo --no-split --html -o quagga.html quagga.texi
+texi2html -glossary -number quagga.texi
popd
%install
@@ -220,14 +226,21 @@ install -d -m750 $RPM_BUILD_ROOT/var/run/quagga
%pre
# add vty_group
%if %vty_group
-groupadd -r %vty_group 2> /dev/null || :
+if getent group %vty_group > /dev/null ; then : ; else \
+ /usr/sbin/groupadd -r %vty_group > /dev/null || : ; fi
%endif
+
# add quagga user and group
%if %quagga_user
-/usr/sbin/groupadd -g %quagga_gid quagga 2> /dev/null || :
-/usr/sbin/useradd -u %quagga_uid -g %quagga_gid \
- -M -r -s /sbin/nologin -c "Quagga routing suite" \
- -d %_localstatedir %quagga_user 2> /dev/null || :
+# Ensure that quagga_gid gets correctly allocated
+if getent group %quagga_user >/dev/null; then : ; else \
+ /usr/sbin/groupadd -g %quagga_gid %quagga_user > /dev/null || : ; \
+fi
+if getent passwd %quagga_user >/dev/null ; then : ; else \
+ /usr/sbin/useradd -u %quagga_uid -g %quagga_gid \
+ -M -r -s /sbin/nologin -c "Quagga routing suite" \
+ -d %_localstatedir %quagga_user 2> /dev/null || : ; \
+fi
%endif
%post
@@ -270,6 +283,9 @@ done
# Create dummy files if they don't exist so basic functions can be used.
if [ ! -e %{_sysconfdir}/zebra.conf ]; then
echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
+%if %{quagga_user}
+ chown %quagga_user:%quagga_user %{_sysconfdir}/zebra.conf
+%endif
chmod 640 %{_sysconfdir}/zebra.conf
fi
if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
@@ -315,6 +331,7 @@ if [ "$1" -ge 1 ]; then
[ "$running_watchquagga" = yes ] && \
/etc/rc.d/init.d/watchquagga start >/dev/null 2>&1 || :
fi
+/sbin/install-info --delete %{_infodir}/quagga.info.gz %{_infodir}/dir
%preun
if [ "$1" = "0" ]; then
@@ -365,6 +382,7 @@ rm -rf $RPM_BUILD_ROOT
%endif
%dir %attr(755,root,root) %{_libdir}
%if %{with_shared}
+%dir %{_libdir}
%{_libdir}/lib*.so
%{_libdir}/lib*.so.*
%endif
@@ -398,7 +416,13 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
-%changelog
+* Thu Sep 12 2005 Paul Jakma <paul@dishone.st>
+- Steal some changes from Fedora spec file:
+- Add with_rtadv variable
+- Test for groups/users with getent before group/user adding
+- Readline need not be an explicit prerequisite
+- install-info delete should be postun, not preun
+
* Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
- on package upgrade, implement careful, phased restart logic
- use gcc -rdynamic flag when linking for better backtraces