Summary: Nessus security scanner
Summary(ja): Nessus セキュリティ スキャナー
Name: nessus
Version: 1.0.10
Release: 0vl1
License: GPL
Group: Networking/Daemons
URL: http://www.nessus.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Source1: ftp://ftp.nessus.org/pub/nessus/nessus-%{version}/nessus-libraries-%{version}.tar.gz
Source2: ftp://ftp.nessus.org/pub/nessus/nessus-%{version}/libnasl-%{version}.tar.gz
Source3: ftp://ftp.nessus.org/pub/nessus/nessus-%{version}/nessus-core-%{version}.tar.gz
Source4: ftp://ftp.nessus.org/pub/nessus/nessus-%{version}/nessus-plugins-%{version}.tar.gz
Source5: nessusd.init
Source6: nessusd.users
Source7: nessusd.rules
Source8: nessusd.conf
Source9: faq.html
Source10: plugins_api.txt
Source11: nsr.dtd
Source12: all.tar.gz

Requires: gmp >= 2.0.2
Requires: zlib >= 1.1.3

BuildRequires: bison
BuildRequires: flex
BuildRequires: nmap

%description
Nessus is a free, up-to-date, and full featured remote security scanner for
Linux. It is multithreaded, plugin-based, has a nice GTK interface, and
currently performs 510 remote security checks. It has powerful reporting
capabilities (HTML, LaTeX, ASCII text) and not only points out problems,
but suggests a solution for each of them.

%description -l ja
Nessus は最新のあらゆる機能を搭載したフリーのリモートセキュリティスキャナー
です。マルチスレッドで動作し、プラグインにて機能を付加でき、GTK による
素敵なインターフェイスを持ち、現在 510 種類のセキュリティ検査をリモート
にて行うことができます。検査結果は様々な形式(HTML, LaTeX, ASCII テキスト)
で出力でき、問題点を指摘するだけでなく個々の問題点への対処法もアドバイス
してくれます。

内部で Nmap を用いてポートスキャンを行うこともできますので、Nmap も同時に
インストールすることをお勧めします。

%package devel
Summary: Developement librairies and headers for Nessus.
Summary(ja): Nessus 用の開発ライブラリとヘッダ
Group: Development/Libraries

%description devel
Developement libraries and headers for Nessus.

%description devel -l ja
Nessus 用の開発ライブラリとヘッダ


%package client
Summary: Nessus Gtk+ client.
Summary(ja): Nessus の Gtk+ クライアント
Group: System Environment/Base
BuildRequires: gtk+-devel

%description client
Nessus Gtk+ client.

%description client -l ja
Nessus の Gtk+ クライアント

%package plugins
Summary: Nessus plugins.
Summary(ja): Nessus のプラグイン
Group: Networking/Daemons
Requires: %{name}

%description plugins
Nessus plugins.

%description plugins -l ja
Nessus のプラグイン

%prep
#%setup -q
#%setup -c -T
%setup -q -T -D -a 1 -a 2 -a 3 -a 4

# %patch
perl -pi -e 's/^installuser=.*/installuser='`whoami`'/' nessus-core/nessus.tmpl.in
cp %{SOURCE9} %{SOURCE10} %{SOURCE11} .
cd nessus-plugins/scripts
tar xzf %{SOURCE12}
cd ../..

%build
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_prefix}/{bin,lib/nessus/reports}
mkdir -p %{buildroot}/etc/{nessus,rc.d/init.d}
mkdir -p %{buildroot}/var/log/nessus

# Build and install nessus libraries
(cd nessus-libraries; \
 CFLAGS="$RPM_OPT_FLAGS" ac_cv_prog_cc_g=no ac_cv_prog_cxx_g=no \
 ./configure --prefix=%{_prefix}; \
 perl -pi -e 's/-o root / /g; s/-o \$\(installuser\) / /g; y/{}/()/' Makefile; \
 make && make install prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir})
perl -pi -e 's|^PREFIX=.*|PREFIX='%{buildroot}%{_prefix}'|' %{buildroot}%{_prefix}/bin/nessus-config

# Build and install nasl
(cd libnasl; \
 PATH="%{buildroot}%{_prefix}/bin:$PATH" \
 CFLAGS="$RPM_OPT_FLAGS" \
 LD_LIBRARY_PATH="%{buildroot}%{_prefix}/lib:$LD_LIBRARY_PATH" \
 ac_cv_prog_cc_g=no ac_cv_prog_cxx_g=no ./configure --prefix=%{_prefix}; \
 perl -pi -e 's/-o root / /g; s/-o \$\(installuser\) / /g; y/{}/()/' Makefile; \
 make && make install prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir})
perl -pi -e 's|^PREFIX=.*|PREFIX='%{buildroot}%{_prefix}'|' %{buildroot}%{_prefix}/bin/nasl-config

# Build and install nessus-core
(cd nessus-core; \
 perl -pi -e 's|^NESSUSD_CONFDIR=.*|NESSUSD_CONFDIR=/etc/|;
              s|^NESSUSD_STATEDIR=.*|NESSUSD_STATEDIR=/var/log/nessus|;
              s|^NESSUSD_DATADIR=.*|NESSUSD_DATADIR=/etc/nessus|;' ./configure;\
 PATH="%{buildroot}%{_prefix}/bin:$PATH" \
 CFLAGS="$RPM_OPT_FLAGS" \
 LD_LIBRARY_PATH="%{buildroot}%{_prefix}/lib:$LD_LIBRARY_PATH" \
 ac_cv_prog_cc_g=no ac_cv_prog_cxx_g=no \
 ./configure --prefix=%{_prefix} --sysconfdir=/etc \
 --localstatedir=/var/log --datadir=/etc \
 --enable-release --enable-pthreads --enable-cipher \
 --includedir=%{buildroot}%{_prefix}/include; \
 perl -pi -e 's/-o root / /g; s/-o \$\(installuser\) / /g; y/{}/()/' Makefile; \
 make && make install prefix=%{buildroot}%{_prefix} \
 mandir=%{buildroot}%{_mandir} \
 sysconfdir=%{buildroot}/etc localstatedir=%{buildroot}/var/log \
 datadir=%{buildroot}/etc \
 NESSUSD_CONFDIR=%{buildroot}/etc/ \
 NESSUSD_STATEDIR=%{buildroot}/var/log/nessus \
 NESSUSD_DATADIR=%{buildroot}/etc/nessus)

# Build and install nessus-plugins
(cd nessus-plugins; \
 PATH="%{buildroot}%{_prefix}/bin:$PATH" \
 CFLAGS="$RPM_OPT_FLAGS" \
 LD_LIBRARY_PATH="%{buildroot}/%{_prefix}/lib:$LD_LIBRARY_PATH" \
 ac_cv_prog_cc_g=no ac_cv_prog_cxx_g=no \
 ./configure --prefix=%{_prefix}; \
 perl -pi -e 's/-o root / /g; s/-o \$\(installuser\) / /g; y/{}/()/' Makefile; \
 make && make install prefix=%{buildroot}%{_prefix} \
 mandir=%{buildroot}%{_mandir} \
 sysconfdir=%{buildroot}/etc libdir=%{buildroot}%{_prefix}/lib \
 localstatedir=%{buildroot}/var/log datadir=%{buildroot}/etc)

%install
# Main Install already done in build
# for dir in nessus-libraries libnasl nessus-core nessus-plugins; do
# (cd $dir; make install prefix=%{buildroot}/%{_prefix} \
#  sysconfdir=%{buildroot}/etc/nessus localstatedir=%{buildroot}/var \
#  datadir=%{buildroot}/etc)
# done
install -m 755 %{SOURCE5} %{buildroot}/etc/rc.d/init.d/nessusd
install %{SOURCE6} %{SOURCE7} %{SOURCE8} %{buildroot}/etc/nessus/
#install %{SOURCE14} %{buildroot}%{_prefix}/lib/nessus/plugins/
#install %{SOURCE15} %{buildroot}%{_prefix}/lib/nessus/plugins/
#install %{SOURCE16} %{buildroot}%{_prefix}/lib/nessus/plugins/
install -m 755 nessus-plugins/nessus-update-plugins %{buildroot}%{_prefix}/sbin/
install -m 644 nessus-plugins/docs/nessus-update-plugins.8 %{buildroot}%{_mandir}/man8/

# clean-up man files
for i in %{_mandir}/man8/nessusd.8; do
        perl -pi -e 's|'%{buildroot}/etc/nessusd.conf'|/etc/nessus/nessusd.conf|g' %{buildroot}/$i
done
 
# Correct paths in devel stuff
perl -pi -e 's|^PREFIX=.*|PREFIX='%{_prefix}'|' \
 %{buildroot}%{_prefix}/bin/*-config \

%clean
rm -rf %{buildroot}

%post
#set -x
perl -pi -e 's|\@RPM_INSTALL_PREFIX\@|'${RPM_INSTALL_PREFIX}'|' \
 /etc/rc.d/init.d/nessusd /etc/nessus/nessusd.conf

if [ $1 = 1 ]; then
	chkconfig --add nessusd
	/etc/rc.d/init.d/nessusd start
else
	/etc/rc.d/init.d/nessusd restart
fi
#set +x


%preun
#set -x
if [ $1 = 0 ]; then
	/etc/rc.d/init.d/nessusd stop
	chkconfig --del nessusd
fi
#set +x


%files
%defattr(0644,root,root,0755)
%doc faq.html
%attr(0755,root,root) %{_prefix}/lib/*.so*
%attr(0755,root,root) %{_prefix}/sbin/*
%dir /etc/nessus
%attr(0600,root,root) %config /etc/nessus/accounts.txt
%attr(0600,root,root) %config /etc/nessus/nessusd.conf
%attr(0600,root,root) %config(noreplace) /etc/nessus/nessusd.rules
%attr(0600,root,root) %config(noreplace) /etc/nessus/nessusd.users
%attr(0600,root,root) %config /etc/nessus/queso.conf
%dir /var/log/nessus
%attr(0755,root,root) /etc/rc.d/init.d/nessusd
%{_mandir}/man8/*

%files devel
%defattr(0644,root,root,755)
%doc plugins_api.txt
%doc nsr.dtd
%{_prefix}/include/*
%{_prefix}/lib/*.*a
%attr(0755,root,root) %{_prefix}/bin/nessus-config
%attr(0755,root,root) %{_prefix}/bin/nasl-config

%files client
%defattr(0644,root,root,755)
%doc faq.html
%attr(0755,root,root) %{_prefix}/bin/nessus
%attr(0755,root,root) %{_prefix}/lib/libnessus.so*
%{_mandir}/man1/*
%dir %{_prefix}/lib/nessus/reports

%files plugins
%defattr(0644,root,root,0755)
%{_prefix}/lib/nessus/plugins/*

%changelog
* Tue Jan 08 2002 Toru Sagami <sagami@vinelinux.org> 1.0.10-0vl1
- update to current stable release
- s/$RPM_BUILD_ROOT/%%{buildroot}/, s/%{prefix}/%{_prefix}
- install manpage(s) into %%{_mandir}

* Thu Dec 28 2000 KAJIKI Yoshihiro <kajiki@ylug.org> [1.0.6-0vl2]
- add nessus-update-plugins script and it's man page
- add current plugins

* Tue Nov 28 2000 KAJIKI Yoshihiro <kajiki@ylug.org> [1.0.6-0vl1]
- update to 1.0.6 with current plugins

* Wed Oct 11 2000 Yoshihiro Kajiki <kajiki@ylug.org> [0vl2]
- remove nessus-devel from BuildRequires
- update plugins
- build on Vine Linux 2.1beta

* Thu Sep 21 2000 Yoshihiro Kajiki <kajiki@ylug.org> [0vl1]
- rebuild for VineSeed based on the original site's srpm
- added Japanese summary and description
- modify spec file to install nsr.dtd correctly

* Sun Sep 17 2000 Renaud Deraison <deraison@nessus.org>

- nessus 1.0.5


* Wed Aug 1 2000 Renaud Deraison <deraison@nessus.org>

- nessus 1.0.4

* Sat Jul 8 2000 Renaud Deraison <deraison@nessus.org>

- nessus 1.0.3 already


* Fri Jul 7 2000 Renaud Deraison <deraison@nessus.org>

- nessus 1.0.2 - 2

* Wed Jul 5 2000 Renaud Deraison <deraison@nessus.org>
- nessus 1.0.2

* Mon Jun 26 2000 Henri Gomez <hgomez@slib.fr>
- nessus 1.0.1

* Fri Apr 21 2000 Klaus Knopper <knopper@linuxtag.de>
- User-buildable RPM for 1.0.0pre2

* Sun Apr 16 2000 Renaud Deraison <deraison@cvs.nessus.org>
- nessus 1.0.0pre2

* Mon Apr 10 2000 Renaud Deraison <deraison@cvs.nessus.org>
- nessus 1.0.0pre1

* Thu Mar 30 2000 Renaud Deraison <deraison@cvs.nessus.org>
- fixed sysconfdir weirdnesses
- nessus 0.99.10

* Wed Mar 22 2000 Renaud Deraison <deraison@cvs.nessus.org>
- no patch to nessus-plugins
- nessus 0.99.9

* Mon Mar 20 2000 Renaud Deraison <deraison@cvs.nessus.org>
- nessus 0.99.8.1

* Sun Mar 19 2000 Renaud Deraison <deraison@cvs.nessus.org>
- gmp not needed
- removed the nasl_guide* files
- nessus 0.99.8

* Mon Feb 28 2000 Renaud Deraison <deraison@cvs.nessus.org>
- patch to nessus-core

* Sun Feb 27 2000 Renaud Deraison <deraison@cvs.nessus.org>
- nessus 0.99.6

* Fri Feb 18 2000 Henri Gomez <gomez@slib.fr>
- nessus 0.99.5-1 R2
- patch nessus-libraries

* Thu Feb 17 2000 Henri Gomez <gomez@slib.fr>
- nessus 0.99.5-1
- multiples corrections of 0.99.5

* Tue Feb 15 2000 Henri Gomez <gomez@slib.fr>
- nessus 0.99.5
- /etc/nessusd/nessusd.conf change from 0.99.4 to 0.99.5

* Fri Jan 14 2000 Henri Gomez <gomez@slib.fr>
- nessus 0.99.4
- the nessusd.rules (in /etc/nessus) is in accept by default now.

* Wed Jan  4 2000 Henri Gomez <gomez@slib.fr>
- nessus 0.99.3
 
* Tue Dec 28 1999 Henri Gomez <gomez@slib.fr>
- nessus 0.99.2
- rework of RPM, reuse of crypto channels
- update faq/nasl files to latest versions from nessus.org
- nessus server init script (/etc/rc.d/init.d) renamed to nessusd
- prompt at install for creating initial account
  
* Wed Nov 3 1999 Henri Gomez <gomez@slib.fr>
- nessus 0.9.4
- added post 0.9.4 scripts (an_httpd_cgis, hotsync, rfpoison)
- changed nessusd.rules and nessusd.users to reflect format changes 

* Wed Oct 6 1999 Gomez Henri <gomez@slib.fr>
- nessus 0.9.3
- added mediahouse_statistics_server.nasl

* Wed Sep 22 1999 Ronan-Yan Lorin <ronan-yann.lorin@libertysurf.fr>
- nessus 0.9.2
- initial release
