summaryrefslogtreecommitdiff
path: root/pcr/zoneminder/PKGBUILD
blob: 5b4335a0a3cbb11897d6efc6a58d881668656a5e (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
# Contributor (Arch): Troy Will              <troydwill@gmail.com>
# Contributor (Arch): /dev/rs0               </dev/rs0@secretco.de.com>
# Contributor (Arch):  Jacek Burghardt       <jacek@hebe.us>
# Contributor (Arch):  Vojtech Aschenbrenner <v@asch.cz>
# Contributor (Arch): Jason Gardner          <buhrietoe@gmail.com>
# Contributor (Arch): Ross melin             <rdmelin@gmail.com>
# Maintainer: Márcio Silva                   <coadde@parabola.nu>
# Contributor: André Silva                   <emulatorman@parabola.nu>
# Orginally based on a Debian Squeeze package

pkgname=zoneminder
pkgver=1.28.0
pkgrel=1
pkgdesc='Capture, analyse, record and monitor video security cameras'
arch=('i686' 'x86_64' 'mips64el' 'arm')
backup=('etc/zm.conf')
url="https://github.com/ZoneMinder/ZoneMinder/releases"
license=('GPL2')
depends=('apache' 'cambozola' 'ffmpeg' 'gnutls' 'mariadb' 'perl-archive-zip' 'perl-date-manip' 'perl-dbd-mysql' 'perl-dbi'
         'perl-expect' 'perl-libwww' 'perl-mime-lite' 'perl-mime-tools' 'perl-php-serialization' 'perl-net-sftp-foreign'
         'perl-sys-mmap' 'perl-time-modules' 'php' 'php-apache' 'php-gd' 'php-mcrypt')
makedepends=('netpbm' 'cmake')
optdepends=('netpbm')
options=(!libtool)
install=$pkgname.install
source=(https://github.com/ZoneMinder/ZoneMinder/archive/v$pkgver.tar.gz
        httpd-$pkgname.conf
        $pkgname.service
        sysctl-$pkgname.conf)
sha512sums=('3e18993b0539729491052c97d8c94227ccc089eb40277c2f07682f30049033303c7cfe9734fdac6d33ae67df29c76eb72bf7fbb5dae8227e8831fa603b61c375'
            '4ce0d8eba9d006d258f5b8a83920fc17f1f602b96518d37b7a47cd9b6eb84ef2587641a6ba839a469c3f0e33b46475866187279ae3f8be0d4054b074ee5d6b08'
            'cfb0eb87a989236c72741a496ddc6a73aa2696e5beaaca4836d3c231ddb24c7ef5e9f65e7afa49674f2115cbfa4a07c75486e1947ce294c816ddbb875f3b99cf'
            '7330c179f1e2db815a675560d3d84648be02f7d0292f8cbe21d6033577fe688ed71ad23b5b8c9dc309395b45ebb554f9499e7a4b57091959b69679011fa59044')

prepare() {
  cd $srcdir/ZoneMinder-$pkgver

  # Patch for disable ZM_CHECK_FOR_UPDATES
  sed -i '\|ZM_CHECK_FOR_UPDATES|,+1 s|yes|no|;
         ' scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in

  # Patch for support html5 video and flv
  sed -i '\|ZM_MPEG_LIVE_FORMAT|,+1 s|swf|ogg|;
          \|ZM_MPEG_REPLAY_FORMAT|,+1 s|swf|ogg|;
          \|ZM_FFMPEG_FORMATS|,+1 s|mpg mpeg wmv asf avi[*] mov swf 3gp[*][*]|mpg mpeg wmv asf avi* mov flv swf 3gp** webm ogg matroska mp4 h264|;
         ' scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in

  # Patch for change ZM name to ZoneMinder
  sed -i '\|ZM_WEB_TITLE_PREFIX|,+1 s|"ZM"|"ZoneMinder"|;
         ' scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in

  # Patch for remove HACK in Makefile.am
  sed -i '\|This is a HACK|d;
          \|^install-data-hook:$|,+5 d;
          s| install-data-hook||;
          \|^uninstall-hook:$|,+5 d;
          s| uninstall-hook||;
         ' Makefile.am
}

build() {
  cd $srcdir/ZoneMinder-$pkgver

  cmake -DCMAKE_INSTALL_PREFIX=/usr \
    -DZM_TARGET_DISTRO=arch \
    -DZM_CGIDIR=/srv/http/cgi-bin \
    -DZM_CONTENTDIR=/var/cache/$pkgname \
    -DZM_LOGDIR=/var/log/$pkgname \
    -DZM_RUNDIR=/run/$pkgname \
    -DZM_SOCKDIR=/run/$pkgname \
    -DZM_TMPDIR=/var/tmp \
    -DZM_WEB_USER=http \
    -DZM_WEB_GROUP=http \
    -DZM_WEBDIR=/srv/http/$pkgname

  make V=0
}

package() {
  cd $srcdir/ZoneMinder-$pkgver

  make DESTDIR=$pkgdir install

  # BEGIN CREATE_ZONEMINDER_DIRECTORIES
 #mkdir -pv $pkgdir/{etc/{httpd/conf/extra,sysctl.d},srv/http/cgi-bin,usr/{lib/systemd/system,share/{licenses/$pkgname,$pkgname/db}}}
  mkdir -pv $pkgdir/run/zm
  chown -v  http.http $pkgdir/run/zm
  mkdir -pv $pkgdir/var/{cache/$pkgname,log/$pkgname}
  mkdir -pv $pkgdir/srv/http/$pkgname/socks
  chown -Rv http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgname,log/$pkgname}}
  chown -Rv http.http $pkgdir/srv/http/$pkgname/socks
  chmod -v  0700      $pkgdir/etc/zm.conf
  # END CREATE_ZONEMINDER_DIRECTORIES

  # Make content directories in /var/cache/$pkgname and link them
  for i in events images temp; do
   #mv -v  $pkgdir/srv/http/$pkgname/$i $pkgdir/var/cache/$pkgname/$i
    mkdir -v  $pkgdir/var/cache/$pkgname/$i
   #chown -v  http.http              $pkgdir/var/cache/$pkgname/$i
    ln   -sv  /var/cache/$pkgbase/$i $pkgdir/srv/http/$pkgname/$i
    chown -hv http.http              $pkgdir/srv/http/$pkgname/$i
  done

  # Create a link to the Zoneminder cgi binaries
  ln -sv /srv/http/cgi-bin $pkgdir/srv/http/$pkgname

  chown -hv http.http $pkgdir/srv/http/{cgi-bin,$pkgname,$pkgname/cgi-bin}

  # Link Cambozola
  ln -vs /usr/share/cambozola/cambozola.jar $pkgdir/srv/http/$pkgname

  # Install configuration files
 #mkdir   -pv  $pkgdir/etc/httpd/conf/extra
  install -vDm 644 $srcdir/httpd-$pkgname.conf  $pkgdir/etc/httpd/conf/extra
 #mkdir   -pv  $pkgdir/usr/lib/systemd/system
  install -vDm 644 $srcdir/$pkgname.service     $pkgdir/usr/lib/systemd/system
  install -vDm 644 $srcdir/sysctl-$pkgname.conf $pkgdir/etc/sysctl.d
  install -vDm 644 COPYING                      $pkgdir/usr/share/licenses/$pkgname
  install -vDm 644 db/zm*.sql                   $pkgdir/usr/share/$pkgname/db
}