blob: 6b29e7e0671910fc906b30cac8eb52f5655513ca (
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/zoneminder-1.23.3.ebuild,v 1.10 2009/07/16 08:59:19 tove Exp $
inherit eutils autotools depend.php depend.apache multilib perl-module
MY_PV=${PV/_/-}
MY_PN="ZoneMinder"
PATCH_PV="1.23.1"
DESCRIPTION="ZoneMinder allows you to capture, analyse, record and monitor any cameras attached to your system."
HOMEPAGE="http://www.zoneminder.com/"
SRC_URI="http://www.zoneminder.com/downloads/${MY_PN}-${MY_PV}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"
IUSE="debug ffmpeg"
SLOT="0"
DEPEND="app-admin/sudo
dev-libs/libpcre
>=media-libs/jpeg-6b
net-libs/gnutls
>=dev-lang/perl-5.6.0
virtual/perl-Archive-Tar
dev-perl/Archive-Zip
dev-perl/DateManip
dev-perl/DBD-mysql
dev-perl/DBI
dev-perl/Device-SerialPort
dev-perl/libwww-perl
dev-perl/MIME-Lite
dev-perl/MIME-tools
dev-perl/PHP-Serialization
virtual/perl-Getopt-Long
virtual/perl-libnet
virtual/perl-Sys-Syslog
virtual/perl-Time-HiRes"
RDEPEND="dev-perl/DBD-mysql
ffmpeg? ( >=media-video/ffmpeg-0.4.9_p20080326 )
media-libs/netpbm"
# we cannot use need_httpd_cgi here, since we need to setup permissions for the
# webserver in global scope (/etc/zm.conf etc), so we hardcode apache here.
need_apache
need_php_httpd
S="${WORKDIR}"/${MY_PN}-${MY_PV}
pkg_setup() {
require_php_with_use mysql sockets apache2
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${PATCH_PV}/Makefile.am.patch
epatch "${FILESDIR}"/${PATCH_PV}/zm_create.sql.in.patch
epatch "${FILESDIR}"/${PATCH_PV}/zm_remote_camera.patch
sed -i \
-e 's:ffmpeg/avformat.h:libavformat/avformat.h:' \
-e 's:ffmpeg/swscale.h:libswscale/swscale.h:' \
src/zm_mpeg.h || die "404. File not found sedding src/zmpeg.h"
eautoreconf
}
src_compile() {
econf --with-libarch=$(get_libdir) \
--with-mysql=/usr \
$(use_with ffmpeg ffmpeg /usr) \
$(use_enable debug) \
$(use_enable debug crashtrace) \
--with-webdir="/var/www/zoneminder/htdocs" \
--with-cgidir="/var/www/zoneminder/cgi-bin" \
--with-webuser=apache \
--with-webgroup=apache \
|| die "econf failed"
emake || die "emake failed"
}
src_install() {
keepdir /var/run/zm
emake -j1 DESTDIR="${D}" install || die "emake install failed"
fperms 0640 /etc/zm.conf
keepdir /var/log/${PN}
fowners apache:apache /var/log/${PN}
fowners apache:apache /var/run/zm
newinitd "${FILESDIR}"/init.d zoneminder
newconfd "${FILESDIR}"/conf.d zoneminder
dodoc AUTHORS ChangeLog INSTALL NEWS README TODO
insinto /usr/share/${PN}/db
doins db/zm_u* db/zm_create.sql
insinto /etc/apache2/vhosts.d
doins "${FILESDIR}"/10_zoneminder.conf
for DIR in events images sounds temp; do
dodir /var/www/zoneminder/htdocs/${DIR}
keepdir /var/www/zoneminder/htdocs/${DIR}
done
fixlocalpod
}
pkg_postinst() {
elog ""
elog "0. If this is a new installation, you will need to create a MySQL database"
elog " for ${PN} to use. (see http://www.gentoo.org/doc/en/mysql-howto.xml)."
elog " Once you completed that you should execute the following:"
elog ""
elog " cd /usr/share/${PN}"
elog " mysql -u <my_database_user> -p<my_database_pass> <my_zoneminder_db> < db/zm_create.sql"
elog ""
elog "1. Set your database settings in /etc/zm.conf"
elog ""
elog "2. Start the ${PN} daemon:"
elog ""
elog " /etc/init.d/${PN} start"
elog ""
elog "3. Finally point your browser to http://localhos/${PN}"
elog ""
elog ""
elog "If you are upgrading, you will need to run the zmupdate.pl script:"
elog ""
elog " /usr/bin/zmupdate.pl version=<from version> [--user=<my_database_user> --pass=<my_database_pass>]"
elog ""
}
|