summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 1f9179065b782d6b463336c9c9f80a9bc64bcba9 (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
# Maintainer: Christian Hesse <mail@eworm.de>

pkgname=maxscale
pkgver=2.5.8
pkgrel=1
_tag=${pkgname}-${pkgver}
pkgdesc='An intelligent database proxy'
arch=('x86_64')
url='https://mariadb.com/'
license=('MariaDB Business Source License (BSL)')
makedepends=('cmake' 'git' 'nodejs' 'npm' 'systemd' 'tcl')
depends=('avro-c' 'curl' 'libcurl.so' 'gnutls' 'libxcrypt' 'libcrypt.so' 'openssl' 'pam'
         'libpam.so' 'sqlite' 'systemd-libs' 'libsystemd.so')
backup=('etc/maxscale.cnf')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/mariadb-corporation/MaxScale/archive/${_tag}.tar.gz"
        'sysusers.conf'
        'tmpfiles.conf')
sha512sums=('96cdda6577e93a188556f07c5c3d82e4174bde845d3b0ae0b24c20d44e558784318f41f407a8ce74febacc88f6c213c9a32379ee89b5bea6d012151e4c02d331'
            'b72f1792be6b5ef6c691fa4681c5f5809f081cdf88f5a9fa8406c3d486bc28d1de65064b71926bd83b4021822b398b943b5437ce564d62b1e9e77169299238d7'
            '3fac452cfefe3ea906805862d4bb780d178e4f3f8eef8b761f7fb998b82431a52155456870ce093205fabc34dd8cef1f05a4ffbb2f4d008117b422b0f120bb3c')

prepare() {
  cd MaxScale-${_tag}/

  # check for shared library
  sed -i 's/libavro.a/libavro.so/' cmake/FindAvro.cmake
  sed -i 's/libjansson.a/libjansson.so/' cmake/FindJansson.cmake

  # do not fail if allied twice
  sed -i '/PATCH_COMMAND/s/$/ || true/' cmake/BuildJwtCpp.cmake

  # do not install directories, we do this from tmpfiles
  sed -i -e '/^ExecStartPre=/d' -e '/^PIDFile=/s|/var/run/|/run/|' etc/maxscale.service.in

  # write log to syslog only
  sed -i '/\[maxscale\]/asyslog=1\nmaxlog=0' server/maxscale.cnf.template
}

build() {
  mkdir -p $srcdir/build
  cd $srcdir/build

  cmake ../MaxScale-${_tag} \
    -DCMAKE_INSTALL_PREFIX=/usr
  make
}

package() {
  make -C build DESTDIR="${pkgdir}" install

  # move configuration to real path
  mv "${pkgdir}"/etc/maxscale.cnf{.template,}

  # install configuration for sysusers and tmpfiles
  install -D -m0644 sysusers.conf "${pkgdir}"/usr/lib/sysusers.d/maxscale.conf
  install -D -m0644 tmpfiles.conf "${pkgdir}"/usr/lib/tmpfiles.d/maxscale.conf

  # remove unused stuff
  rm -rf "${pkgdir}"/etc/{init.d,init,ld.so.conf.d,logrotate.d,prelink.conf.d}

  # install license files
  install -D -m0644 MaxScale-${_tag}/LICENSE.TXT "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
  install -D -m0644 MaxScale-${_tag}/COPYRIGHT "${pkgdir}"/usr/share/licenses/${pkgname}/COPYRIGHT
}