blob: 909296197c5960d40b35d07e166a9403a0b988d7 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "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 = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
11 file://corosync.conf \
12 "
13SRC_URI[sha256sum] = "20eb903eb984f6a728282c199825e442e8bba869acefd22390076ef3a33a4ded"
14UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.(?!99)\d+(\.\d+)+)"
15
16LICENSE = "BSD-3-Clause"
17LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
18
19DEPENDS = "groff-native nss libqb kronosnet"
20
Patrick Williams213cb262021-08-07 19:21:33 -050021SYSTEMD_SERVICE:${PN} = "corosync.service corosync-notifyd.service \
Andrew Geissler82c905d2020-04-13 13:39:40 -050022 ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
23 ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
24"
25SYSTEMD_AUTO_ENABLE = "disable"
26
27INITSCRIPT_NAME = "corosync-daemon"
28
29PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
30 dbus snmp \
31"
32
33PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
34PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
35PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
36
37EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no"
38EXTRA_OEMAKE = "tmpfilesdir_DATA="
39
Patrick Williams213cb262021-08-07 19:21:33 -050040#do_configure:prepend() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050041# ( cd ${S}
42# ${S}/autogen.sh )
43#}
44
Patrick Williams213cb262021-08-07 19:21:33 -050045do_install:append() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050046 install -D -m 0644 ${WORKDIR}/corosync.conf ${D}/${sysconfdir}/corosync/corosync.conf.example
47 install -d ${D}${sysconfdir}/sysconfig/
48 install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
49 install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
50
51 rm -rf "${D}${localstatedir}/run"
52
53 install -d ${D}${sysconfdir}/default/volatiles
54 echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
55
56 if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then
57 chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
58 echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
59 fi
60
61 if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then
62 install -d ${D}${sysconfdir}/tmpfiles.d
63 echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
64 fi
65}
66
Patrick Williams213cb262021-08-07 19:21:33 -050067RDEPENDS:${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050068
Patrick Williams213cb262021-08-07 19:21:33 -050069FILES:${PN}-dbg += "${libexecdir}/lcrso/.debug"
70FILES:${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
Andrew Geissler82c905d2020-04-13 13:39:40 -050071
72USERADD_PACKAGES = "${PN}"
Patrick Williams213cb262021-08-07 19:21:33 -050073GROUPADD_PARAM:${PN} = "--system coroqnetd"
74USERADD_PARAM:${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"