blob: 23a3d147f343a16a6b7ae36c18ba63cfb1c8c77a [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
2DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
3APIs and libraries, default configuration files, and an init script."
4HOMEPAGE = "http://corosync.github.io/corosync/"
5
6SECTION = "base"
7
8inherit autotools pkgconfig systemd useradd
9
10SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \
11 file://corosync.conf \
12 "
13
14SRC_URI[md5sum] = "69db29ff4bc035936946be44fc8be5cd"
15SRC_URI[sha256sum] = "9bd4707bb271df16f8d543ec782eb4c35ec0330b7be696b797da4bd8f058a25d"
16
17UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.(?!99)\d+(\.\d+)+)"
18
19LICENSE = "BSD"
20LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
21
22DEPENDS = "groff-native nss libqb"
23
24SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \
25 ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
26 ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
27"
28SYSTEMD_AUTO_ENABLE = "disable"
29
30INITSCRIPT_NAME = "corosync-daemon"
31
32PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
33 dbus qdevice qnetd snmp \
34"
35
36PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
37PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices"
38PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd"
39PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
40PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
41PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
42
43EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no"
44EXTRA_OEMAKE = "tmpfilesdir_DATA="
45
46do_configure_prepend() {
47 ( cd ${S}
48 ${S}/autogen.sh )
49}
50
51do_install_append() {
52 install -D -m 0644 ${WORKDIR}/corosync.conf ${D}/${sysconfdir}/corosync/corosync.conf.example
53 install -d ${D}${sysconfdir}/sysconfig/
54 install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
55 install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
56
57 rm -rf "${D}${localstatedir}/run"
58
59 install -d ${D}${sysconfdir}/default/volatiles
60 echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
61
62 if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then
63 chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
64 echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
65 fi
66
67 if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then
68 install -d ${D}${sysconfdir}/tmpfiles.d
69 echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
70 fi
71}
72
73RDEPENDS_${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
74
75FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
76FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
77
78USERADD_PACKAGES = "${PN}"
79GROUPADD_PARAM_${PN} = "--system coroqnetd"
80USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"