Aurelien Larcher
2022-07-15 4f74be07fadc8d695eee898ee0437e97e1641ff9
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
121
122
123
124
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL)". You may
# only use this file in accordance with the terms of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
 
#
# Copyright 2019 Andreas Grueninger, Grueninger GmbH, (grueni). All rights reserved.
# Copyright 2020 Michal Nowak
# Copyright 2021 Andreas Wacknitz
#
 
BUILD_BITS=        64
USE_OPENSSL11=          yes
include ../../../make-rules/shared-macros.mk
 
PATH= $(USRBINDIR64):$(PATH.gnu)
 
COMPONENT_NAME=         pacemaker
COMPONENT_VERSION=      2.0.3
COMPONENT_REVISION=     1
COMPONENT_FMRI=         application/cluster/$(COMPONENT_NAME)
COMPONENT_CLASSIFICATION=System/Services
COMPONENT_SRC=          $(COMPONENT_NAME)-Pacemaker-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=      $(COMPONENT_NAME)-$(COMPONENT_VERSION).tar.gz
COMPONENT_ARCHIVE_HASH= sha256:ca228f7f9745c7bc1e31bebe30e51475e95a82d9010d281f1701f2e3310bd3fe
COMPONENT_PROJECT_URL=  https://www.clusterlab.org
COMPONENT_ARCHIVE_URL=  https://github.com/Clusterlabs/$(COMPONENT_NAME)/archive/Pacemaker-$(COMPONENT_VERSION).tar.gz
COMPONENT_LICENSE=      GPLv2,LGPLv2,BSD
COMPONENT_SUMMARY=      Pacemaker is an advanced, scalable high-availability cluster resource manager.
 
include $(WS_MAKE_RULES)/common.mk
 
PYTHON_VERSION = 3.9
 
COMPONENT_PREP_ACTION=(cd $(SOURCE_DIR); $(CONFIG_SHELL) autogen.sh )
 
COMPONENT_PRE_CONFIGURE_ACTION=($(CLONEY) $(SOURCE_DIR) $(@D))
 
CONFIGURE_SCRIPT= $(@D)/configure
 
CFLAGS += -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS \
      -lssp_nonshared -lssp -lnsl -lssl \
      -L$(OPENSSL_LIBDIR.64) -R$(OPENSSL_LIBDIR.64) -lcrypto
 
CONFIGURE_OPTIONS += --libexecdir=$(CONFIGURE_PREFIX)/lib
CONFIGURE_OPTIONS += --sysconfdir=/etc
CONFIGURE_OPTIONS += --sharedstatedir=/var/hacluster
CONFIGURE_OPTIONS += --localstatedir=/var
CONFIGURE_OPTIONS += --with-corosync
CONFIGURE_OPTIONS += --with-acl=no
CONFIGURE_OPTIONS += --enable-upstart=no
CONFIGURE_OPTIONS += --enable-systemd=no
CONFIGURE_OPTIONS += --enable-fatal-warnings=no
CONFIGURE_OPTIONS += --disable-rpath
CONFIGURE_OPTIONS += --with-logdir=/var/log/hacluster
CONFIGURE_OPTIONS += --with-bundledir=/var/log/hacluster/bundles
CONFIGURE_OPTIONS += --with-openssl=yes
CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(BITS))
 
CONFIGURE_ENV.64 += LT_SYS_LIBRARY_PATH="/lib/$(MACH64):/usr/lib/$(MACH64)"
CONFIGURE_ENV.64 += PYTHON=$(PYTHON)
CONFIGURE_ENV.64 += am_cv_python_pythondir=$(PYTHON_VENDOR_PACKAGES)
 
COMPONENT_POST_INSTALL_ACTION=( \
    $(RM) -r $(PROTO_DIR)$(USRSHAREDIR)/$(COMPONENT_NAME)/examples; \
    $(MKDIR) $(PROTO_DIR)$(USRSHAREDIR)/$(COMPONENT_NAME)/examples; \
    $(MV)    $(PROTO_DIR)/etc/logrotate.d  $(PROTO_DIR)$(USRSHAREDIR)/$(COMPONENT_NAME)/examples;)
 
COMPONENT_TEST_ENV += libtool_execute_magic=
COMPONENT_TEST_ENV += LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
 
COMPONENT_TEST_TRANSFORMS += \
    '-n ' \
    '-e "s/[0-9]* Segmentation Fault/Segmentation Fault/" ' \
    '-e "/^make/d" ' \
    '-e "/\/usr\/gnu\/bin\/make/d" ' \
    '-e "/=====/p" ' \
    '-e "/Making/p" ' \
    '-e "/Note/p" ' \
    '-e "/Please/p" ' \
    '-e "/See/p" ' \
    '-e "/Testsuite/p" ' \
    '-e "/Warn/p" ' \
    '-e "/ERROR/p" ' \
    '-e "/PASS/p" ' \
    '-e "/FAIL/p" ' \
    '-e "/TOTAL/p" ' \
    '-e "/XPASS/p" ' \
    '-e "/XFAIL/p" '
 
PKG_MACROS+= PYVER="$(PYTHON_VERSION)"
 
# added manually, not found as dependency
PERL_REQUIRED_PACKAGES += runtime/perl
REQUIRED_PACKAGES += application/cluster/resource-agents
REQUIRED_PACKAGES += library/libesmtp
REQUIRED_PACKAGES += library/libstatgrab
REQUIRED_PACKAGES += system/management/snmp/net-snmp
REQUIRED_PACKAGES += text/asciidoc
 
# Auto-generated dependencies
REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
REQUIRED_PACKAGES += application/cluster/cluster-glue
REQUIRED_PACKAGES += application/cluster/corosync
REQUIRED_PACKAGES += compress/bzip2
REQUIRED_PACKAGES += library/glib2
REQUIRED_PACKAGES += library/gnutls-3
REQUIRED_PACKAGES += library/libqb
REQUIRED_PACKAGES += library/libxml2
REQUIRED_PACKAGES += library/libxslt
REQUIRED_PACKAGES += library/ncurses
REQUIRED_PACKAGES += library/security/openssl-11
REQUIRED_PACKAGES += runtime/python-39
REQUIRED_PACKAGES += shell/bash
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/libdbus
# Bogus dependency due to libssp
REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)