# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="a Perl-based rootkit detector" HOMEPAGE="http://www.rootkit.nl/projects/rootkit_hunter.html" SRC_URI="http://downloads.rootkit.nl/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="x86 ppc sparc alpha ia64 amd64" IUSE="" DEPEND=">=dev-lang/perl-5.8.2-r1 net-misc/wget" src_compile() { echo "Nothing to compile." } src_install() { INSTALLPREFIX="${WORKDIR}/${PN}/files/" INSTALLDIR="${D}usr/local/rkhunter" INSTALLFILES=" overwrite:check_modules.pl:/scripts/check_modules.pl:Perl%%module%%checker overwrite:check_port.pl:/scripts/check_port.pl:Portscanner overwrite:filehashmd5.pl:/scripts/filehashmd5.pl:MD5%%Digest%%generator overwrite:filehashsha1.pl:/scripts/filehashsha1.pl:SHA1%%Digest%%generator overwrite:showfiles.pl:/scripts/showfiles.pl:Directory%%viewer overwrite:backdoorports.dat:/db/backdoorports.dat:Database%%Backdoor%%ports overwrite:mirrors.dat:/db/mirrors.dat:Database%%Update%%mirrors overwrite:os.dat:/db/os.dat:Database%%Operating%%Systems overwrite:defaulthashes.dat:/db/defaulthashes.dat:Database%%Default%%file%%hashes overwrite:md5blacklist.dat:/db/md5blacklist.dat:Database%%MD5%%blacklisted%%files overwrite:CHANGELOG:/docs/CHANGELOG:Changelog overwrite:README:/docs/README:Readme%%and%%FAQ overwrite:WISHLIST:/docs/WISHLIST:Wishlist%%and%%TODO " INSTALLFILES2=" overwrite:rkhunter.conf:/usr/local/etc/rkhunter.conf:RK%%Hunter%%configuration%% overwrite:rkhunter:/usr/local/bin/rkhunter:RK%%Hunter%%binary " CREATEDIRS=" ${INSTALLDIR} ${INSTALLDIR}/etc ${INSTALLDIR}/bin ${INSTALLDIR}/lib/rkhunter/db ${INSTALLDIR}/lib/rkhunter/docs ${INSTALLDIR}/lib/rkhunter/scripts ${INSTALLDIR}/lib/rkhunter/tmp ${D}usr/local/etc ${D}usr/local/bin " for I in ${CREATEDIRS}; do if [ -d ${I} ] then echo "${I} exists" else echo "Creating ${I}" # Create directory mkdir -p ${I} fi done # Install with prefix and /lib/rkhunter for I in ${INSTALLFILES}; do INSTALLTYPE=`echo ${I} | cut -d ':' -f1` CURFILE=`echo ${I} | cut -d ':' -f2` NEWFILE=`echo ${I} | cut -d ':' -f3` DESCRIPTION=`echo ${I} | cut -d ':' -f4 | tr -s '%%' ' '` echo -n "Installing ${DESCRIPTION}... " if [ -f ${INSTALLPREFIX}${CURFILE} ] then #error redirection in .rkhunter it's just for a clear display if user run not as root cp -f ${INSTALLPREFIX}${CURFILE} "${INSTALLDIR}/lib/rkhunter${NEWFILE}" if [ $? -eq 0 ] then echo -e "OK" INSTALL="ok" else INSTALL="nok" fi else echo "failed: cannot find ${INSTALLPREFIX}${CURFILE})" fi done # Install just with prefix for I in ${INSTALLFILES2}; do INSTALLTYPE=`echo ${I} | cut -d ':' -f1` CURFILE=`echo ${I} | cut -d ':' -f2` NEWFILE=`echo ${I} | cut -d ':' -f3` DESCRIPTION=`echo ${I} | cut -d ':' -f4 | tr -s '%%' ' '` echo -n "Installing ${DESCRIPTION}... " if [ -f ${INSTALLPREFIX}${CURFILE} ] then #error redirection in .rkhunter it's just for a clear display if user run not as root cp -f ${INSTALLPREFIX}${CURFILE} ${D}${NEWFILE} if [ $? -eq 0 ] then INSTALL="ok" else INSTALL="nok" fi else echo "Failed: cannot find ${CURFILE}" fi done ######### INSTALLDIRCHECK=`cat ${D}usr/local/etc/rkhunter.conf | grep "INSTALLDIR="` if [ "${INSTALLDIRCHECK}" = "" ] then echo "INSTALLDIR=/usr/local/rkhunter" >> ${D}usr/local/etc/rkhunter.conf echo "Configuration updated with installation path (${INSTALLDIR})" else echo "Configuration already updated." fi if [ ${INSTALL} != "nok" ] then echo "See /usr/local/rkhunter/docs for more information. Run 'rkhunter' (/usr/local/bin/rkhunter)" else echo "Check for error output (STERR)" fi }