%define mibs_version 0.7 Name: netdisco Version: 0.95 Release: 2%{?dist} Summary: A web-based network management tool License: BSD Group: Applications/Internet URL: http://netdisco.org/ Source0: http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.gz Source1: http://downloads.sourceforge.net/project/%{name}/%{name}-mibs/%{mibs_version}/%{name}-mibs-%{mibs_version}.tar.gz Source2: netdisco.init Source3: netdisco_config BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch Requires: httpd Requires: postgresql postgresql-server Requires: net-snmp net-snmp-perl Requires: mod_perl mod_ssl Requires: graphviz Requires: perl(DBI) Requires: perl(Apache::DBI) Requires: perl(DBD::Pg) Requires: perl(Apache::Session) Requires: perl(HTML::Parser) Requires: perl(HTML::Mason) Requires: perl(MasonX::Request::WithApacheSession) Requires: perl(Graph) Requires: perl(GraphViz) Requires: perl(Compress::Zlib) Requires: perl(Net::NBName) Requires: perl-libapreq2 Requires: perl(SNMP::Info) Requires: perl(Parallel::ForkManager) Requires: perl(Net::LDAP) Requires: perl(Net::SSLeay) Requires: perl(IO::Socket::SSL) Requires(pre): /usr/sbin/useradd %description Netdisco is a network management application targeted at large corporate and university networks. Data is collected into a Postgres database using SNMP and presented with a clean web interface using Mason. Designed for moderate to large networks, configuration information and connection data for network devices are retrieved by SNMP. With Netdisco you can locate the switch port of an end-user system by IP or MAC address. Data is stored using a SQL database for scalability and speed. Layer-2 topology protocols such as CDP (Cisco Discovery Protocol) optionally provides automatic discovery of the network topology. %prep %setup -q -n %{name}-%{version} -a1 /usr/bin/iconv -f iso8859-1 -t utf-8 ChangeLog > ChangeLog.conv && /bin/mv -f ChangeLog.conv ChangeLog %define debug_package %{nil} cp %{SOURCE2} netdisco.init cp %{SOURCE3} netdisco_config # prefix fix find -type f | xargs perl -pi -e "s|/usr/local/netdisco|/usr/share/netdisco|g" # perl path fix find -type f | xargs perl -pi -e "s|/usr/local/bin/perl|/usr/bin/perl|g" # shebang fix find -type f | xargs perl -pi -e "s|#/bin/sh|#!/bin/sh|g" # config file path fix perl -pi -e "s|\"\\\$Dir/netdisco\.conf\"\;|\'%{_sysconfdir}/netdisco\.conf\'\;|" sql/pg %build # make some man pages too :) pod2man netdisco > netdisco.1 pod2man netdisco.pm > netdisco.pm.1 %install rm -rf %{buildroot} install -d %{buildroot}%{_initrddir} install -d %{buildroot}%{_sysconfdir}/httpd/conf.d install -d %{buildroot}%{_sysconfdir}/logrotate.d install -d %{buildroot}%{_sysconfdir}/sysconfig install -d %{buildroot}%{_sbindir} install -d %{buildroot}%{_mandir}/man1 install -d %{buildroot}%_datadir/%{name}/switch install -d %{buildroot}%_datadir/%{name}/data/logs install -d %{buildroot}/var/run/netdisco install -d %{buildroot}%perl_vendorlib install -m0644 netdisco.conf %{buildroot}%{_sysconfdir}/ install -m0644 netdisco_apache.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/ install -m0644 netdisco_apache_dir.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/ install -m0755 netdisco %{buildroot}%{_sbindir}/ install -m0644 netdisco.1 %{buildroot}%{_mandir}/man1/ install -m0644 netdisco.pm.1 %{buildroot}%{_mandir}/man1/ install -m0755 netdisco.init %{buildroot}%{_initrddir}/netdisco install -m0755 netdisco_config %{buildroot}%{_sbindir}/netdisco_config install -m0644 netdisco.pm %{buildroot}/%perl_vendorlib/ %__cp -aRf * %{buildroot}%_datadir/%{name}/ %__mv %{buildroot}%_datadir/%{name}/%{name}-mibs-%{mibs_version} %{buildroot}%_datadir/%{name}/mibs/ %__rm -rf %{buildroot}%_datadir/%{name}/netdisco.conf %__ln_s %{_sysconfdir}/netdisco.conf %{buildroot}%_datadir/%{name}/netdisco.conf %__chmod 0644 %{buildroot}%_datadir/%{name}/mibs/cisco/CISCO-VSAN-MIB.my %pre %__mkdir %_datadir/%{name} /usr/sbin/useradd %{name} -d %_datadir/%{name}/ -s /bin/sh 1>&2 > /dev/null # apache needs to read /etc/netdisco.conf, but it contains a plain # text password to the postgresql netdisco database, so the file # requires stricter file permissions... /usr/bin/gpasswd -a apache netdisco 1>&2 > /dev/null %post if [ "$1" = "0" ]; then /sbin/chkconfig --add %{name} fi %preun if [ "$1" = "0" ]; then /sbin/service netdisco stop > /dev/null 2>&1 /sbin/chkconfig --del %{name} fi %clean %__rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc ChangeLog INSTALL README* UPGRADE %{_initrddir}/netdisco %config(noreplace) %{_sysconfdir}/netdisco.conf %config(noreplace) %{_sysconfdir}/httpd/conf.d/netdisco_apache.conf %config(noreplace) %{_sysconfdir}/httpd/conf.d/netdisco_apache_dir.conf %{_sbindir}/netdisco %{_sbindir}/netdisco_config %dir /var/run/netdisco %perl_vendorlib/netdisco.pm %dir %_datadir/netdisco %_datadir/netdisco/* %{_mandir}/man1/* %changelog * Sun Jul 26 2009 <gouldwp@fedoraproject.org> 0.95-2 - Netdisco network management software. - Changed %%defattr(-,root,root) to %%defattr(-,root,root,-) in files section - Changed /usr/share/ to %%_datadir in the %%files section - Removed patches, substituted with find/perl/xargs replace lines - Removed explicit %%attr lines in %%files