Accepting request 1180044 from network:ha-clustering:Unstable
corosync3 updates OBS-URL: https://build.opensuse.org/request/show/1180044 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/corosync?expand=0&rev=193
This commit is contained in:
parent
cb472861af
commit
9f5085c542
@ -1,37 +0,0 @@
|
||||
//cpg_test_agent: Fix snprintf compiler warnings
|
||||
---
|
||||
cts/agents/cpg_test_agent.c | 8 ++++----
|
||||
exec/coroparse.c | 18 +++---------------
|
||||
lib/sam.c | 36 ++++++++++++++++++++++++++++--------
|
||||
tools/corosync-quorumtool.c | 2 +-
|
||||
4 files changed, 36 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/cts/agents/cpg_test_agent.c b/cts/agents/cpg_test_agent.c
|
||||
index 0837c69c..2224141c 100644
|
||||
--- a/cts/agents/cpg_test_agent.c
|
||||
+++ b/cts/agents/cpg_test_agent.c
|
||||
@@ -211,8 +211,8 @@ static void config_change_callback (
|
||||
if (record_config_events_g > 0) {
|
||||
log_pt = malloc (sizeof(log_entry_t));
|
||||
list_init (&log_pt->list);
|
||||
- snprintf (log_pt->log, LOG_STR_SIZE, "%s,%u,%u,left",
|
||||
- groupName->value, left_list[i].nodeid,left_list[i].pid);
|
||||
+ assert(snprintf (log_pt->log, LOG_STR_SIZE, "%s,%u,%u,left",
|
||||
+ groupName->value, left_list[i].nodeid,left_list[i].pid) < LOG_STR_SIZE);
|
||||
list_add_tail(&log_pt->list, &config_chg_log_head);
|
||||
qb_log (LOG_INFO, "cpg event %s", log_pt->log);
|
||||
}
|
||||
@@ -221,8 +221,8 @@ static void config_change_callback (
|
||||
if (record_config_events_g > 0) {
|
||||
log_pt = malloc (sizeof(log_entry_t));
|
||||
list_init (&log_pt->list);
|
||||
- snprintf (log_pt->log, LOG_STR_SIZE, "%s,%u,%u,join",
|
||||
- groupName->value, joined_list[i].nodeid,joined_list[i].pid);
|
||||
+ assert(snprintf (log_pt->log, LOG_STR_SIZE, "%s,%u,%u,join",
|
||||
+ groupName->value, joined_list[i].nodeid,joined_list[i].pid) < LOG_STR_SIZE);
|
||||
list_add_tail (&log_pt->list, &config_chg_log_head);
|
||||
qb_log (LOG_INFO, "cpg event %s", log_pt->log);
|
||||
}
|
||||
--
|
||||
2.13.6
|
||||
|
14
_service
14
_service
@ -1,21 +1,19 @@
|
||||
<services>
|
||||
<service name="tar_scm" mode="disabled">
|
||||
<param name="url">git://github.com/corosync/corosync.git</param>
|
||||
<param name="url">https://github.com/corosync/corosync.git</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="exclude">.git</param>
|
||||
<param name="filename">corosync</param>
|
||||
<param name="versionformat">2.4.5+git@TAG_OFFSET@.%h</param>
|
||||
<param name="revision">needle</param>
|
||||
<param name="versionformat">3.1.8+%cd.%h</param>
|
||||
<param name="revision">40e08b21</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="file">corosync*.tar</param>
|
||||
<param name="compression">bz2</param>
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
<!--
|
||||
|
||||
<service name="set_version" mode="disabled">
|
||||
<param name="basename">corosync</param>
|
||||
</service>
|
||||
-->
|
||||
</services>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">git://github.com/corosync/corosync.git</param>
|
||||
<param name="changesrevision">64010f573801b73222e80821a19140c59b003f5c</param></service></servicedata>
|
||||
<param name="url">https://github.com/corosync/corosync.git</param>
|
||||
<param name="changesrevision">40e08b219de94f3850f8f39291d89a5713e32f06</param></service></servicedata>
|
@ -1,10 +0,0 @@
|
||||
libcfg6
|
||||
libcmap4
|
||||
libcorosync_common4
|
||||
obsoletes "libcorosync4-<targettype> < <version>"
|
||||
provides "libcorosync4-<targettype> = <version>"
|
||||
libcpg4
|
||||
libquorum5
|
||||
libsam4
|
||||
libtotem_pg5
|
||||
libvotequorum8
|
@ -1,23 +0,0 @@
|
||||
diff -Naur corosync-2.4.5/conf/corosync.conf.example corosync-2.4.5-new/conf/corosync.conf.example
|
||||
--- corosync-2.4.5/conf/corosync.conf.example 2019-08-16 17:30:52.306726801 +0800
|
||||
+++ corosync-2.4.5-new/conf/corosync.conf.example 2019-08-16 17:33:25.687567471 +0800
|
||||
@@ -9,6 +9,19 @@
|
||||
crypto_cipher: none
|
||||
crypto_hash: none
|
||||
|
||||
+ # How long before declaring a token lost (ms)
|
||||
+ token: 5000
|
||||
+
|
||||
+ # How many token retransmits before forming a new configuration
|
||||
+ token_retransmits_before_loss_const: 10
|
||||
+
|
||||
+ # How long to wait for join messages in the membership protocol (ms)
|
||||
+ join: 60
|
||||
+
|
||||
+ # Number of messages that may be sent by one processor on
|
||||
+ # receipt of the token
|
||||
+ max_messages: 20
|
||||
+
|
||||
# Limit generated nodeids to 31-bits (positive signed integers)
|
||||
# you would set it to 'yes', the new option 'new' means wiping
|
||||
# off the highest bit in network order to avoid possible nodeid
|
@ -1,363 +0,0 @@
|
||||
From ec2dfbec877fee166b31493e2dba41a850380608 Mon Sep 17 00:00:00 2001
|
||||
From: Bin Liu <bliu@suse.com>
|
||||
Date: Tue, 17 Apr 2018 18:04:52 +0800
|
||||
Subject: [PATCH] totemudp: Add local loop support for unicast msgs
|
||||
|
||||
---
|
||||
exec/totemudp.c | 218 ++++++++++++++++++++++++++++++++------------------------
|
||||
1 file changed, 126 insertions(+), 92 deletions(-)
|
||||
|
||||
diff --git a/exec/totemudp.c b/exec/totemudp.c
|
||||
index 4b644ae..ea18897 100644
|
||||
--- a/exec/totemudp.c
|
||||
+++ b/exec/totemudp.c
|
||||
@@ -205,8 +205,6 @@ static int totemudp_build_sockets (
|
||||
struct totemudp_socket *sockets,
|
||||
struct totem_ip_address *bound_to);
|
||||
|
||||
-static struct totem_ip_address localhost;
|
||||
-
|
||||
static void totemudp_instance_initialize (struct totemudp_instance *instance)
|
||||
{
|
||||
memset (instance, 0, sizeof (struct totemudp_instance));
|
||||
@@ -267,6 +265,7 @@ static inline void ucast_sendmsg (
|
||||
struct sockaddr_storage sockaddr;
|
||||
struct iovec iovec;
|
||||
int addrlen;
|
||||
+ int send_sock;
|
||||
|
||||
if (msg_len + crypto_get_current_sec_header_size(instance->crypto_inst) > sizeof(buf_out)) {
|
||||
log_printf(LOGSYS_LEVEL_CRIT, "UDP message for ucast is too big. Ignoring message");
|
||||
@@ -317,11 +316,19 @@ static inline void ucast_sendmsg (
|
||||
#endif
|
||||
|
||||
|
||||
+ if (instance->netif_bind_state == BIND_STATE_REGULAR) {
|
||||
+ send_sock = instance->totemudp_sockets.mcast_send;
|
||||
+ } else {
|
||||
+ send_sock = instance->totemudp_sockets.local_mcast_loop[1];
|
||||
+ msg_ucast.msg_name = NULL;
|
||||
+ msg_ucast.msg_namelen = 0;
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Transmit unicast message
|
||||
* An error here is recovered by totemsrp
|
||||
*/
|
||||
- res = sendmsg (instance->totemudp_sockets.mcast_send, &msg_ucast,
|
||||
+ res = sendmsg (send_sock, &msg_ucast,
|
||||
MSG_NOSIGNAL);
|
||||
if (res < 0) {
|
||||
LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
@@ -390,18 +397,20 @@ static inline void mcast_sendmsg (
|
||||
msg_mcast.msg_accrightslen = 0;
|
||||
#endif
|
||||
|
||||
- /*
|
||||
- * Transmit multicast message
|
||||
- * An error here is recovered by totemsrp
|
||||
- */
|
||||
- res = sendmsg (instance->totemudp_sockets.mcast_send, &msg_mcast,
|
||||
- MSG_NOSIGNAL);
|
||||
- if (res < 0) {
|
||||
- LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
- "sendmsg(mcast) failed (non-critical)");
|
||||
- instance->stats->continuous_sendmsg_failures++;
|
||||
- } else {
|
||||
- instance->stats->continuous_sendmsg_failures = 0;
|
||||
+ if (instance->netif_bind_state == BIND_STATE_REGULAR) {
|
||||
+ /*
|
||||
+ * Transmit multicast message
|
||||
+ * An error here is recovered by totemsrp
|
||||
+ */
|
||||
+ res = sendmsg (instance->totemudp_sockets.mcast_send, &msg_mcast,
|
||||
+ MSG_NOSIGNAL);
|
||||
+ if (res < 0) {
|
||||
+ LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
+ "sendmsg(mcast) failed (non-critical)");
|
||||
+ instance->stats->continuous_sendmsg_failures++;
|
||||
+ } else {
|
||||
+ instance->stats->continuous_sendmsg_failures = 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -580,7 +589,6 @@ static void timer_function_netif_check_timeout (
|
||||
struct totemudp_instance *instance = (struct totemudp_instance *)data;
|
||||
int interface_up;
|
||||
int interface_num;
|
||||
- struct totem_ip_address *bind_address;
|
||||
|
||||
/*
|
||||
* Build sockets for every interface
|
||||
@@ -617,28 +625,31 @@ static void timer_function_netif_check_timeout (
|
||||
qb_loop_poll_del (instance->totemudp_poll_handle,
|
||||
instance->totemudp_sockets.mcast_recv);
|
||||
close (instance->totemudp_sockets.mcast_recv);
|
||||
+ instance->totemudp_sockets.mcast_recv = -1;
|
||||
}
|
||||
if (instance->totemudp_sockets.mcast_send > 0) {
|
||||
close (instance->totemudp_sockets.mcast_send);
|
||||
- }
|
||||
- if (instance->totemudp_sockets.local_mcast_loop[0] > 0) {
|
||||
- qb_loop_poll_del (instance->totemudp_poll_handle,
|
||||
- instance->totemudp_sockets.local_mcast_loop[0]);
|
||||
- close (instance->totemudp_sockets.local_mcast_loop[0]);
|
||||
- close (instance->totemudp_sockets.local_mcast_loop[1]);
|
||||
+ instance->totemudp_sockets.mcast_send = -1;
|
||||
}
|
||||
if (instance->totemudp_sockets.token > 0) {
|
||||
qb_loop_poll_del (instance->totemudp_poll_handle,
|
||||
instance->totemudp_sockets.token);
|
||||
close (instance->totemudp_sockets.token);
|
||||
+ instance->totemudp_sockets.token = -1;
|
||||
}
|
||||
|
||||
if (interface_up == 0) {
|
||||
+ if (instance->netif_bind_state == BIND_STATE_UNBOUND) {
|
||||
+ log_printf (instance->totemudp_log_level_error,
|
||||
+ "One of your ip addresses are now bound to localhost. "
|
||||
+ "Corosync would not work correctly.");
|
||||
+ exit(COROSYNC_DONE_FATAL_ERR);
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Interface is not up
|
||||
*/
|
||||
instance->netif_bind_state = BIND_STATE_LOOPBACK;
|
||||
- bind_address = &localhost;
|
||||
|
||||
/*
|
||||
* Add a timer to retry building interfaces and request memb_gather_enter
|
||||
@@ -654,34 +665,29 @@ static void timer_function_netif_check_timeout (
|
||||
* Interface is up
|
||||
*/
|
||||
instance->netif_bind_state = BIND_STATE_REGULAR;
|
||||
- bind_address = &instance->totem_interface->bindnet;
|
||||
}
|
||||
/*
|
||||
* Create and bind the multicast and unicast sockets
|
||||
*/
|
||||
(void)totemudp_build_sockets (instance,
|
||||
&instance->mcast_address,
|
||||
- bind_address,
|
||||
+ &instance->totem_interface->bindnet,
|
||||
&instance->totemudp_sockets,
|
||||
&instance->totem_interface->boundto);
|
||||
|
||||
- qb_loop_poll_add (
|
||||
- instance->totemudp_poll_handle,
|
||||
- QB_LOOP_MED,
|
||||
- instance->totemudp_sockets.mcast_recv,
|
||||
- POLLIN, instance, net_deliver_fn);
|
||||
-
|
||||
- qb_loop_poll_add (
|
||||
- instance->totemudp_poll_handle,
|
||||
- QB_LOOP_MED,
|
||||
- instance->totemudp_sockets.local_mcast_loop[0],
|
||||
- POLLIN, instance, net_deliver_fn);
|
||||
+ if (instance->netif_bind_state == BIND_STATE_REGULAR) {
|
||||
+ qb_loop_poll_add (
|
||||
+ instance->totemudp_poll_handle,
|
||||
+ QB_LOOP_MED,
|
||||
+ instance->totemudp_sockets.mcast_recv,
|
||||
+ POLLIN, instance, net_deliver_fn);
|
||||
|
||||
- qb_loop_poll_add (
|
||||
- instance->totemudp_poll_handle,
|
||||
- QB_LOOP_MED,
|
||||
- instance->totemudp_sockets.token,
|
||||
- POLLIN, instance, net_deliver_fn);
|
||||
+ qb_loop_poll_add (
|
||||
+ instance->totemudp_poll_handle,
|
||||
+ QB_LOOP_MED,
|
||||
+ instance->totemudp_sockets.token,
|
||||
+ POLLIN, instance, net_deliver_fn);
|
||||
+ }
|
||||
|
||||
totemip_copy (&instance->my_id, &instance->totem_interface->boundto);
|
||||
|
||||
@@ -732,6 +738,66 @@ static void totemudp_traffic_control_set(struct totemudp_instance *instance, int
|
||||
#endif
|
||||
}
|
||||
|
||||
+static int totemudp_build_local_sockets(
|
||||
+ struct totemudp_instance *instance,
|
||||
+ struct totemudp_socket *sockets)
|
||||
+{
|
||||
+ int i;
|
||||
+ unsigned int sendbuf_size;
|
||||
+ unsigned int recvbuf_size;
|
||||
+ unsigned int optlen = sizeof (sendbuf_size);
|
||||
+ int res;
|
||||
+
|
||||
+ /*
|
||||
+ * Create local multicast loop socket
|
||||
+ */
|
||||
+ if (socketpair(AF_UNIX, SOCK_DGRAM, 0, sockets->local_mcast_loop) == -1) {
|
||||
+ LOGSYS_PERROR (errno, instance->totemudp_log_level_warning,
|
||||
+ "socket() failed");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < 2; i++) {
|
||||
+ totemip_nosigpipe (sockets->local_mcast_loop[i]);
|
||||
+ res = fcntl (sockets->local_mcast_loop[i], F_SETFL, O_NONBLOCK);
|
||||
+ if (res == -1) {
|
||||
+ LOGSYS_PERROR (errno, instance->totemudp_log_level_warning,
|
||||
+ "Could not set non-blocking operation on multicast socket");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ recvbuf_size = MCAST_SOCKET_BUFFER_SIZE;
|
||||
+ sendbuf_size = MCAST_SOCKET_BUFFER_SIZE;
|
||||
+
|
||||
+ res = setsockopt (sockets->local_mcast_loop[0], SOL_SOCKET, SO_RCVBUF, &recvbuf_size, optlen);
|
||||
+ if (res == -1) {
|
||||
+ LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
+ "Unable to set SO_RCVBUF size on UDP local mcast loop socket");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+ res = setsockopt (sockets->local_mcast_loop[1], SOL_SOCKET, SO_SNDBUF, &sendbuf_size, optlen);
|
||||
+ if (res == -1) {
|
||||
+ LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
+ "Unable to set SO_SNDBUF size on UDP local mcast loop socket");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
+ res = getsockopt (sockets->local_mcast_loop[0], SOL_SOCKET, SO_RCVBUF, &recvbuf_size, &optlen);
|
||||
+ if (res == 0) {
|
||||
+ log_printf (instance->totemudp_log_level_debug,
|
||||
+ "Local receive multicast loop socket recv buffer size (%d bytes).", recvbuf_size);
|
||||
+ }
|
||||
+
|
||||
+ res = getsockopt (sockets->local_mcast_loop[1], SOL_SOCKET, SO_SNDBUF, &sendbuf_size, &optlen);
|
||||
+ if (res == 0) {
|
||||
+ log_printf (instance->totemudp_log_level_debug,
|
||||
+ "Local transmit multicast loop socket send buffer size (%d bytes).", sendbuf_size);
|
||||
+ }
|
||||
+
|
||||
+ return (0);
|
||||
+}
|
||||
+
|
||||
static int totemudp_build_sockets_ip (
|
||||
struct totemudp_instance *instance,
|
||||
struct totem_ip_address *mcast_address,
|
||||
@@ -755,7 +821,6 @@ static int totemudp_build_sockets_ip (
|
||||
int res;
|
||||
int flag;
|
||||
uint8_t sflag;
|
||||
- int i;
|
||||
|
||||
/*
|
||||
* Create multicast recv socket
|
||||
@@ -786,27 +851,6 @@ static int totemudp_build_sockets_ip (
|
||||
}
|
||||
|
||||
/*
|
||||
- * Create local multicast loop socket
|
||||
- */
|
||||
- if (socketpair(AF_UNIX, SOCK_DGRAM, 0, sockets->local_mcast_loop) == -1) {
|
||||
- LOGSYS_PERROR (errno, instance->totemudp_log_level_warning,
|
||||
- "socket() failed");
|
||||
- return (-1);
|
||||
- }
|
||||
-
|
||||
- for (i = 0; i < 2; i++) {
|
||||
- totemip_nosigpipe (sockets->local_mcast_loop[i]);
|
||||
- res = fcntl (sockets->local_mcast_loop[i], F_SETFL, O_NONBLOCK);
|
||||
- if (res == -1) {
|
||||
- LOGSYS_PERROR (errno, instance->totemudp_log_level_warning,
|
||||
- "Could not set non-blocking operation on multicast socket");
|
||||
- return (-1);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
-
|
||||
-
|
||||
- /*
|
||||
* Setup mcast send socket
|
||||
*/
|
||||
sockets->mcast_send = socket (bindnet_address->family, SOCK_DGRAM, 0);
|
||||
@@ -930,18 +974,6 @@ static int totemudp_build_sockets_ip (
|
||||
"Unable to set SO_SNDBUF size on UDP mcast socket");
|
||||
return (-1);
|
||||
}
|
||||
- res = setsockopt (sockets->local_mcast_loop[0], SOL_SOCKET, SO_RCVBUF, &recvbuf_size, optlen);
|
||||
- if (res == -1) {
|
||||
- LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
- "Unable to set SO_RCVBUF size on UDP local mcast loop socket");
|
||||
- return (-1);
|
||||
- }
|
||||
- res = setsockopt (sockets->local_mcast_loop[1], SOL_SOCKET, SO_SNDBUF, &sendbuf_size, optlen);
|
||||
- if (res == -1) {
|
||||
- LOGSYS_PERROR (errno, instance->totemudp_log_level_debug,
|
||||
- "Unable to set SO_SNDBUF size on UDP local mcast loop socket");
|
||||
- return (-1);
|
||||
- }
|
||||
|
||||
res = getsockopt (sockets->mcast_recv, SOL_SOCKET, SO_RCVBUF, &recvbuf_size, &optlen);
|
||||
if (res == 0) {
|
||||
@@ -955,19 +987,6 @@ static int totemudp_build_sockets_ip (
|
||||
"Transmit multicast socket send buffer size (%d bytes).", sendbuf_size);
|
||||
}
|
||||
|
||||
- res = getsockopt (sockets->local_mcast_loop[0], SOL_SOCKET, SO_RCVBUF, &recvbuf_size, &optlen);
|
||||
- if (res == 0) {
|
||||
- log_printf (instance->totemudp_log_level_debug,
|
||||
- "Local receive multicast loop socket recv buffer size (%d bytes).", recvbuf_size);
|
||||
- }
|
||||
-
|
||||
- res = getsockopt (sockets->local_mcast_loop[1], SOL_SOCKET, SO_SNDBUF, &sendbuf_size, &optlen);
|
||||
- if (res == 0) {
|
||||
- log_printf (instance->totemudp_log_level_debug,
|
||||
- "Local transmit multicast loop socket send buffer size (%d bytes).", sendbuf_size);
|
||||
- }
|
||||
-
|
||||
-
|
||||
/*
|
||||
* Join group membership on socket
|
||||
*/
|
||||
@@ -1256,8 +1275,19 @@ int totemudp_initialize (
|
||||
|
||||
instance->totemudp_target_set_completed = target_set_completed;
|
||||
|
||||
- totemip_localhost (instance->mcast_address.family, &localhost);
|
||||
- localhost.nodeid = instance->totem_config->node_id;
|
||||
+ /*
|
||||
+ * Create static local mcast sockets
|
||||
+ */
|
||||
+ if (totemudp_build_local_sockets(instance, &instance->totemudp_sockets) == -1) {
|
||||
+ free(instance);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
+ qb_loop_poll_add (
|
||||
+ instance->totemudp_poll_handle,
|
||||
+ QB_LOOP_MED,
|
||||
+ instance->totemudp_sockets.local_mcast_loop[0],
|
||||
+ POLLIN, instance, net_deliver_fn);
|
||||
|
||||
/*
|
||||
* RRP layer isn't ready to receive message because it hasn't
|
||||
@@ -1320,10 +1350,14 @@ int totemudp_recv_flush (void *udp_context)
|
||||
for (i = 0; i < 2; i++) {
|
||||
sock = -1;
|
||||
if (i == 0) {
|
||||
- sock = instance->totemudp_sockets.mcast_recv;
|
||||
+ if (instance->netif_bind_state == BIND_STATE_REGULAR) {
|
||||
+ sock = instance->totemudp_sockets.mcast_recv;
|
||||
+ } else {
|
||||
+ continue;
|
||||
+ }
|
||||
}
|
||||
if (i == 1) {
|
||||
- sock = instance->totemudp_sockets.local_mcast_loop[0];
|
||||
+ sock = instance->totemudp_sockets.local_mcast_loop[0];
|
||||
}
|
||||
assert(sock != -1);
|
||||
|
||||
--
|
||||
2.13.6
|
||||
|
@ -1,21 +0,0 @@
|
||||
--- corosync-2.4.5/init/upgrade.sh 1970-01-01 08:00:00.000000000 +0800
|
||||
+++ corosync-2.4.5-new/init/upgrade.sh 2019-08-02 17:15:38.224559371 +0800
|
||||
@@ -0,0 +1,18 @@
|
||||
+#! /bin/bash
|
||||
+CONFIG_FILE=/etc/corosync/corosync.conf
|
||||
+CONFIG_FILE_OLD=/etc/corosync/corosync.conf.old
|
||||
+
|
||||
+if [ -f $CONFIG_FILE ]; then
|
||||
+ cp $CONFIG_FILE $CONFIG_FILE_OLD
|
||||
+ #lots of operations
|
||||
+ sed -i "/amf\ *{/,/\ *}/d" $CONFIG_FILE && \
|
||||
+ sed -i "/aisexec\ *{/,/\ *}/d" $CONFIG_FILE && \
|
||||
+ sed -i "/service\ *{/,/\ *}/d" $CONFIG_FILE && \
|
||||
+ #sed -i "/token:/,/max_messages:/d" $CONFIG_FILE && \
|
||||
+ sed -i "s/AMF/QUORUM/g" $CONFIG_FILE
|
||||
+ if [ $? -ne 0 ]; then
|
||||
+ cp $CONFIG_FILE_OLD $CONFIG_FILE
|
||||
+ else
|
||||
+ rm $CONFIG_FILE_OLD
|
||||
+ fi
|
||||
+fi
|
@ -1,67 +0,0 @@
|
||||
Index: corosync-2.3.3/conf/corosync.conf.example
|
||||
===================================================================
|
||||
--- corosync-2.3.3.orig/conf/corosync.conf.example
|
||||
+++ corosync-2.3.3/conf/corosync.conf.example
|
||||
@@ -9,6 +9,12 @@ totem {
|
||||
crypto_cipher: none
|
||||
crypto_hash: none
|
||||
|
||||
+ # Limit generated nodeids to 31-bits (positive signed integers)
|
||||
+ # you would set it to 'yes', the new option 'new' means wiping
|
||||
+ # off the highest bit in network order to avoid possible nodeid
|
||||
+ # conflicting.
|
||||
+ clear_node_high_bit: yes
|
||||
+
|
||||
# interface: define at least one interface to communicate
|
||||
# over. If you define more than one interface stanza, you must
|
||||
# also set rrp_mode.
|
||||
@@ -58,8 +64,8 @@ logging {
|
||||
to_stderr: no
|
||||
# Log to a log file. When set to "no", the "logfile" option
|
||||
# must not be set.
|
||||
- to_logfile: yes
|
||||
- logfile: /var/log/cluster/corosync.log
|
||||
+ #to_logfile: no
|
||||
+ #logfile: /var/log/cluster/corosync.log
|
||||
# Log to the system log daemon. When in doubt, set to yes.
|
||||
to_syslog: yes
|
||||
# Log debug messages (very verbose). When in doubt, leave off.
|
||||
@@ -77,5 +83,5 @@ logging {
|
||||
quorum {
|
||||
# Enable and configure quorum subsystem (default: off)
|
||||
# see also corosync.conf.5 and votequorum.5
|
||||
- #provider: corosync_votequorum
|
||||
+ provider: corosync_votequorum
|
||||
}
|
||||
Index: corosync-2.3.3/conf/corosync.conf.example.udpu
|
||||
===================================================================
|
||||
--- corosync-2.3.3.orig/conf/corosync.conf.example.udpu
|
||||
+++ corosync-2.3.3/conf/corosync.conf.example.udpu
|
||||
@@ -5,6 +5,8 @@ totem {
|
||||
crypto_cipher: none
|
||||
crypto_hash: none
|
||||
|
||||
+ clear_node_high_bit: yes
|
||||
+
|
||||
interface {
|
||||
ringnumber: 0
|
||||
bindnetaddr: 10.16.35.0
|
||||
@@ -16,9 +18,9 @@ totem {
|
||||
|
||||
logging {
|
||||
fileline: off
|
||||
- to_logfile: yes
|
||||
+ #to_logfile: no
|
||||
to_syslog: yes
|
||||
- logfile: /var/log/cluster/corosync.log
|
||||
+ #logfile: /var/log/cluster/corosync.log
|
||||
debug: off
|
||||
timestamp: on
|
||||
logger_subsys {
|
||||
@@ -54,5 +56,5 @@ nodelist {
|
||||
quorum {
|
||||
# Enable and configure quorum subsystem (default: off)
|
||||
# see also corosync.conf.5 and votequorum.5
|
||||
- #provider: corosync_votequorum
|
||||
+ provider: corosync_votequorum
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
--- corosync-2.3.5.orig/cts/agents/mem_leak_test.sh 2015-07-21 13:47:30.058803324 +0800
|
||||
+++ corosync-2.3.5/cts/agents/mem_leak_test.sh 2015-07-27 10:03:53.903380662 +0800
|
||||
@@ -41,14 +41,14 @@
|
||||
find $f | sed "s|\.|_|g" | sed "s|/|.|g" | while read l
|
||||
do
|
||||
echo $l.count u64 $COUNT >> $temp_file
|
||||
- let COUNT="$COUNT+1"
|
||||
+ COUNT="$COUNT+1"
|
||||
done
|
||||
|
||||
corosync-cmapctl -p $temp_file
|
||||
corosync-cmapctl -D usr
|
||||
done
|
||||
AFTER=$(get_mem $TYPE)
|
||||
- let DIFF="$AFTER - $BEFORE"
|
||||
+ DIFF="$AFTER - $BEFORE"
|
||||
rm -f $temp_file
|
||||
#echo $f diff $TYPE $DIFF
|
||||
echo $DIFF
|
||||
@@ -76,11 +76,11 @@
|
||||
find /usr/bin | sed "s|\.|_|g" | sed "s|/|.|g" | while read l
|
||||
do
|
||||
corosync-cmapctl -s $l u32 $COUNT
|
||||
- let COUNT="$COUNT+1"
|
||||
+ COUNT="$COUNT+1"
|
||||
done
|
||||
corosync-cmapctl -D usr
|
||||
AFTER=$(get_mem $TYPE)
|
||||
- let DIFF="$AFTER - $BEFORE"
|
||||
+ DIFF="$AFTER - $BEFORE"
|
||||
echo $DIFF
|
||||
|
||||
exit 0
|
BIN
corosync-2.4.6.tar.gz
(Stored with Git LFS)
BIN
corosync-2.4.6.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
corosync-3.1.8.tar.gz
(Stored with Git LFS)
Normal file
BIN
corosync-3.1.8.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,19 +0,0 @@
|
||||
diff -Naur corosync-2.4.5/init/corosync.in corosync-2.4.5-new/init/corosync.in
|
||||
--- corosync-2.4.5/init/corosync.in 2019-08-16 18:38:12.029553632 +0800
|
||||
+++ corosync-2.4.5-new/init/corosync.in 2019-08-16 18:39:59.138161517 +0800
|
||||
@@ -30,6 +30,7 @@
|
||||
success()
|
||||
{
|
||||
echo -ne "[ OK ]\r"
|
||||
+ rtrn=0
|
||||
}
|
||||
|
||||
failure()
|
||||
@@ -150,6 +151,7 @@
|
||||
# they also assume that init scripts will create
|
||||
# required subdirectories for proper operations
|
||||
mkdir -p @LOCALSTATEDIR@/run
|
||||
+ mkdir -p @LOCALSTATEDIR@/lock/subsys
|
||||
|
||||
if status -p "$prog_pid_file" "$prog" > /dev/null 2>&1; then
|
||||
success
|
@ -1,59 +0,0 @@
|
||||
From b827e7f33fee652a79713d302aa9be56b456fa7d Mon Sep 17 00:00:00 2001
|
||||
From: Bin Liu <bliu@suse.com>
|
||||
Date: Wed, 19 Oct 2016 15:59:17 +0800
|
||||
Subject: [PATCH] modify default run level for corosync daemons
|
||||
|
||||
---
|
||||
init/corosync-qdevice.in | 4 ++--
|
||||
init/corosync-qnetd.in | 4 ++--
|
||||
init/corosync.in | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/init/corosync-qdevice.in b/init/corosync-qdevice.in
|
||||
index 913e033..4949c4e 100755
|
||||
--- a/init/corosync-qdevice.in
|
||||
+++ b/init/corosync-qdevice.in
|
||||
@@ -13,8 +13,8 @@
|
||||
# Provides: corosync-qdevice
|
||||
# Required-Start: $corosync
|
||||
# Required-Stop: $corosync
|
||||
-# Default-Start:
|
||||
-# Default-Stop:
|
||||
+# Default-Start: 3
|
||||
+# Default-Stop: 1
|
||||
# Short-Description: Starts and stops Corosync Qdevice daemon.
|
||||
# Description: Starts and stops Corosync Qdevice daemon.
|
||||
### END INIT INFO
|
||||
diff --git a/init/corosync-qnetd.in b/init/corosync-qnetd.in
|
||||
index 15d30ea..ed73ee0 100755
|
||||
--- a/init/corosync-qnetd.in
|
||||
+++ b/init/corosync-qnetd.in
|
||||
@@ -13,8 +13,8 @@
|
||||
# Provides: corosync-qnetd
|
||||
# Required-Start: $network $syslog
|
||||
# Required-Stop: $network $syslog
|
||||
-# Default-Start:
|
||||
-# Default-Stop:
|
||||
+# Default-Start: 3
|
||||
+# Default-Stop: 1
|
||||
# Short-Description: Starts and stops Corosync Qdevice Network daemon.
|
||||
# Description: Starts and stops Corosync Qdevice Network daemon.
|
||||
### END INIT INFO
|
||||
diff --git a/init/corosync.in b/init/corosync.in
|
||||
index c93f971..366b5d6 100755
|
||||
--- a/init/corosync.in
|
||||
+++ b/init/corosync.in
|
||||
@@ -14,8 +14,8 @@
|
||||
# Provides: corosync
|
||||
# Required-Start: $network $syslog
|
||||
# Required-Stop: $network $syslog
|
||||
-# Default-Start:
|
||||
-# Default-Stop:
|
||||
+# Default-Start: 3
|
||||
+# Default-Stop: 1
|
||||
# Short-Description: Starts and stops Corosync Cluster Engine.
|
||||
# Description: Starts and stops Corosync Cluster Engine.
|
||||
### END INIT INFO
|
||||
--
|
||||
2.6.6
|
||||
|
528
corosync.changes
528
corosync.changes
@ -1,3 +1,531 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 15 12:18:23 UTC 2024 - Emil Penchev <emil.penchev@suse.com>
|
||||
|
||||
- Update to version 3.1.8
|
||||
* Handling integer overflow issues
|
||||
* rust: Improve vector initialisation
|
||||
* man: Update the corosync_overview manpage
|
||||
* config: Fail to start if ping timers are invalid
|
||||
* rust: Remove some pointless casts
|
||||
* parser: Allow a non-breaking space as 'whitespace'
|
||||
* spec: Migrate to SPDX license
|
||||
* build: Fix rust make -j build dep for distcheck
|
||||
* rust: Remove tests from check scripts
|
||||
* Rust: Remove obsolete bindgen flag
|
||||
* knet: use knet TRACE logging level if available
|
||||
* Rust: 'fix' clippys for Rust 1.67
|
||||
* rust: Make it work on FreeBSD
|
||||
* bindings: Add Rust bindings
|
||||
* totemconfig: Add support for knet_mtu
|
||||
* configure: Modernize configure.ac a bit
|
||||
* log: Configure knet logging to the same as corosync
|
||||
* logrotate: Use copytruncate method by default
|
||||
* totemconfig: Check uname return value correctly
|
||||
* totempg: Fix alignment handling
|
||||
* pkgconfig: Export corosysconfdir
|
||||
* Remove bashism from configure script
|
||||
* totemudpu: Don't block local socketpair
|
||||
* build: Add explicit dependency for used libraries
|
||||
* totemsrp: Switch totempg buffers at the right time
|
||||
* cpghum: Allow to continue if corosync is restarted
|
||||
* man: Fix consensus timeout
|
||||
* logsys: Unlock config mutex on error
|
||||
* totem: Add cancel_hold_on_retransmit config option
|
||||
* totemconfig: Knet nodeid must be < 65536
|
||||
* totemconfig: Ensure all knet hosts has a nodeid
|
||||
* cfgtool: Use CS_PRI_NODE_ID for formatting nodeid
|
||||
* cfgtool: Fix brief mode display of localhost
|
||||
* cfgtool: Set nodeid indexes after sort
|
||||
* totemconfig: Put autogenerated nodeid back to cmap
|
||||
* cfgtool: Check existence of at least one of nodeid
|
||||
* totemconfig: Do not process totem.nodeid
|
||||
* knet: Fix node status display
|
||||
* main: Add support for cgroup v2 and auto mode
|
||||
* stats: fix crash when iterating over deleted keys
|
||||
* man: Add note about single node configuration
|
||||
* Revert "main: Add support for cgroup v2"
|
||||
* Revert "man: Add info about cgroup v2 behavior"
|
||||
* man: Add info about cgroup v2 behavior
|
||||
* cfg: corosync_cfg_trackstop blocks forever
|
||||
* main: Add support for cgroup v2
|
||||
* main: Mark crypto_model key read only
|
||||
* totemconfig: Ensure strncpy is always terminated
|
||||
* config: Properly check crypto and compress models
|
||||
* man: corosync-cfgtool.8: use proper single quotes
|
||||
* knet: pass correct handle to knet_handle_compress
|
||||
* totemconfig: fix integer underflow and logic bug
|
||||
* totemconfig: change udp netmtu value as a constant
|
||||
* totemknet: retry knet_handle_new if it fails
|
||||
* main: Check memlock rlimit
|
||||
* configure: drop unnecessary check and define
|
||||
* configure: move exec_prefix sanitize
|
||||
* configure: drop dead code
|
||||
* configure: detect and init pkg-config with macro
|
||||
* main: Close race condition when moving to statedir
|
||||
* init: Use corosync-cfgtool for shutdown
|
||||
* test: Add testcfg to exercise some cfg functions
|
||||
* cfg: Reinstate cfg tracking
|
||||
* cfg: Improve nodestatusget versioning
|
||||
* cfg: New API to get extended node/link infomation
|
||||
* totemknet: Check both cipher and hash for crypto
|
||||
* The ring id file needn't be executable
|
||||
* pkgconfig: export LOGDIR in corosync.pc
|
||||
* spec: Add isa version of corosync-devel provides
|
||||
* totemconfig: remove redundant nodeid error log
|
||||
* totemsrp: More informative messages
|
||||
* config: Increase default token timeout to 3000 ms
|
||||
* man: votequorum.5: use proper single quotes
|
||||
* man: fix typo: avaialable
|
||||
* tests: Use CS_DISPATCH_BLOCKING instead of cycle
|
||||
* quorum: Add support for nodelist callback
|
||||
* man: reload during rolling upgrade
|
||||
* totemsrp: Move token received callback
|
||||
* common_lib: Remove trailing spaces in cs_strerror
|
||||
* totemconfig: improve linknumber checking
|
||||
* totemconfig: add interface number to the error str
|
||||
* cfg: enhance message_handler_req_lib_cfg_killnode
|
||||
* totemconfig: validate totem.transport value
|
||||
* cmapctl: return error on no result of print prefix
|
||||
* cmapctl: check NULL for key type and value for -p
|
||||
* quorumtool: strict check for -o option
|
||||
* quorumtool: Help shouldn't require running service
|
||||
* cfgtool: Return error when -i doesn't match
|
||||
* man: update output of -s and -b for cfgtool
|
||||
* cmapctl: return EXIT_FAILURE on failure
|
||||
* tools: use util_strtonum for options checking
|
||||
* cfgtool: enhancement -a option
|
||||
* cfgtool: output error messages to stderr
|
||||
* configure: Use default systemd path with prefix
|
||||
* build: Use git-version-gen during specfile build
|
||||
* build: Update git-version-gen
|
||||
* spec: Require at least knet 1.18 for crypto reload
|
||||
* config: Allow reconfiguration of crypto options
|
||||
* test: Fix cpgtest
|
||||
* config: Fix crash when a reload fails twice
|
||||
* config: Don't free pointers used by transports
|
||||
* config: don't reload vquorum if reload fails
|
||||
* cfg: Improve error return to cfgtool -R
|
||||
* config: Reorganise the config system
|
||||
* Revert "totemip: compare sin6_scope_id and interface_num"
|
||||
* Revert "totemip: Add support for sin6_scope_id"
|
||||
* cfgtool: Fix error code as described in MP
|
||||
* icmap: icmap_init_r() leaks if trie_create() fails
|
||||
* votequorum: set wfa status only on startup
|
||||
* quorumtool: exit on invalid expected votes
|
||||
* votequorum: Change check of expected_votes
|
||||
* cfgtool: Simplify output a bit for link status
|
||||
* man: Enhance link_mode priority description
|
||||
* main: Add schedmiss timestamp into message
|
||||
* totemip: compare sin6_scope_id and interface_num
|
||||
* totemip: Really remove totemip_copy_endian_convert
|
||||
* totemip: Remove unused totemip_copy_endian_convert
|
||||
* totemip: Add support for sin6_scope_id
|
||||
* cfgtool: Improve link status display
|
||||
* totemknet: Change the initial value of the status
|
||||
* stats: Use nanoseconds from epoch for schedmiss
|
||||
* stats: Add stats for scheduler misses
|
||||
* votequorum: Reflect runtime change of 2Node to WFA
|
||||
* cpg: Change downlist log level
|
||||
* man: move cmap_keys man page from section 8 to 7
|
||||
* stats: Check return code of stats_map_get
|
||||
* quorumtool: Assert copied string length
|
||||
* notifyd: Check cmap_track_add result
|
||||
* cmapctl: Free bin_value on error
|
||||
* cfgtool: Remove unused callbacks
|
||||
* cpghum: Remove unused time variables and functions
|
||||
* votequorum: Assert copied strings length
|
||||
* totemknet: Assert strcpy length
|
||||
* totemknet: Check result of fcntl O_NONBLOCK call
|
||||
* totemconfig: Initialize warnings variable
|
||||
* sync: Assert sync_callbacks.name length
|
||||
* totemknet: Don't mix corosync and knet error codes
|
||||
* stats: Assert value_len when value is needed
|
||||
* cmap: Assert copied string length
|
||||
* totemconfig: Reuse already fetched pointer
|
||||
* logconfig: Remove double free of value
|
||||
* votequorum: Ignore the icmap_get_* return value
|
||||
* totemconfig: Free leaks found by coverity
|
||||
* icmap: fix the icmap_get_*_r functions
|
||||
* pkgconfig: Add libqb dependency
|
||||
* Initialize stack allocated memory
|
||||
* man: Fix corosync.conf knet pong count default
|
||||
* totemsrp: Reduce MTU to left room second mcast
|
||||
* totempg: Check sanity (length) of received message
|
||||
* build: add option for enabling sanitizer builds
|
||||
* totemknet: Add locking for log call
|
||||
* man: Fix link_mode priority description
|
||||
* notifyd: Don't dereference NULL key_name
|
||||
* totem: Increase ring_id seq after load
|
||||
* init: Use cpgtool instead of cfgtool
|
||||
* notifyd: Fix warning produced by 32-bit compiler
|
||||
* cfgtool: Remove unused code
|
||||
* logging: Add CS_PRI_NODE_ID and CS_PRI_RING_ID
|
||||
* vqsim: Fix gitignore
|
||||
* totemknet: Disable forwarding on shutdown
|
||||
* totemconfig: Fix compiler warning
|
||||
* totem: fix check if all nodes have same number of links
|
||||
* totem: fix check if all nodes have name attrs in multi-link setups
|
||||
* corosync-notifyd: Add option to disable DNS lookup
|
||||
* totemsrp: Fix warnings produced by gcc 9.1
|
||||
* cpg: Move filling of member_list to subfunction
|
||||
* cpg: Add more comments to notify_lib_joinlist
|
||||
* cpg: send single confchg event per group on joinlist
|
||||
* cpg: notify_lib_joinlist: drop conn parameter
|
||||
* vqsim: Check length of copied optarg
|
||||
* vqsim: Check result of icmap_set_uint32
|
||||
* vqsim: Remove unused total_nodes
|
||||
* vqsim: Free allocated newvq on error
|
||||
* vqsim: Check length of received message
|
||||
* vqsim: Check write result
|
||||
* vqsim: Do not access unitialized argv[0]
|
||||
* totemknet: Initialize return value in setup_nozzle
|
||||
* totemknet: macaddr_str is always set
|
||||
* totemknet: Ignore icmap_get_string result
|
||||
* totemknet: create_nozzle_device simplify check
|
||||
* totemip: Use res in totemip_sa_equal
|
||||
* totemconfig: ipaddr_equal use switch
|
||||
* configure: Fix GDB_CFLAGS typo
|
||||
* man: Add vqsim man page into distributed tarball
|
||||
* spec: Add support for user-flags configure option
|
||||
* man: Enahnce block_unlisted_ips description
|
||||
* man: Enhance corosync.conf mp a bit
|
||||
* cfgtool: Fix link status display
|
||||
* knet: Use block_unlisted_ips
|
||||
* udpu: Drop packets from unlisted IPs
|
||||
* knet: Fix initialising of knet access lists.
|
||||
* knet: allow corosync to use knet access lists
|
||||
* man: Enhance token_retransmit description
|
||||
* totemconfig: Fix minimum limit for hold timeout
|
||||
* vqsim: Enhance vqsim
|
||||
* knet: Fix a couple of errors when adding a new link
|
||||
* totemconfig: fix autogen mcastaddr for ipv6-4
|
||||
* totemconfig: Ensure nodeid is specified for IPv6
|
||||
* vqsim: Fix vqsim for corosync 3.0
|
||||
* vqsim: Make vqsim compile
|
||||
* totemconfig: ipaddr_equal check just addr part
|
||||
* cpg: Add CPG_REASON_UNDEFINED
|
||||
* crypto: re-introduce secauth parameter
|
||||
* totemconfig: Remove support for 3des
|
||||
* keygen: Reflect change in knet
|
||||
* set totem.keyfile and totem.key to RO
|
||||
* Revert "init: Enable StopWhenUnneeded"
|
||||
* totemsrp: Word spelling mistake
|
||||
* coroparse: Fix compiler warning
|
||||
* configure: Do not autodetect nozzle
|
||||
* nozzle: Add support for libnozzle devices
|
||||
* quorumtool: Fix exit status codes
|
||||
* corosync-cfgtool: Fix -i matching
|
||||
* build: Use the AWK variable provided by configure
|
||||
* build: Use the SED variable provided by configure
|
||||
* configure.ac: AC_PROG_SED is already present
|
||||
* corosync.conf.5: typography fixes
|
||||
* corosync.conf.5: fix grammar
|
||||
* cfgtool: Improve link status display
|
||||
* doc: Update INSTALL file
|
||||
* init: Enable StopWhenUnneeded
|
||||
* totemip: Use AF_UNSPEC for ipv4-6 and ipv6-4
|
||||
* [totemknet] update for libknet.so.2.0.0 init API
|
||||
* Config version must be specified
|
||||
* Don't declare success early
|
||||
* More natural error messages
|
||||
* main: Rename run_dir to state_dir
|
||||
* totemconfig: Enhance totem.ip_version
|
||||
* totemip: Add debug information to totemip_parse
|
||||
* totemconfig: Add IPs to family mismatch error
|
||||
* config: Look up hostnames in a defined order
|
||||
* Fix corosync.conf.5 manpage typos
|
||||
* man: Add some information about address resolution
|
||||
* totemconfig: Really use totemip_parse results
|
||||
* man: Add instructions for adding/removing nodes
|
||||
* config: Disallow corosync-cmapctl updates of nodelist
|
||||
* config: Report IP addr/nodename parse errors back
|
||||
* coroparse: Remove unused cs_err initialization
|
||||
* cpghum: Check cpg_local_get return code
|
||||
* testcpg2: Check cpg_dispatch return code
|
||||
* notifyd: Delete registered tracking keys
|
||||
* stats: Fix delete of track
|
||||
* init: Fix init script to work with containers
|
||||
* main: Remove COROSYNC_RUN_DIR
|
||||
* man: Describe nodelist.node.name properly
|
||||
* main: Remove COROSYNC_TOTEM_AUTHKEY_FILE
|
||||
* main: Replace COROSYNC_MAIN_CONFIG_FILE
|
||||
* main: Move sched paramaters to config file
|
||||
* configure: move to AC_COMPILE_IFELSE
|
||||
* logsys: Make hires timestamp default
|
||||
* logsys: Support hires timestamp
|
||||
* totemconfig: Fix logging of freed string
|
||||
* config: Allow generated nodeis for UDP & UDPU
|
||||
* config example: Migrate to newer syntax
|
||||
* log: Implement support for reopening log files
|
||||
* totemconfig: Replace strcpy by strncpy
|
||||
* config: Fix crash in reload if new interfaces are added
|
||||
* man: Fix default knet_pmtud_interval to match code
|
||||
* build: Remove totempg shared library leftovers
|
||||
* build: Do not compile totempg as a shared library
|
||||
* man: Fix typo conains -> contains
|
||||
* man: Fix typo connnections -> connections
|
||||
* build: Remove NSS dependencies
|
||||
* cts: Remove CTS
|
||||
* man: Fix crypto_hash and crypto_cipher defaults
|
||||
* coroparse: Fix newly introduced warning
|
||||
* Add option to force cluster into GATHER state
|
||||
* coroparse: Use key_name for error message
|
||||
* coroparse: Add file name and line to error message
|
||||
* coroparse: Be more strict in what is parsed
|
||||
* coroparse: Fix remove_whitespace end condition
|
||||
* coroparse: Check icmap_set results
|
||||
* coroparse: Return error if config line is too long
|
||||
* notifyd: Propagate error to exit code
|
||||
* git-version-gen: Fail on UNKNOWN version
|
||||
* build: Support for git archive stored tags
|
||||
* man: fix cmap key name runtime.config.totem.token
|
||||
* Remove libcgroup
|
||||
* systemd: prevent redundancy in journal
|
||||
* Add token_warning configuration option
|
||||
* corosync-notifyd: Rename global local_nodeid
|
||||
* totemsrp: Add assert into memb_lowest_in_config
|
||||
* totemconfig: Enlarge error_string_response
|
||||
* ipc_glue: Fix strncpy in pid_to_name function
|
||||
* cmap: Fix strncpy warning in cmap_iter_next
|
||||
* util: Fix strncpy in setcs_name_t function
|
||||
* totemknet: Free instance on failure exit
|
||||
* spec: Add explicit gcc build requirement
|
||||
* Add option for quiet operation to corosync-cmapctl
|
||||
* totemudpu: Pass correct paramto totemip_nosigpipe
|
||||
* totemudpu: Add local loop support
|
||||
* config: Fail config validation if not all nodes have all links
|
||||
* config: Enforce use of 'name' node attribute in multi-link clusters
|
||||
* totemconfig: Check for things that cannot be changed on the fly
|
||||
* Fix snprintf warnings
|
||||
* init: Use existing env variable from sysconf
|
||||
* upstart: Remove notifyd upstart unit
|
||||
* knet: Don't try to create loopback interface twice
|
||||
* knet: Fix knet log buffer size
|
||||
* cpg: Inform clients about left nodes during pause
|
||||
* man: Make the manpages reproducible
|
||||
* totemsrp: Fix leave message regression
|
||||
* totemsrp: Log proc/fail lists in memb_join_process
|
||||
* totemsrp: Fix srp_addr_compare
|
||||
* tools: don't distribute what we can easily make
|
||||
* Drop all references to SECURITY file
|
||||
* SECURITY: Remove SECURITY file
|
||||
* NSS_NoDB_Init: the parameter is reserved, must be NULL
|
||||
* Fix typo: defualt -> default
|
||||
* Fix typo: sucesfully -> successfully
|
||||
* totemsrp: Check join and leave msg length
|
||||
* totemsrp: Implement sanity checks of received msgs
|
||||
* cpg: Handle fragmented message sending interrupt
|
||||
* totem: Display IP of sender
|
||||
* totemsrp: Add magic and version into header
|
||||
* knet: Fix display of links with unconfigured link0
|
||||
* main: Set errno before calling of strtol
|
||||
* quorumtool: Don't set our_flags without v_handle
|
||||
* sam_test_agent: Remove unused assignment
|
||||
* blackbox: Quote subshell result properly
|
||||
* init: Quote subshell result properly
|
||||
* cfgtool: Don't assume link ID is a single char
|
||||
* knet: Always use link0 for loopback
|
||||
* totem: Fix debug warnings printed by knet
|
||||
* config: Allow use of ring0_addr
|
||||
* config: Update message when local host isn't found
|
||||
* cfg: Fix cfg_get_node_addrs so that DLM works
|
||||
* totem: Return interface count correctly
|
||||
* totem: Use nodeid ONLY in srp_addr
|
||||
* [rpm] use rpm macros to identify build distro
|
||||
* [rpm] fixup corosync.spec.in to build on opensuse
|
||||
* totempg: Fix corrupted messages
|
||||
* totempg: use iovec[i].iov_len instead of copy_len
|
||||
* totempg: Fix fragmentation segfault
|
||||
* [build] fix build with non-standard knet location
|
||||
* [man] fix regression introduced by 7162e75dcf81b7e475536e3060bf5e9312cd43b8
|
||||
* Man: Move overview mp to sections 3 and 7 from 8
|
||||
* logging: Close before and open blackbox after fork
|
||||
* logging: Make blackbox configurable
|
||||
* corosync-notifyd: improve error handling
|
||||
* spec: Modernize spec to comply with newest Fedora
|
||||
* build: Remove support for upstart
|
||||
* build: Replace -lknet with autoconf generated vars
|
||||
* build: Remove rdma/ibverbs
|
||||
* qdevice: Remove qdevices
|
||||
* config: Don't fudge port numbers
|
||||
* knet: Allow ping_timers to be auto-configured
|
||||
* cts: Make code compatible with Python 3
|
||||
* corosync-notifyd: make SNMP work again
|
||||
* build: Add the headers necessary for RPM build
|
||||
* config: if local node addr is wrong, fail with a sensible message
|
||||
* totemknet: Drop truncated packets on receive
|
||||
* totemudp: Make use of UDP_RECEIVE_FRAME_SIZE_MAX
|
||||
* totemudpu: Export and rename UDPU_FRAME_SIZE_MAX
|
||||
* totemconfig: Fix UDP autogeneration of mcast addr
|
||||
* totemudpu: Scale receive buffer
|
||||
* config: Allow selection of crypto_model
|
||||
* libcpg: Fix issue with partial big packet assembly
|
||||
* qdevice: mv free(str) after port validation
|
||||
* corosync.aug: Add missing options
|
||||
* config: Allow links to have different ip_versions
|
||||
* Fix compile errors in qdevice and vqsim on FreeBSD
|
||||
* cmapctl: mention the Clear stats option in usage message
|
||||
* corosync-cfgtool: refactor cli parameters handling
|
||||
* wd: fix snprintf warnings
|
||||
* totemsrp: Revert totemsrp_get_ifaces() changes
|
||||
* man: Add note about corosync not using name option
|
||||
* corosync.conf: publicize nodelist.node.name
|
||||
* man: fixes for corosync.conf man page
|
||||
* cmapctl: add "-m" option into help message
|
||||
* totemconfig: remove duplicate aes256 test
|
||||
* fix output format for corosync-cfgtool with knet (#283)
|
||||
* sync: Call sync_init of all services at once
|
||||
* sync: Remove unneeded determine sync code
|
||||
* stats: Add some missing knet stats
|
||||
* man: Add note about qdevice parallel cmds start
|
||||
* man: corosync-qdevice: some more stylistics
|
||||
* systemd: corosync-qdevice can not run without corosync
|
||||
* man: corosync-qdevice: fix formatting vs. punctuation
|
||||
* configure: kill off INITWRAPPERSDIR
|
||||
* corosync-qdevice: send startup notification to systemd
|
||||
* corosync-qnetd: send startup notification to systemd
|
||||
* Send corosync-notifyd startup notification to systemd
|
||||
* Make systemd stop corosync-notifyd if corosync is stopped
|
||||
* corosync.spec: Add system-devel build requirement
|
||||
* Send corosync startup notification to systemd
|
||||
* quorumtool: Use full buffer size in snprintf
|
||||
* cpghum: Mark print/log functions with printf attr
|
||||
* cpg_test_agent: Fix snprintf compiler warnings
|
||||
* sam: Fix snprintf compiler warnings
|
||||
* coroparse: Do not convert empty uid, gid to 0
|
||||
* cmapctl: Add option to clear the stats
|
||||
* stats: Don't display errors when reading knet stat
|
||||
* make the output of "corosync-cfgtool -s" more readable (#269)
|
||||
* cfg: nodeid should be unsigned int
|
||||
* quorumtool: remove duplicated help message
|
||||
* man: fix cpg_mcast_joined.3.in
|
||||
* man: Add stats.clear keys to the cmap_keys man pg
|
||||
* stats: Add cmap key to clear the various stats.
|
||||
* Use RuntimeDirectory instead of tmpfiles.d
|
||||
* totemconfig: generate mcast icmap items for UDP
|
||||
* Use static case blocks to determine distro flavor
|
||||
* configure: add --with-initconfigdir option
|
||||
* totemconfig: add nodeid check for knet
|
||||
* man: support SOURCE_DATE_EPOCH
|
||||
* man:fix in corosync-qdevice.8
|
||||
* man: must set nodeid for knet in nodelist
|
||||
* logsys: Avoid redundant callsite section checking
|
||||
* config: Fix memory leak
|
||||
* knet: Add support for knet compression
|
||||
* qdevice: Add support for heuristics
|
||||
* Spec: fix arch-qualified dependencies
|
||||
* cmap: Remove noop highest config version check
|
||||
* cmap: don't shutdown highest config_version node
|
||||
* totemudp: Remove memb_join discarding
|
||||
* votequorum: make atb consistent on nodelist reload
|
||||
* totem: Remove unnecessary NSS headers
|
||||
* config: Allow dynamic link configuration
|
||||
* totemudp: Retry if bind fails
|
||||
* corosync.conf.5: watchdog support is conditional
|
||||
* wd: default to not using a watchdog
|
||||
* wd: remove extra capitalization typo
|
||||
* corosync.conf.5: add warning about slow watchdogs
|
||||
* totemknet: fix debug message typo
|
||||
* corosync.conf.5: Fix watchdog documentation
|
||||
* wd: fix typo
|
||||
* Include fcntl.h for F_* and O_* defines
|
||||
* stats: add knet 'handle' stats
|
||||
* main: use syslog & printf directly for early log messages
|
||||
* totempg: Allow space for incoming overflow
|
||||
* cpghum: Add options to change flood start/mult/end sizes (#237)
|
||||
* totemknet: Use knet's LOOPBACK transport (#236)
|
||||
* CFG: Remove ring-reenable code
|
||||
* main: Add support for libcgroup
|
||||
* stats: Add map with on-demand statistics
|
||||
* ipc: Check for the libraries sending invalid message IDs
|
||||
* main: Add option to set priority
|
||||
* totemknet: Prevent dead-loop in log_flush_messages
|
||||
* corosync-keygen: Display number of needed bits
|
||||
* totemknet: Flush knet log messages
|
||||
* corosync-keygen: Make less-secure default
|
||||
* corosync-keygen: Adapt to knet key sizes
|
||||
* totemconfig: Make crypto work again
|
||||
* knet: Compile with latest knet API
|
||||
* totem: Propagate totem initialization failure
|
||||
* totemknet: Use new knet_link_set_config() API
|
||||
* coroapi: Use size_t for private_data_size
|
||||
* votequorum: Report errors from votequorum_exec_send_reconfigure
|
||||
* cpghum: remove space after delimiter
|
||||
* cpghum: Add interim RTT to cpghum
|
||||
* configure: Enable C99 language standard
|
||||
* main: Display reason why cluster cannot be formed
|
||||
* notifyd: Add the community name to an SNMP trap
|
||||
* cpghum: Add machine-readable output
|
||||
* test: Fold cpgbench into cpghum (#205)
|
||||
* knet: Allow space for encapsulated messages
|
||||
* Main: Call mlockall after fork
|
||||
* Fix typos in README.recovery
|
||||
* coroparse: Use readdir instead of readdir_r
|
||||
* totemknet: Handle logpipe creation failure
|
||||
* wd: Report error when close of wd fails
|
||||
* Qnetd lms: Use UTILS_PRI_RING_ID printf format str
|
||||
* cpghum: Fix printf of size_t variable
|
||||
* totemknet: Got back to recvmsg() from recvmmsg()
|
||||
* totemconfig: Prefer nodelist over bindnetaddr
|
||||
* knet: Close libknet down cleanly at shutdown
|
||||
* man: Document -a option to corosync-quorumtool
|
||||
* cpghum test: Improve error codes
|
||||
* quorumtool: Add option to show all node addresses
|
||||
* cpghum: Stop cpghum from reporting fake CRC errors
|
||||
* logconfig: Do not overwrite logger_subsys priority
|
||||
* totem: Fix buffer sizes
|
||||
* main: Don't ask libqb to handle segv, it doesn't work
|
||||
* Logsys: Change logsys syslog_priority priority
|
||||
* knet: improve logging messages by adding knet subsystem
|
||||
* cpghum: Add abort_on_error option
|
||||
* cpghum: Add min rtt and print stats every alarm
|
||||
* cpghum: Add Round Trip Time (RTT) reporting
|
||||
* knet: Change nodeids to knet_node_id_t for new knet compatibility
|
||||
* knet: Fix MTU sizes & allow transport config in corosync.conf
|
||||
* knet: PMTUd data_mtu already accounts for IP and knet header overheads
|
||||
* knet: switch from write to sendto()
|
||||
* knet: Change nodeids to 8 bit for new knet compatibility
|
||||
* doc: document watchdog_device parameter
|
||||
* knet: Fix member_remove to shut down existing links first
|
||||
* Spec: make internal dependencies arch-qualified
|
||||
* Spec: drop unneeded dependency
|
||||
* knet: Reduce default pong count to 2 for faster startup
|
||||
* totemknet: Make it compile with kronosnet git master
|
||||
* Qdevice: fix spell errors in qdevice
|
||||
* Remove redundant header file inclusion
|
||||
* Remove deprecated doxygen flags
|
||||
* upstart: Add softdog module loading example
|
||||
* Totempg: remove duplicate memcpy in mcast_msg func
|
||||
* man: Modify man-page according to command usage
|
||||
* init: Add doc URIs to the systemd service files
|
||||
* Fix typo: Destorying -> Destroying
|
||||
* man: Fix typos in man page
|
||||
* totempg: totempg_groups_join return valid error
|
||||
* systemd: Delete unnecessary soft_margin
|
||||
* knet: Support reload of link parameters
|
||||
* list: Unify the list processing with qb_list func
|
||||
* knet: Allow configuration of more params
|
||||
* knet: Don't lose log messages when knet gets busy (#165)
|
||||
* libvotequorum: Bump version
|
||||
* list: Replace for_each by safe version where need
|
||||
* list: Remove list.h
|
||||
* list: Replace uses of list.h with qblist.h
|
||||
* [build] Fix build on RHEL7.3 latest
|
||||
* Change a type of NodeID.
|
||||
* vqsim: Fix Makefile.am
|
||||
* configure: Remove RDMA (again)
|
||||
* vqsim: Add Quorum simulator program
|
||||
* Build: Fail configure if knet is not installed
|
||||
* totem: add totemknet.[ch]
|
||||
* cfg: Prevents use of uninitialized buffer
|
||||
* totem: Add Kronosnet transport.
|
||||
* coropase: Set a poll_period value for wd monitor
|
||||
* votequorum: simplify reconfigure message handling
|
||||
* votequorum: Don't update expected_votes display if value is too high
|
||||
* Fix various typos
|
||||
* init: corosync and cman aren't system facilities
|
||||
* conf: be explicit about the mcast src/dst ports
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 26 10:52:30 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
|
545
corosync.spec
545
corosync.spec
@ -12,7 +12,7 @@
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
@ -24,67 +24,56 @@
|
||||
# Conditionals
|
||||
# Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
|
||||
# to disable or enable specific features
|
||||
%bcond_without testagents
|
||||
%bcond_with watchdog
|
||||
%bcond_with monitoring
|
||||
%bcond_with snmp
|
||||
%bcond_with rdma
|
||||
%bcond_with nozzle
|
||||
%bcond_with dbus
|
||||
%bcond_with upstart
|
||||
%bcond_with xmlconf
|
||||
%bcond_with vqsim
|
||||
%bcond_without runautogen
|
||||
%bcond_without systemd
|
||||
%bcond_without qdevices
|
||||
%bcond_without qnetd
|
||||
%bcond_with userflags
|
||||
|
||||
%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
|
||||
%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
|
||||
|
||||
%if 0%{?sles_version} == 12
|
||||
%ifnarch s390 s390x
|
||||
%define buildib 1
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
%define _libexecdir %{_libdir}
|
||||
%endif
|
||||
|
||||
Name: corosync
|
||||
Summary: The Corosync Cluster Engine and Application Programming Interfaces
|
||||
License: BSD-3-Clause
|
||||
Group: Productivity/Clustering/HA
|
||||
Version: 2.4.6
|
||||
Release: 0
|
||||
URL: http://corosync.github.io/corosync/
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Source2: baselibs.conf
|
||||
Patch1: upstream-afd97d7884940_coroapi-Use-size_t-for-private_data_size.patch
|
||||
Patch2: Fix-compile-warnings-with-GCC-7.2.1.patch
|
||||
Patch3: bug-1083561_upgrade-from-1-x-y.patch
|
||||
Patch4: bug-882449_corosync-conf-example.patch
|
||||
Patch5: bug-1032634_fix-ifdown-udp.patch
|
||||
Patch6: bug-1001164_corosync.conf-example.patch
|
||||
Patch7: corosync-2.3.4-fix-bashisms.patch
|
||||
Patch8: corosync-init-lockfile-path-error.patch
|
||||
Patch9: corosync-start-stop-level.patch
|
||||
Version: 3.1.8
|
||||
Release: 3
|
||||
Url: http://corosync.github.io/corosync/
|
||||
Source0: Source0: https://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
# openais is indeed gone and should be uninstalled. Yes, we do not
|
||||
# provide openais on purpose, the package has been deleted.
|
||||
Obsoletes: openais < 1.2
|
||||
Conflicts: openais < 1.2
|
||||
|
||||
# Runtime bits
|
||||
Requires: libcfg6 = %{version}-%{release}
|
||||
Requires: libcmap4 = %{version}-%{release}
|
||||
Requires: libcorosync_common4 = %{version}-%{release}
|
||||
Requires: libcpg4 = %{version}-%{release}
|
||||
Requires: libquorum5 = %{version}-%{release}
|
||||
Requires: libsam4 = %{version}-%{release}
|
||||
Requires: libtotem_pg5 = %{version}-%{release}
|
||||
Requires: libvotequorum8 = %{version}-%{release}
|
||||
Conflicts: openais <= 0.89
|
||||
Conflicts: openais-devel <= 0.89
|
||||
# The automatic dependency overridden in favor of explicit version lock
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
|
||||
# Support crypto reload
|
||||
Requires: libknet1 >= 1.28
|
||||
# NSS crypto plugin should be always installed
|
||||
Requires: libknet1-crypto-nss-plugin >= 1.28
|
||||
|
||||
# Build bits
|
||||
BuildRequires: gcc
|
||||
|
||||
BuildRequires: groff-full
|
||||
BuildRequires: libqb-devel
|
||||
BuildRequires: mozilla-nss-devel
|
||||
BuildRequires: libknet1-devel >= 1.28
|
||||
BuildRequires: zlib-devel
|
||||
%if %{with runautogen}
|
||||
BuildRequires: autoconf
|
||||
@ -94,34 +83,41 @@ BuildRequires: libtool
|
||||
%if %{with monitoring}
|
||||
BuildRequires: libstatgrab-devel
|
||||
%endif
|
||||
%if %{with rdma}
|
||||
BuildRequires: libibverbs-devel
|
||||
BuildRequires: librdmacm-devel
|
||||
%endif
|
||||
%if %{with snmp}
|
||||
BuildRequires: net-snmp-devel
|
||||
%endif
|
||||
%if %{with dbus}
|
||||
BuildRequires: dbus-1-devel
|
||||
%endif
|
||||
%if %{with nozzle}
|
||||
BuildRequires: libnozzle1-devel
|
||||
%endif
|
||||
%if %{with systemd}
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
%{systemd_ordering}
|
||||
BuildRequires: systemd-devel
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
%endif
|
||||
%if %{with xmlconf}
|
||||
Requires: libxslt
|
||||
%endif
|
||||
%if %{with qdevices} || %{with qnetd}
|
||||
Requires: mozilla-nss-tools
|
||||
%endif
|
||||
%if %{with qnetd}
|
||||
BuildRequires: sed
|
||||
%if %{with vqsim}
|
||||
BuildRequires: readline-devel
|
||||
%endif
|
||||
Obsoletes: libcfg6
|
||||
Obsoletes: libcmap4
|
||||
Obsoletes: libcorosync_common4
|
||||
Obsoletes: libcpg4
|
||||
Obsoletes: libquorum5
|
||||
Obsoletes: libsam4
|
||||
Obsoletes: libtotem_pg5
|
||||
Obsoletes: libvotequorum8
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
%setup -q -n %{name}-%{version}
|
||||
|
||||
rm -f .git*
|
||||
echo %{version} > .tarball-version
|
||||
@ -132,50 +128,36 @@ echo %{version} > .version
|
||||
./autogen.sh
|
||||
%endif
|
||||
|
||||
%if %{with rdma}
|
||||
export ibverbs_CFLAGS=-I/usr/include/infiniband \
|
||||
export ibverbs_LIBS=-libverbs \
|
||||
export rdmacm_CFLAGS=-I/usr/include/rdma \
|
||||
export rdmacm_LIBS=-lrdmacm \
|
||||
%endif
|
||||
%{configure} \
|
||||
%if %{with testagents}
|
||||
--enable-testagents \
|
||||
%endif
|
||||
%if %{with watchdog}
|
||||
--enable-watchdog \
|
||||
--enable-watchdog \
|
||||
%endif
|
||||
%if %{with monitoring}
|
||||
--enable-monitoring \
|
||||
--enable-monitoring \
|
||||
%endif
|
||||
%if %{with snmp}
|
||||
--enable-snmp \
|
||||
--enable-snmp \
|
||||
%endif
|
||||
%if %{with dbus}
|
||||
--enable-dbus \
|
||||
%endif
|
||||
%if %{with rdma}
|
||||
--enable-rdma \
|
||||
--enable-dbus \
|
||||
%endif
|
||||
%if %{with systemd}
|
||||
--enable-systemd \
|
||||
%endif
|
||||
%if %{with upstart}
|
||||
--enable-upstart \
|
||||
--enable-systemd \
|
||||
%endif
|
||||
%if %{with xmlconf}
|
||||
--enable-xmlconf \
|
||||
--enable-xmlconf \
|
||||
%endif
|
||||
%if %{with qdevices}
|
||||
--enable-qdevices \
|
||||
%if %{with nozzle}
|
||||
--enable-nozzle \
|
||||
%endif
|
||||
%if %{with qnetd}
|
||||
--enable-qnetd \
|
||||
%if %{with vqsim}
|
||||
--enable-vqsim \
|
||||
%endif
|
||||
--with-initddir=%{_initrddir} \
|
||||
--with-systemddir=%{_unitdir} \
|
||||
--with-upstartdir=%{_sysconfdir}/init \
|
||||
--with-tmpfilesdir=%{_tmpfilesdir}
|
||||
%if %{with userflags}
|
||||
--enable-user-flags \
|
||||
%endif
|
||||
--with-initddir=%{_initrddir} \
|
||||
--with-systemddir=%{_unitdir}
|
||||
|
||||
make %{_smp_mflags}
|
||||
|
||||
@ -188,8 +170,6 @@ install -m 644 %{_builddir}/%{name}-%{version}/conf/corosync-signals.conf %{buil
|
||||
%endif
|
||||
%if %{with systemd}
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync-qnetd
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync-qdevice
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccorosync-notifyd
|
||||
%endif
|
||||
|
||||
@ -199,40 +179,21 @@ rm -f %{buildroot}%{_libdir}/*.a
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
# drop docs and html docs for now
|
||||
rm -rf %{buildroot}%{_docdir}/*
|
||||
#remove init scripts for corosync, corosync-qdevice, corosync-qnetd
|
||||
rm -rf init/corosync init/corosync-qnetd init/corosync-qdevice
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
||||
mkdir -p %{buildroot}/usr/share/doc/packages/corosync/
|
||||
mkdir -p %{buildroot}%{_fillupdir}/
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/init.d/
|
||||
# /etc/sysconfig/corosync-notifyd
|
||||
install -m 644 tools/corosync-notifyd.sysconfig.example \
|
||||
%{buildroot}%{_fillupdir}/sysconfig.corosync-notifyd
|
||||
install -m 0644 conf/corosync.conf.example* %{buildroot}/usr/share/doc/packages/corosync/
|
||||
mkdir -p %{buildroot}/usr/lib/corosync
|
||||
install -m 0755 init/upgrade.sh %{buildroot}/usr/lib/corosync
|
||||
rm -rf %{buildroot}/etc/corosync/corosync.conf.example*
|
||||
rm -rf %{buildroot}/etc/logrotate.d/
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
||||
install -m 644 init/corosync.sysconfig.example \
|
||||
%{buildroot}%{_fillupdir}/sysconfig.corosync
|
||||
install -m 0644 tools/corosync-notifyd.sysconfig.example \
|
||||
%{buildroot}%{_fillupdir}/sysconfig.corosync-notifyd
|
||||
rm -rf %{buildroot}%{localstatedir}/run/
|
||||
%if %{with qdevices}
|
||||
install -m 644 init/corosync-qdevice.sysconfig.example \
|
||||
%{buildroot}%{_fillupdir}/sysconfig.corosync-qdevice
|
||||
install -m 770 -d %{buildroot}/run/corosync-qdevice
|
||||
%endif
|
||||
|
||||
%if %{with qnetd}
|
||||
install -m 644 init/corosync-qnetd.sysconfig.example \
|
||||
%{buildroot}%{_fillupdir}/sysconfig.corosync-qnetd
|
||||
install -m 770 -d %{buildroot}/run/corosync-qnetd
|
||||
%if %{with systemd}
|
||||
sed -i -e 's/^#User=/User=/' \
|
||||
%{buildroot}%{_unitdir}/corosync-qnetd.service
|
||||
%else
|
||||
sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \
|
||||
%{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description
|
||||
This package contains the Corosync Cluster Engine Executive, several default
|
||||
@ -242,38 +203,24 @@ APIs and libraries, default configuration files, and an init script.
|
||||
%service_add_pre corosync.service corosync-notifyd.service
|
||||
|
||||
%post
|
||||
/usr/lib/corosync/upgrade.sh
|
||||
%{fillup_only -n corosync}
|
||||
%{fillup_only -n corosync-notifyd}
|
||||
# Upgrade
|
||||
if [ $1 -eq 2 ]; then
|
||||
# restore configured /etc/sysconfig/corosync(bsc#1155792)
|
||||
cp %{_sysconfdir}/sysconfig/corosync %{_fillupdir}/tmp.corosync_sysconfig
|
||||
fi
|
||||
|
||||
%{fillup_and_insserv -n corosync}
|
||||
%{fillup_and_insserv -n corosync-notifyd}
|
||||
%service_add_post corosync.service corosync-notifyd.service
|
||||
|
||||
rm -rf %{_sysconfdir}/corosync/corosync.conf.example %{_sysconfdir}/corosync/corosync.conf.example.unicast
|
||||
ln -s /usr/share/doc/packages/corosync/corosync.conf.example %{_sysconfdir}/corosync/
|
||||
ln -s /usr/share/doc/packages/corosync/corosync.conf.example.udpu %{_sysconfdir}/corosync/corosync.conf.example.unicast
|
||||
|
||||
%preun
|
||||
%service_del_preun corosync.service corosync-notifyd.service
|
||||
|
||||
%postun
|
||||
if [ -f %{_sysconfdir}/sysconfig/corosync ]; then
|
||||
rm %{_sysconfdir}/sysconfig/corosync
|
||||
fi
|
||||
|
||||
%posttrans
|
||||
if [ ! -f %{_sysconfdir}/sysconfig/corosync ]; then
|
||||
mv %{_fillupdir}/tmp.corosync_sysconfig %{_sysconfdir}/sysconfig/corosync
|
||||
if [ -f /etc/sysconfig/corosync ]; then
|
||||
rm /etc/sysconfig/corosync
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc SECURITY
|
||||
%license LICENSE
|
||||
%doc LICENSE
|
||||
%{_sbindir}/corosync
|
||||
%{_sbindir}/corosync-keygen
|
||||
%{_sbindir}/corosync-cmapctl
|
||||
@ -288,8 +235,8 @@ fi
|
||||
%{_bindir}/corosync-blackbox
|
||||
%if %{with xmlconf}
|
||||
%{_bindir}/corosync-xmlproc
|
||||
%config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example
|
||||
%dir %{_datadir}/corosync
|
||||
%config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example
|
||||
%{_datadir}/corosync/xml2conf.xsl
|
||||
%{_mandir}/man8/corosync-xmlproc.8*
|
||||
%{_mandir}/man5/corosync.xml.5*
|
||||
@ -298,9 +245,7 @@ fi
|
||||
%dir %{_sysconfdir}/corosync/uidgid.d
|
||||
%dir %{_datadir}/doc/corosync/
|
||||
%dir /usr/lib/corosync/
|
||||
/usr/lib/corosync/upgrade.sh
|
||||
%config(noreplace) /usr/share/doc/packages/corosync/corosync.conf.example
|
||||
%config(noreplace) /usr/share/doc/packages/corosync/corosync.conf.example.udpu
|
||||
%config(noreplace) %{_fillupdir}/sysconfig.corosync-notifyd
|
||||
%config(noreplace) %{_fillupdir}/sysconfig.corosync
|
||||
|
||||
@ -313,17 +258,14 @@ fi
|
||||
%if %{with systemd}
|
||||
%{_unitdir}/corosync.service
|
||||
%{_unitdir}/corosync-notifyd.service
|
||||
%else
|
||||
%dir %{_datadir}/corosync
|
||||
%{_datadir}/corosync/corosync
|
||||
%{_datadir}/corosync/corosync-notifyd
|
||||
%endif
|
||||
%if %{with upstart}
|
||||
%{_sysconfdir}/init/corosync.conf
|
||||
%{_sysconfdir}/init/corosync-notifyd.conf
|
||||
%endif
|
||||
%dir %{_localstatedir}/lib/corosync
|
||||
%dir %{_localstatedir}/log/cluster
|
||||
%{_mandir}/man8/corosync_overview.8*
|
||||
%{_mandir}/man7/corosync_overview.7*
|
||||
%{_mandir}/man8/corosync.8*
|
||||
%{_mandir}/man8/corosync-blackbox.8*
|
||||
%{_mandir}/man8/corosync-cmapctl.8*
|
||||
@ -334,182 +276,42 @@ fi
|
||||
%{_mandir}/man8/corosync-quorumtool.8*
|
||||
%{_mandir}/man5/corosync.conf.5*
|
||||
%{_mandir}/man5/votequorum.5*
|
||||
%{_mandir}/man8/cmap_keys.8*
|
||||
%{_mandir}/man7/cmap_keys.7*
|
||||
%{_datadir}/doc/corosync/*
|
||||
# optional testagent rpm
|
||||
|
||||
#library
|
||||
#
|
||||
%if %{with testagents}
|
||||
%package libs
|
||||
Summary: The corosync Cluster Engine Libraries
|
||||
|
||||
%package -n corosync-testagents
|
||||
Summary: The Corosync Cluster Engine Test Agents
|
||||
Group: Development/Tools/Other
|
||||
Requires: %{name} = %{version}
|
||||
%description libs
|
||||
This package contains corosync libraries.
|
||||
|
||||
%description -n corosync-testagents
|
||||
This package contains corosync test agents.
|
||||
|
||||
%files -n corosync-testagents
|
||||
%defattr(755,root,root,-)
|
||||
%dir %{_datadir}/corosync/tests
|
||||
|
||||
%{_datadir}/corosync/tests/mem_leak_test.sh
|
||||
%{_datadir}/corosync/tests/net_breaker.sh
|
||||
%{_datadir}/corosync/tests/cmap-dispatch-deadlock.sh
|
||||
%{_datadir}/corosync/tests/shm_leak_audit.sh
|
||||
%{_bindir}/cpg_test_agent
|
||||
%{_bindir}/sam_test_agent
|
||||
%{_bindir}/votequorum_test_agent
|
||||
|
||||
%endif
|
||||
|
||||
%package -n libcfg6
|
||||
Summary: Corosync configuration database library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libcfg6
|
||||
This package contains the Corosync configuration database library.
|
||||
|
||||
%package -n libcmap4
|
||||
Summary: Corosync configuration map library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libcmap4
|
||||
The CMAP library is used to interact with the configuration database
|
||||
used by Corosync. The library provides a mechanism to
|
||||
create/chage/remove keys, iterate over them and track changes to
|
||||
keys.
|
||||
|
||||
%package -n libcorosync_common4
|
||||
Summary: The Corosync Cluster Engine library
|
||||
# openais is indeed gone and should be uninstalled. Yes, we do not
|
||||
# provide libopenais on purpose, the package has been deleted.
|
||||
Group: System/Libraries
|
||||
Obsoletes: libopenais3 < 1.2
|
||||
Conflicts: libopenais3 < 1.2
|
||||
Obsoletes: libcorosync4 < %{version}-%{release}
|
||||
Provides: libcorosync4 = %{version}-%{release}
|
||||
|
||||
%description -n libcorosync_common4
|
||||
This package contains the central Corosync library.
|
||||
|
||||
%package -n libcpg4
|
||||
Summary: Corosync group message API
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libcpg4
|
||||
A group message API called CPG, part of Corosync. This library is
|
||||
used to create distributed applications that operate properly during
|
||||
cluster partitions, merges, and faults.
|
||||
|
||||
%package -n libquorum5
|
||||
Summary: Corosync quorum library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libquorum5
|
||||
The quorum library is the external interface to the quorum service.
|
||||
This service is loaded into all nodes in a Corosync cluster and track
|
||||
the quorum status of a node.
|
||||
|
||||
%package -n libsam4
|
||||
Summary: Corosync Simple Availability Manager API
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libsam4
|
||||
The SAM library provide a tool to check the health of an application.
|
||||
The main purpose of SAM is to restart a local process when it fails
|
||||
to respond to a healthcheck request in a configured time interval.
|
||||
|
||||
%package -n libtotem_pg5
|
||||
Summary: Corosync Totem protocol
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libtotem_pg5
|
||||
An implementation of the Totem Single Ring Ordering and Membership
|
||||
protocol providing the Extended Virtual Synchrony model for messaging
|
||||
and membership.
|
||||
|
||||
%package -n libvotequorum8
|
||||
Summary: Corosync vote quorum library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libvotequorum8
|
||||
The votequorum library is the external interface to the vote-based
|
||||
quorum service. This service is optionally loaded into all nodes in a
|
||||
Corosync cluster to avoid split-brain situations. It does this by
|
||||
having a number of votes assigned to each system in the cluster and
|
||||
ensuring that only when a majority of the votes are present, cluster
|
||||
operations are allowed to proceed.
|
||||
|
||||
%files -n libcfg6
|
||||
%defattr(-,root,root)
|
||||
%files libs
|
||||
%doc LICENSE
|
||||
%{_libdir}/libcfg.so.*
|
||||
|
||||
%files -n libcmap4
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libcmap.so.*
|
||||
|
||||
%files -n libcpg4
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libcpg.so.*
|
||||
|
||||
%files -n libcorosync_common4
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libcmap.so.*
|
||||
%{_libdir}/libquorum.so.*
|
||||
%{_libdir}/libvotequorum.so.*
|
||||
%{_libdir}/libsam.so.*
|
||||
%{_libdir}/libcorosync_common.so.*
|
||||
|
||||
%files -n libquorum5
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libquorum.so.*
|
||||
%post libs -p /sbin/ldconfig
|
||||
%postun libs -p /sbin/ldconfig
|
||||
|
||||
%files -n libsam4
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libsam.so.*
|
||||
|
||||
%files -n libtotem_pg5
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libtotem_pg.so.*
|
||||
|
||||
%files -n libvotequorum8
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libvotequorum.so.*
|
||||
|
||||
%post -n libcfg6 -p /sbin/ldconfig
|
||||
%postun -n libcfg6 -p /sbin/ldconfig
|
||||
%post -n libcmap4 -p /sbin/ldconfig
|
||||
%postun -n libcmap4 -p /sbin/ldconfig
|
||||
%post -n libcorosync_common4 -p /sbin/ldconfig
|
||||
%postun -n libcorosync_common4 -p /sbin/ldconfig
|
||||
%post -n libcpg4 -p /sbin/ldconfig
|
||||
%postun -n libcpg4 -p /sbin/ldconfig
|
||||
%post -n libquorum5 -p /sbin/ldconfig
|
||||
%postun -n libquorum5 -p /sbin/ldconfig
|
||||
%post -n libsam4 -p /sbin/ldconfig
|
||||
%postun -n libsam4 -p /sbin/ldconfig
|
||||
%post -n libtotem_pg5 -p /sbin/ldconfig
|
||||
%postun -n libtotem_pg5 -p /sbin/ldconfig
|
||||
%post -n libvotequorum8 -p /sbin/ldconfig
|
||||
%postun -n libvotequorum8 -p /sbin/ldconfig
|
||||
|
||||
%package -n libcorosync-devel
|
||||
%package devel
|
||||
Summary: The Corosync Cluster Engine Development Kit
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libcfg6 = %{version}-%{release}
|
||||
Requires: libcmap4 = %{version}-%{release}
|
||||
Requires: libcorosync_common4 = %{version}-%{release}
|
||||
Requires: libcpg4 = %{version}-%{release}
|
||||
Requires: libqb-devel
|
||||
Requires: libquorum5 = %{version}-%{release}
|
||||
Requires: libsam4 = %{version}-%{release}
|
||||
Requires: libtotem_pg5 = %{version}-%{release}
|
||||
Requires: libvotequorum8 = %{version}-%{release}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Provides: corosync-devel = %{version}
|
||||
Obsoletes: corosync-devel < 0.92-7
|
||||
Provides: %{name}-devel = %{version}
|
||||
|
||||
%description -n libcorosync-devel
|
||||
%description devel
|
||||
This package contains include files and man pages used to develop using
|
||||
The Corosync Cluster Engine APIs.
|
||||
|
||||
%files -n libcorosync-devel
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%doc LICENSE
|
||||
%dir %{_includedir}/corosync/
|
||||
@ -522,14 +324,9 @@ The Corosync Cluster Engine APIs.
|
||||
%{_includedir}/corosync/sam.h
|
||||
%{_includedir}/corosync/quorum.h
|
||||
%{_includedir}/corosync/votequorum.h
|
||||
%dir %{_includedir}/corosync/totem/
|
||||
%{_includedir}/corosync/totem/totem.h
|
||||
%{_includedir}/corosync/totem/totemip.h
|
||||
%{_includedir}/corosync/totem/totempg.h
|
||||
%{_libdir}/libcfg.so
|
||||
%{_libdir}/libcpg.so
|
||||
%{_libdir}/libcmap.so
|
||||
%{_libdir}/libtotem_pg.so
|
||||
%{_libdir}/libquorum.so
|
||||
%{_libdir}/libvotequorum.so
|
||||
%{_libdir}/libsam.so
|
||||
@ -539,161 +336,25 @@ The Corosync Cluster Engine APIs.
|
||||
%{_mandir}/man3/quorum_*3*
|
||||
%{_mandir}/man3/votequorum_*3*
|
||||
%{_mandir}/man3/sam_*3*
|
||||
%{_mandir}/man8/cpg_overview.8*
|
||||
%{_mandir}/man8/votequorum_overview.8*
|
||||
%{_mandir}/man8/sam_overview.8*
|
||||
%{_mandir}/man3/cmap_*3*
|
||||
%{_mandir}/man8/cmap_overview.8*
|
||||
%{_mandir}/man8/quorum_overview.8*
|
||||
%post -n libcorosync-devel -p /sbin/ldconfig
|
||||
%postun -n libcorosync-devel -p /sbin/ldconfig
|
||||
|
||||
%if %{with qdevices}
|
||||
%if %{with vqsim}
|
||||
%package vqsim
|
||||
Summary: The Corosync Cluster Engine - Votequorum Simulator
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
|
||||
%package -n corosync-qdevice
|
||||
Summary: The Corosync Cluster Engine Qdevice
|
||||
Group: System/Base
|
||||
Requires: corosync
|
||||
Requires: mozilla-nss-tools
|
||||
%description vqsim
|
||||
A command-line simulator for the corosync votequorum subsystem.
|
||||
It uses the same code as the corosync quorum system but forks
|
||||
them into subprocesses to simulate nodes.
|
||||
Nodes can be added and removed as well as partitioned (to simulate
|
||||
network splits)
|
||||
|
||||
%if %{with systemd}
|
||||
%{systemd_ordering}
|
||||
%endif
|
||||
|
||||
%description -n corosync-qdevice
|
||||
This package contains the Corosync Cluster Engine Qdevice, script for creating
|
||||
NSS certificates and an init script.
|
||||
|
||||
%pre -n corosync-qdevice
|
||||
%service_add_pre corosync-qdevice.service
|
||||
|
||||
%post -n corosync-qdevice
|
||||
%{fillup_only -n corosync-qdevice}
|
||||
# Upgrade
|
||||
if [ $1 -eq 2 ]; then
|
||||
cp %{_sysconfdir}/sysconfig/corosync-qdevice %{_fillupdir}/tmp.corosync-qdevice_sysconfig
|
||||
fi
|
||||
|
||||
%if %{sles_version} > 0
|
||||
ln -s /run/corosync-qdevice /var/run/
|
||||
%endif
|
||||
%service_add_post corosync-qdevice.service
|
||||
|
||||
%preun -n corosync-qdevice
|
||||
%service_del_preun corosync-qdevice.service
|
||||
|
||||
%if %{sles_version}
|
||||
unlink /var/run/corosync-qdevice
|
||||
%endif
|
||||
|
||||
%service_del_postun corosync-qdevice.service
|
||||
|
||||
%postun -n corosync-qdevice
|
||||
if [ -f %{_sysconfdir}/sysconfig/corosync-qdevice ]; then
|
||||
rm %{_sysconfdir}/sysconfig/corosync-qdevice
|
||||
fi
|
||||
|
||||
%posttrans -n corosync-qdevice
|
||||
if [ ! -f %{_sysconfdir}/sysconfig/corosync-qdevice ]; then
|
||||
mv %{_fillupdir}/tmp.corosync-qdevice_sysconfig %{_sysconfdir}/sysconfig/corosync-qdevice
|
||||
fi
|
||||
|
||||
%files -n corosync-qdevice
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_sysconfdir}/corosync/qdevice
|
||||
%dir %config(noreplace) %{_sysconfdir}/corosync/qdevice/net
|
||||
#change corosync-qdevice to /run as /var/run is symlink nowdays
|
||||
%ghost /run/corosync-qdevice
|
||||
%{_sbindir}/corosync-qdevice
|
||||
%{_sbindir}/corosync-qdevice-net-certutil
|
||||
%{_sbindir}/corosync-qdevice-tool
|
||||
%config(noreplace) %{_fillupdir}/sysconfig.corosync-qdevice
|
||||
%if %{with systemd}
|
||||
%{_unitdir}/corosync-qdevice.service
|
||||
%{_sbindir}/rccorosync-qdevice
|
||||
%dir %{_datadir}/corosync
|
||||
%{_datadir}/corosync/corosync-qdevice
|
||||
%endif
|
||||
%{_mandir}/man8/corosync-qdevice-tool.8*
|
||||
%{_mandir}/man8/corosync-qdevice-net-certutil.8*
|
||||
%{_mandir}/man8/corosync-qdevice.8*
|
||||
%endif
|
||||
|
||||
%if %{with qnetd}
|
||||
|
||||
%package -n corosync-qnetd
|
||||
Summary: The Corosync Cluster Engine Qdevice Network Daemon
|
||||
Group: System/Base
|
||||
Requires: mozilla-nss-tools
|
||||
Requires(pre): /usr/sbin/useradd
|
||||
Provides: group(coroqnetd)
|
||||
Provides: user(coroqnetd)
|
||||
|
||||
%if %{with systemd}
|
||||
%{systemd_ordering}
|
||||
%endif
|
||||
|
||||
%description -n corosync-qnetd
|
||||
This package contains the Corosync Cluster Engine Qdevice Network Daemon, script for creating
|
||||
NSS certificates and an init script.
|
||||
|
||||
%pre -n corosync-qnetd
|
||||
getent group coroqnetd >/dev/null || groupadd -r coroqnetd -g 701
|
||||
getent passwd coroqnetd >/dev/null || useradd -r -g coroqnetd -u 701 -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd
|
||||
|
||||
%service_add_pre corosync-qnetd.service
|
||||
|
||||
exit 0
|
||||
|
||||
%post -n corosync-qnetd
|
||||
%if %{sles_version} > 0
|
||||
ln -s /run/corosync-qnetd /var/run/
|
||||
%endif
|
||||
%{fillup_only -n corosync-qnetd}
|
||||
# Upgrade
|
||||
if [ $1 -eq 2 ]; then
|
||||
cp %{_sysconfdir}/sysconfig/corosync-qnetd %{_fillupdir}/tmp.corosync-qnetd_sysconfig
|
||||
fi
|
||||
|
||||
%service_add_post corosync-qnetd.service
|
||||
|
||||
%preun -n corosync-qnetd
|
||||
%service_del_preun corosync-qnetd.service
|
||||
|
||||
%if %{sles_version} > 0
|
||||
unlink /var/run/corosync-qnetd
|
||||
%endif
|
||||
|
||||
%service_del_postun corosync-qnetd.service
|
||||
|
||||
%postun -n corosync-qnetd
|
||||
if [ -f %{_sysconfdir}/sysconfig/corosync-qnetd ]; then
|
||||
rm %{_sysconfdir}/sysconfig/corosync-qnetd
|
||||
fi
|
||||
|
||||
%posttrans -n corosync-qnetd
|
||||
if [ ! -f %{_sysconfdir}/sysconfig/corosync-qnetd ]; then
|
||||
mv %{_fillupdir}/tmp.corosync-qnetd_sysconfig %{_sysconfdir}/sysconfig/corosync-qnetd
|
||||
fi
|
||||
|
||||
%files -n corosync-qnetd
|
||||
%defattr(-,root,root,-)
|
||||
%dir %config(noreplace) %attr(750, coroqnetd, coroqnetd) %{_sysconfdir}/corosync/qnetd
|
||||
#change corosync-qnetd to /run as /var/run is just symlink nowadays
|
||||
%ghost %attr (750, coroqnetd, coroqnetd) /run/corosync-qnetd
|
||||
%{_bindir}/corosync-qnetd
|
||||
%{_bindir}/corosync-qnetd-certutil
|
||||
%{_bindir}/corosync-qnetd-tool
|
||||
%config(noreplace) %{_fillupdir}/sysconfig.corosync-qnetd
|
||||
%if %{with systemd}
|
||||
%{_unitdir}/corosync-qnetd.service
|
||||
%{_sbindir}/rccorosync-qnetd
|
||||
%dir %{_datadir}/corosync
|
||||
%{_datadir}/corosync/corosync-qnetd
|
||||
%endif
|
||||
%{_mandir}/man8/corosync-qnetd-tool.8*
|
||||
%{_mandir}/man8/corosync-qnetd-certutil.8*
|
||||
%{_mandir}/man8/corosync-qnetd.8*
|
||||
%files vqsim
|
||||
%doc LICENSE
|
||||
%{_bindir}/corosync-vqsim
|
||||
%{_mandir}/man8/corosync-vqsim.8*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
@ -1,24 +0,0 @@
|
||||
diff -Naur corosync-2.4.5/exec/ipc_glue.c corosync-2.4.5-new/exec/ipc_glue.c
|
||||
--- corosync-2.4.5/exec/ipc_glue.c 2019-07-30 20:26:27.000000000 +0800
|
||||
+++ corosync-2.4.5-new/exec/ipc_glue.c 2019-08-13 13:54:38.187443967 +0800
|
||||
@@ -272,7 +272,7 @@
|
||||
struct cs_ipcs_conn_context *context;
|
||||
char proc_name[32];
|
||||
struct qb_ipcs_connection_stats stats;
|
||||
- int32_t size = sizeof(struct cs_ipcs_conn_context);
|
||||
+ size_t size = sizeof(struct cs_ipcs_conn_context);
|
||||
char key_name[ICMAP_KEYNAME_MAXLEN];
|
||||
int set_client_pid = 0;
|
||||
int set_proc_name = 0;
|
||||
diff -Naur corosync-2.4.5/include/corosync/coroapi.h corosync-2.4.5-new/include/corosync/coroapi.h
|
||||
--- corosync-2.4.5/include/corosync/coroapi.h 2019-07-30 20:26:27.000000000 +0800
|
||||
+++ corosync-2.4.5-new/include/corosync/coroapi.h 2019-08-13 13:55:26.031711198 +0800
|
||||
@@ -494,7 +494,7 @@
|
||||
unsigned short priority; /* Lower priority are loaded first, unloaded last.
|
||||
* 0 is a special case which always loaded _and_ unloaded last
|
||||
*/
|
||||
- unsigned int private_data_size;
|
||||
+ size_t private_data_size;
|
||||
enum cs_lib_flow_control flow_control;
|
||||
enum cs_lib_allow_inquorate allow_inquorate;
|
||||
char *(*exec_init_fn) (struct corosync_api_v1 *);
|
Loading…
Reference in New Issue
Block a user