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
137
138
139
140
141
142
143
144
145
146
147
148
149
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/zoneminder-1.28.1.ebuild,v 1.1 2015/04/12 20:38:29 dilfridge Exp $
# TO DO:
# * ffmpeg support can be disabled in CMakeLists.txt but it does not build then
# $(cmake-utils_useno ffmpeg ZM_NO_FFMPEG)
# * dependencies of unknown status:
# dev-perl/Archive-Zip
# dev-perl/Device-SerialPort
# dev-perl/MIME-Lite
# dev-perl/MIME-tools
# dev-perl/PHP-Serialization
# virtual/perl-Archive-Tar
# virtual/perl-libnet
# virtual/perl-Module-Load
EAPI=5
PERL_EXPORT_PHASE_FUNCTIONS=no
inherit perl-module readme.gentoo eutils base cmake-utils depend.php depend.apache multilib flag-o-matic
MY_PN="ZoneMinder"
DESCRIPTION="ZoneMinder allows you to capture, analyse, record and monitor any cameras attached to your system"
HOMEPAGE="http://www.zoneminder.com/"
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~amd64"
IUSE="curl gcrypt gnutls +mmap +openssl vlc"
SLOT="0"
REQUIRED_USE="
|| ( openssl gnutls )
"
DEPEND="
app-eselect/eselect-php[apache2]
dev-lang/perl:=
dev-lang/php[apache2,cgi,curl,inifile,pdo,mysql,mysqli,sockets]
dev-libs/libpcre
dev-perl/Archive-Zip
dev-perl/DateManip
dev-perl/DBD-mysql
dev-perl/DBI
dev-perl/URI-Encode
dev-perl/libwww-perl
sys-auth/polkit
sys-libs/zlib
virtual/ffmpeg
virtual/jpeg
virtual/mysql
virtual/perl-ExtUtils-MakeMaker
virtual/perl-Getopt-Long
virtual/perl-Sys-Syslog
virtual/perl-Time-HiRes
www-servers/apache
curl? ( net-misc/curl )
gcrypt? ( dev-libs/libgcrypt )
gnutls? ( net-libs/gnutls )
mmap? ( dev-perl/Sys-Mmap )
openssl? ( dev-libs/openssl )
vlc? ( media-video/vlc[live] )
"
RDEPEND="${DEPEND}"
# 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}-${PV}
PATCHES=(
"${FILESDIR}/${PN}-1.26.5"-automagic.patch
)
MY_ZM_WEBDIR=/usr/share/zoneminder/www
pkg_setup() {
require_php_with_use mysql sockets apache2
}
src_configure() {
append-cxxflags -D__STDC_CONSTANT_MACROS
perl_set_version
mycmakeargs=(
-DZM_PERL_SUBPREFIX=${VENDOR_LIB#/usr}
-DZM_TMPDIR=/var/tmp/zm
-DZM_SOCKDIR=/var/run/zm
-DZM_WEB_USER=apache
-DZM_WEB_GROUP=apache
-DZM_WEBDIR=${MY_ZM_WEBDIR}
$(cmake-utils_useno mmap ZM_NO_MMAP)
-DZM_NO_X10=OFF
-DZM_NO_FFMPEG=OFF
$(cmake-utils_useno curl ZM_NO_CURL)
$(cmake-utils_useno vlc ZM_NO_LIBVLC)
$(cmake-utils_useno openssl CMAKE_DISABLE_FIND_PACKAGE_OpenSSL)
$(cmake-utils_use_has gnutls)
$(cmake-utils_use_has gcrypt)
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
# the log directory
keepdir /var/log/zm
fowners apache:apache /var/log/zm
# now we duplicate the work of zmlinkcontent.sh
dodir /var/lib/zoneminder /var/lib/zoneminder/images /var/lib/zoneminder/events
fperms -R 0775 /var/lib/zoneminder
fowners -R apache:apache /var/lib/zoneminder
dosym /var/lib/zoneminder/images ${MY_ZM_WEBDIR}/images
dosym /var/lib/zoneminder/events ${MY_ZM_WEBDIR}/events
# bug 523058
keepdir ${MY_ZM_WEBDIR}/temp
fowners -R apache:apache ${MY_ZM_WEBDIR}/temp
# the configuration file
fperms 0640 /etc/zm.conf
fowners root:apache /etc/zm.conf
# init scripts etc
newinitd "${FILESDIR}"/init.d zoneminder
newconfd "${FILESDIR}"/conf.d zoneminder
cp "${FILESDIR}"/10_zoneminder.conf "${T}"/10_zoneminder.conf
sed -i "${T}"/10_zoneminder.conf -e "s:%ZM_WEBDIR%:${MY_ZM_WEBDIR}:g"
dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README.md TODO "${T}"/10_zoneminder.conf
perl_delete_packlist
readme.gentoo_src_install
}
pkg_postinst() {
local myold=${REPLACING_VERSIONS}
[ "${myold}" = ${PV} ] || elog "You have upgraded zoneminder and may have to upgrade your database now."
}
|