summaryrefslogtreecommitdiff
path: root/pcr/ha-glue/PKGBUILD
blob: d170155d93c06454214021ef13b66ab1b40f9936 (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
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>

pkgname=ha-glue
_pkgname=${pkgname:3}
pkgver=1.0.11
pkgrel=2
pkgdesc='A set of libraries, tools and utilities suitable for the Heartbeat/Pacemaker cluster stack.'
arch=(
  i686
  x86_64
  mips64el
)
url=http://linux-ha.org/wiki/Cluster_${_pkgname^}
license=GPL
depends=(
  curl
  glib2
  libaio
  libtool
  libxml2
  net-snmp
  python2
  util-linux
)
source=(
  http://hg.linux-ha.org/$_pkgname/archive/$_pkgname-$pkgver.tar.bz2
  ha-logd.service
)
sha512sums=(
  35ac8ac555c39f24c11e3a768cc50eba051fe617edf4cdc0429dac73f45a472f144cfe6ec5faff575606f2b04ff76a2f732556d848b61410c2683d93ba928413
  9252472a6d7a1bbad765c63becdec4064d882b1eb98abdf27833a6e06d8750f06663b2460d32a4c72d04f10a7480ef0a2093b8a18b4d1fc62a989cde54ee056a
)
install=$pkgname.install
options=(
  '!libtool'
  docs
)

prepare() {
  export _CLUSTER_USER=hacluster
  export _CLUSTER_GROUP=haclient
  _DGID=666
  _DUID=666

  #verify the cluster user and group
  if ! getent group $_CLUSTER_GROUP >/dev/null;then
    msg 'BEFORE COMPILE THIS SOFTWARE YOU MUST CREATE A CLUSTER GROUP, EXECUTE AS ROOT:'
    echo -e "# groupadd -r -g $_DGID $_CLUSTER_GROUP\n"
    _EXITCODE=1
  fi
  if ! getent passwd $_CLUSTER_USER >/dev/null;then
    msg 'BEFORE COMPILE THIS SOFTWARE YOU MUST CREATE A CLUSTER USER, EXECUTE AS ROOT:'
    echo -e "# useradd -r -g $_CLUSTER_GROUP -u $_DUID -d /var/lib/heartbeat/cores/$_CLUSTER_USER -s /sbin/nologin -c \"cluster user\" $_CLUSTER_USER\n"
    _EXITCODE=1
  fi
  if [[ $_EXITCODE -eq 1 ]] ;then
    return 1
  fi

  cd $srcdir/Reusable-Cluster-Components-$_pkgname--$_pkgname-$pkgver
  sed -i 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|' configure.ac
}

build() {
  cd $srcdir/Reusable-Cluster-Components-$_pkgname--$_pkgname-$pkgver
  sed -i 's/<glib\/gtypes\.h>/<glib\.h>/g' include/clplumbing/cl_uuid.h
  setarch $CARCH ./autogen.sh
  setarch $CARCH ./configure --prefix=/usr\
    --enable-fatal-warnings=no\
    --libdir=/usr/lib\
    --libexecdir=/usr/lib/$pkgname\
    --localstatedir=/var\
    --sysconfdir=/etc\
    --with-daemon-group=$_CLUSTER_GROUP\
    --with-daemon-user=$_CLUSTER_USER
  setarch $CARCH make
}

package() {
  cd $srcdir/Reusable-Cluster-Components-$_pkgname--$_pkgname-$pkgver
  setarch $CARCH make DESTDIR=$pkgdir install

  #python path correction
  for py in `grep -r -l "\#\!\/usr\/bin\/python" $pkgdir`;do
    sed -i 's:/usr/bin/python$:/usr/bin/python2:g' $py
  done 
  for py in `grep -r -l "\#\!\/usr\/bin\/env python" $pkgdir`;do
    sed -i 's:/usr/bin/env python$:/usr/bin/env python2:g' $py
  done
  #end python path correction

  install -d $pkgdir/usr/lib/systemd/system
  install -Dm644 $srcdir/ha-logd.service $pkgdir/usr/lib/systemd/system

  msg 'AFTER COMPILE THIS SOFTWARE YOU MUST DELETE A CLUSTER USER AND A CLUSTER GROUP, EXECUTE AS ROOT:'
  echo -e "# userdel $_CLUSTER_USER"
  echo -e "# groupdel $_CLUSTER_GROUP"
}