%define mainname nessus %define name %{mainname} %define version 2.2.3 %define release 2mdk Name: %{name} Summary: Nessus security scanner Version: %{version} Release: %{release} License: GPL Group: System/Servers URL: http://www.nessus.org Source0: http://ftp.nessus.org/nessus/nessus-%{version}/src/nessus-core-%{version}.tar.bz2 Source5: nessusd.init.bz2 Source6: nessusd.users.bz2 Source7: nessusd.rules.bz2 Source8: nessusd.conf.bz2 Source9: nessus_org.pem.20040721 Source10: nessus-16.png Source11: nessus-32.png Source12: nessus-48.png Patch0: nessus-core-2.0.6a.mkcert.patch.bz2 Patch1: nessus-core-2.0.9.mkcert-client.patch.bz2 Requires: nmap lynx tar gzip BuildRequires: bison BuildRequires: flex BuildRequires: gtk+-devel BuildRequires: openssl-devel BuildRequires: libnasl-devel = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot PreReq: rpm-helper PreReq: openssl %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 410 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. %package client Group: Monitoring Summary: Nessus GTK+ client %description client Nessus Gtk+ client. %package devel Group: Monitoring Summary: Development headers for nessus %description devel Development headers for nessus to compile plugins. %prep %setup -q -n nessus-core %patch0 -p1 -b .mkcert %patch1 -p1 -b .mkcert-client perl -pi -e 's/^installuser=.*/installuser='`whoami`'/' nessus-core/nessus.tmpl.in %build %configure \ --datadir=%{_sysconfdir}/nessus --localstatedir=%{_var}/lib \ --sharedstatedir=%{_sysconfdir} \ --disable-gtk \ --enable-release \ --enable-pthreads \ --enable-cipher perl -pi -e 's/-o root / /g; s/-o \$\(installuser\) / /g; y/{}/()/' Makefile %make cp nessus/nessus nessus-text make distclean %configure \ --datadir=%{_sysconfdir}/nessus --localstatedir=%{_var}/lib \ --sharedstatedir=%{_sysconfdir} \ --enable-release --enable-pthreads --enable-cipher perl -pi -e 's/-o root / /g; s/-o \$\(installuser\) / /g; y/{}/()/' Makefile %make %install if [ -d %buildroot ]; then rm -rf %buildroot; fi %makeinstall_std install -m 755 nessus-text %buildroot%{_bindir} mkdir -p %buildroot%{_initrddir} bzip2 -cd %{SOURCE5} > %buildroot%{_initrddir}/nessusd for file in %{SOURCE6} %{SOURCE7} %{SOURCE8} ; do bzip2 -cd $file > %buildroot%{_sysconfdir}/nessus/$(basename $file .bz2) done mkdir -p %buildroot{%{_sysconfdir}/nessus/ssl,%{_sysconfdir}/nessus/CA} mkdir -p %buildroot%{_var}/log/nessus # install nessus.org certificate cp %{SOURCE9} %buildroot%{_sysconfdir}/nessus/ssl/nessus_org.pem # clean-up man files for i in %{_mandir}/man8/nessusd.8; do perl -pi -e 's|'%buildroot%{_sysconfdir}/nessusd.conf'|%{_sysconfdir}/nessus/nessusd.conf|g' %buildroot/$i done # remove unwanted files rm -rf %buildroot/%_libdir/%name/plugins_factory # conflicts with nessus-libraries-devel rm -rf %buildroot/%_includedir/%name/includes.h # Add menu entry for client mkdir -p %buildroot%{_menudir} cat > %buildroot%{_menudir}/%{mainname}-client << EOF ?package(%{mainname}-client): \ command="%{_bindir}/nessus" \ title="Nessus" \ longtitle="Nessus Security Scanner" \ section="Applications/Monitoring" \ icon="nessus.png" \ needs="X11" EOF # Install icons mkdir -p %buildroot{%{_miconsdir},%{_iconsdir},%{_liconsdir}} install -m644 %{SOURCE10} %buildroot%{_miconsdir}/nessus.png install -m644 %{SOURCE11} %buildroot%{_iconsdir}/nessus.png install -m644 %{SOURCE12} %buildroot%{_liconsdir}/nessus.png %post # Create a self-signed server key and certificate NESPUB=%{_sysconfdir}/nessus/ssl NESPRV=%{_sysconfdir}/nessus/CA if [ ! -e $NESPUB/cacert.pem -a ! -e $NESPUB/servercert.pem -a ! -e $NESPRV/cakey.pem -a ! -e $NESPRV/serverkey.pem ]; then echo "Generating nessud server certificate" yes ""| %{_sbindir}/nessus-mkcert >/dev/null 2>/dev/null fi %_post_service nessusd %preun %_preun_service nessusd %post client %{update_menus} %postun client %{clean_menus} %clean if [ -d %buildroot ]; then rm -rf %buildroot; fi %files %defattr(0644,root,root,0755) %doc CHANGES INSTALL doc/TODO.txt %attr(0755,root,root) %{_sbindir}/nessusd %attr(0755,root,root) %{_sbindir}/nessus-adduser %attr(0755,root,root) %{_sbindir}/nessus-check-signature %attr(0755,root,root) %{_sbindir}/nessus-mkcert %attr(0755,root,root) %{_sbindir}/nessus-rmuser %dir %{_sysconfdir}/nessus #%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nessus/accounts.txt %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nessus/nessusd.conf %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nessus/nessusd.rules %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nessus/nessusd.users #%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nessus/queso.conf %attr(0700,root,root) %dir %{_sysconfdir}/nessus/CA %attr(0755,root,root) %dir %{_sysconfdir}/nessus/ssl %{_sysconfdir}/nessus/ssl/nessus_org.pem %dir %{_var}/log/nessus %dir %{_var}/lib/nessus %dir %{_var}/lib/nessus/users %attr(0755,root,root) %config(noreplace) %{_initrddir}/nessusd %{_mandir}/man8/* %files client %defattr(0644,root,root,755) %attr(0755,root,root) %{_bindir}/nessus* %doc %{_mandir}/man1/* #%dir %{_libdir}/nessus/reports %{_menudir}/* %{_miconsdir}/*png %{_iconsdir}/*png %{_liconsdir}/*png %files devel %defattr(0644,root,root,755) %{_includedir}/nessus/* %changelog * Mon Mar 07 2005 Marcel Pol <mpol@mandrake.org> 2.2.3-2mdk - add nessus_org.pem from libnasl package * Fri Feb 11 2005 Lenny Cartier <lenny@mandrakesoft.com> 2.2.3-1mdk - 2.2.3 * Fri Jan 7 2005 Stefan van der Eijk <stefan@mandrake.org> 2.2.2a-1mdk - New release 2.2.2a * Wed Aug 18 2004 Michael Scherer <misc@mandrake.org> 2.0.12-1mdk - 2.0.12 - rpmbuildupdate aware * Sat Feb 21 2004 Giuseppe Ghibò <ghibo@mandrakesoft.com> 2.0.10a-1mdk - Release: 2.0.10a. - Added nessus text version only too. * Sun Jan 11 2004 Marcel Pol <mpol@mandrake.org> 2.0.9-3mdk - revert last change, NESSUSD_CONFDIR is already set correct (#6800) - perl substitutes for configure and %%post not needed anymore - no need to link against %%buildroot anymore - add users dir - prerequires openssl - update patch0: seperate certificates (ssl dir) from keys (CA dir) - patch1: also patch clientscript - no need for manual doc install - use %%makeinstall_std * Sun Jan 04 2004 Marcel Pol <mpol@mandrake.org> 2.0.9-2mdk - sysconfdir=%%_sysconfdir/nessus * Thu Nov 06 2003 Lenny Cartier <lenny@mandrakesoft.com> 2.0.9-1mdk - 2.0.9 * Fri Sep 12 2003 Marcel Pol <mpol@gmx.net> 2.0.7-2mdk - add /var/log/nessus dir (from stefan@eijk.nu * Wed Jul 23 2003 Marcel Pol <mpol@gmx.net> 2.0.7-1mdk - 2.0.7 - this package only contains nessus-core now - rediff patch0 - bunzip icons * Wed Dec 18 2002 Lenny Cartier <lenny@mandrakesoft.com> 1.2.7-1mdk - 1.2.7 * Tue Oct 8 2002 Stefan van der Eijk <stefan@eijk.nu> 1.2.6-1mdk - 1.2.6 - removed README_LINUX (doesn't exist anymore) * Wed Sep 11 2002 Arnaud Desmons <adesmons@mandrakesoft.com> 1.2.5-3mdk - Requires nessus-plugins * Wed Sep 11 2002 Arnaud Desmons <adesmons@mandrakesoft.com> 1.2.5-2mdk - 1.2.5 * Tue Sep 10 2002 Arnaud Desmons <adesmons@mandrakesoft.com> 1.2.5-1mdk - 1.2.5 * Thu Jul 25 2002 Lenny Cartier <lenny@mandrakesoft.com> 1.2.3-1mdk - 1.2.3 * Tue Jun 18 2002 Stefan van der Eijk <stefan@eijk.nu> 1.2.0-2mdk - BuildRequires * Fri Apr 19 2002 Lenny Cartier <lenny@mandrakesoft.com> 1.2.0-1mdk - 1.2.0 * Thu Feb 28 2002 Lenny Cartier <lenny@mandrakesoft.com> 1.1.13-1mdk - 1.1.13 - xpm2png * Tue Jan 22 2002 Laurent Culioli <laurent@mandrakesoft.com> 1.1.11-1mdk - 1.1.11 * Sat Jan 19 2002 Lenny Cartier <lenny@mandrakesoft.com> 1.1.9-3mdk - rebuild * Thu Nov 22 2001 Alexander Skwar <ASkwar@Linux-Mandrake.com> 1.1.9-2mdk - Make rpmlint a little happier * Wed Nov 21 2001 Alexander Skwar <ASkwar@Linux-Mandrake.com> 1.1.9-1mdk - 1.1.9 - Actually really set localstatedir to /var/lib instead of to /var/log * Thu Nov 8 2001 Vincent Danen <vdanen@mandrakesoft.com> 1.1.8-1mdk - 1.1.8 - call nessus-mkcert at install if certs do not exist - patch nessus-mkcert to use more sensible locations to store certs/keys (P1) - make localstatedir /var/lib and not /var/log (???) so that user accounts and info go into /var/lib/users and not /var/log/users * Wed Nov 7 2001 Frederic Lepied <flepied@mandrakesoft.com> 1.1.6-2mdk - don't use sub shell in %%build - use %%make - use service macros - added the missing nessus-mkcert, nessus-rmuser and nessus-update-plugins - add a dependency on tar, gzip and lynx for nessus-update-plugins * Wed Oct 17 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.1.6-1mdk - 1.1.6 * Mon Sep 17 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.1.4-1mdk - added by Oden Eriksson <oden.eriksson@kvikkjokk.net> : - updated to 1.1.4 * Tue Aug 21 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.0.9-1mdk - updated to 1.0.9 * Wed Jun 6 2001 Laurent Culioli <laurent@mandrakesoft.com> 1.0.8-1mdk - updated to 1.0.8 * Wed Mar 07 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.0.7a-1mdk - upgraded to 1.0.7a * Tue Jan 30 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.0.7-1mdk - used srpm from Guillaume Rousse <g.rousse@mandrake-linux.com> : - updated to 1.0.7 * Mon Nov 06 2000 Lenny Cartier <lenny@mandrakesoft.com> 1.0.5-1mdk - used srpm from Alexander Skwar <ASkwar@Linux-Mandrake.com> : New version Added menu for the client with icons Quiet the unpacking of the files * Wed Jul 26 2000 John Johnson <jjohnson@linux-mandrake.com> 1.0.3-1mdk - Fixed an error in my spec file that caused the nessusd script in /etc/rc.d/init.d to not work properly. * Wed Jul 12 2000 John Johnsin <jjohnson@linux-mandrake.com> 1.0.3-1mdk - Updated rpm for version 1.0.3 - made a few small changes to spec file * Sat Jun 10 2000 John Johnson <jjohnson@linux-mandrake.com> 1.0.1-1mdk - updated sources to the new version. * Mon May 29 2000 Vincent Danen <vdanen@linux-mandrake.com> 1.0.0-2mdk - bzip sources - fix group - various specfile cleanups - made unrelocatable - added call to ldconfig in post and postun * Thu May 18 2000 John Johnson <jjohnson@linux-mandrake.com> - Made Mandrake rpm