summaryrefslogtreecommitdiff
blob: 528fc6ba87aac2ca6fd1783732dc4f486ef1e372 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/logwatch/logwatch-4.3.1-r1.ebuild,v 1.1 2003/05/02 06:47:50 jhhudso Exp $

S=${WORKDIR}/${P}
DESCRIPTION="LogWatch, a customizable log analysis system"
SRC_URI="ftp://ftp.kaybee.org/pub/old/linux/${P}.tar.gz"
HOMEPAGE="http://www.logwatch.org/"

DEPEND="virtual/glibc
		virtual/cron
		virtual/mta
		dev-lang/perl
		net-mail/mailx"

SLOT="0"
KEYWORDS="~x86"
LICENSE="as-is"
IUSE=""
RDEPEND=""

src_install() {
	dodir /usr/share/logwatch
	dodir /usr/share/logwatch/conf
	dodir /usr/share/logwatch/conf/logfiles
	dodir /usr/share/logwatch/conf/services
	dodir /usr/share/logwatch/scripts
	dodir /usr/share/logwatch/scripts/services
	dodir /usr/share/logwatch/scripts/shared

	# correct install directory into script
	cat ${S}/scripts/logwatch.pl | sed -e "s/my \$BaseDir = \"\/etc\/log.d\";/my \$BaseDir = \"\/usr\/share\/logwatch\";/" > ${S}/scripts/logwatch.tmp_install
	exeinto /usr/share/logwatch/scripts
	newexe scripts/logwatch.tmp_install logwatch.pl
	exeinto /usr/share/logwatch/scripts/logfiles
	for i in scripts/logfiles/* ; do
		if [ $(ls $i | wc -l) -ne 0 ] ; then
			file="`echo $i | awk -F/ '{ print $3 }'`"
			dodir /usr/share/logwatch/scripts/logfiles/$file

			exeinto /usr/share/logwatch/scripts/logfiles/$file
			for l in scripts/logfiles/$file/* ; do
				subfile="`echo $l | awk -F/ '{ print $4 }'`"
				newexe $l $subfile
			done
		fi
	done

	exeinto /usr/share/logwatch/scripts/services
	for i in scripts/services/* ; do
			file="`echo $i | awk -F/ '{ print $3 }'`"
			newexe $i $file
	done

	exeinto /usr/share/logwatch/scripts/shared
	for i in scripts/shared/* ; do
			file="`echo $i | awk -F/ '{ print $3 }'`"
			newexe $i $file
	done

	insinto /usr/share/logwatch/conf
	doins conf/logwatch.conf

	insinto /usr/share/logwatch/conf/logfiles
	for i in conf/logfiles/* ; do
		doins $i
	done

	insinto /usr/share/logwatch/conf/services
	for i in conf/services/* ; do
			doins $i
	done

	dodoc README License HOWTO-Make-Filter
	doman logwatch.8
	}

pkg_postinst() {
	einfo "creating a symlink for configuration directory..."
	ln -snf ${ROOT}usr/share/logwatch/conf ${ROOT}etc/logwatch

	einfo "adding executable to path..."
	ln -sf ${ROOT}usr/share/logwatch/scripts/logwatch.pl ${ROOT}usr/bin/logwatch

	# this will avoid duplicate entries in the crontab
	if [ "`grep logwatch.pl ${ROOT}var/spool/cron/crontabs/root`" == "" ];
	then
		einfo "adding to cron..."
		echo "0 0 * * * ${ROOT}usr/sbin/logwatch.pl 2>&1 > /dev/null" \
			>> ${ROOT}var/spool/cron/crontabs/root
	fi
}

pkg_postrm() {
	# this fixes a bug when logwatch package gets updated
	if [ "`ls -d ${ROOT}var/db/pkg/sys-apps/logwatch* \
		| wc -l | tail -c 2`" -lt 2 ];
	then
		sed "/^0.*\/usr\/sbin\/logwatch.*null$/d" \
			${ROOT}var/spool/cron/crontabs/root \
			> ${ROOT}var/spool/cron/crontabs/root.new
		mv --force ${ROOT}var/spool/cron/crontabs/root.new \
			${ROOT}var/spool/cron/crontabs/root
	fi

	rm -f ${ROOT}etc/logwatch
	rm -f ${ROOT}usr/bin/logwatch
}