From ad76269943677d79726c9ac40fb51c4953c62cc41f74eb6e5d863d024c55ffbf Mon Sep 17 00:00:00 2001 From: Tim Serong Date: Tue, 20 Sep 2011 09:39:43 +0000 Subject: [PATCH 1/2] Accepting request 83131 from home:jengelh:bl-c - Remove redundant tags/sections from specfile - Add baselibs configuration OBS-URL: https://build.opensuse.org/request/show/83131 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/corosync?expand=0&rev=9 --- baselibs.conf | 4 ++++ corosync.changes | 6 ++++++ corosync.spec | 10 ++++------ 3 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 baselibs.conf diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..047eda6 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libcorosync4 +corosync-devel + requires -corosync- + requires "libcorosync4- = " diff --git a/corosync.changes b/corosync.changes index a990a3e..e7ce5c4 100644 --- a/corosync.changes +++ b/corosync.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Sep 17 23:53:47 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile +- Add baselibs configuration + ------------------------------------------------------------------- Tue Feb 8 13:03:11 UTC 2011 - tserong@novell.com diff --git a/corosync.spec b/corosync.spec index 4ec11b5..8e35828 100644 --- a/corosync.spec +++ b/corosync.spec @@ -1,7 +1,7 @@ # -# spec file for package corosync (Version 1.3.0) +# spec file for package corosync # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild %if 0%{?sles_version} == 11 %ifnarch s390 s390x @@ -25,6 +24,7 @@ %if 0%{?suse_version} %define _libexecdir %{_libdir} %endif + Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces Version: 1.3.0 @@ -33,6 +33,7 @@ License: BSD3c Group: System Environment/Base Url: http://www.openais.org Source0: http://developer.osdl.org/dev/openais/downloads/%{name}-%{version}/%{name}-%{version}.tar.gz +Source2: baselibs.conf Patch1: corosync-confexample-timestamp.patch Patch2: corosync-revert-cs2429.patch Patch3: corosync-trunk-reset-pause-timestamp-on-events.patch @@ -96,9 +97,6 @@ rm -rf %{buildroot}%{_docdir}/* # the docdir is /usr/share/doc/ in the configuration rm -rf %{buildroot}%{_datadir}/doc/* -%clean -rm -rf %{buildroot} - %description This package contains the Corosync Cluster Engine Executive, several default APIs and libraries, default configuration files, and an init From fb62e96237fc593f5d4f4bb40b0538076e381a1122e46e4b3764560def7264ca Mon Sep 17 00:00:00 2001 From: Tim Serong Date: Tue, 20 Sep 2011 13:51:29 +0000 Subject: [PATCH 2/2] - Changes since corosync 1.4.1 stable release: * Resolve a deadlock between the timer and serialize locks. * totemconfig: change minimum RRP threshold * Ignore memb_join messages during flush operations * rrp: Higher threshold in passive mode for mcast (bnc#712037) * rrp: Handle endless loop if all ifaces are faulty (bnc#712037) * A CPG client can sometimes lockup if the local node is in the downlist * Handle errors from totem_mcast * coroipcc: use malloc for path in service_connect * Version cs: 23112099e1c2b620e6976ca099d2b9afc80721aa - corosync 1.4.1 stable release: * main: let poll really stop before totempg_finalize * totemsrp: fix buffer overflows for large clusters (> 100 nodes) * rrp: Handle rollower in passive rrp properly * rrp: handle rollover in active rrp properly * totemconfig: Change default FAIL_TO_RECV_CONST * Fix problem where corosync will segfault if there are gaps in recovery queue * cpgtool/cfgtool: print list of IP with space between items * RRP: redundant ring automatic recovery (fate#310284) * fix typos in cpg_mcast_joined.3 and cpg_zcb_mcast_joined.3 * Remove spinlocks * confdb: Resolve dispatch deadlock * RRP: Fix ring initialization issue for UDPU mode * crypto: rng_make_prng prevent buf overflow * cpg: do_proc_join change list_slice to list_add * totemudp: memset of proper size * coroipcs: init buf in coroipcs_handler_dispatch * iazc: Reduce number of mem alloc and memcpy * coroipcc: Fix unhandled BSD EOF in coroipcc_dispatch_get() OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/corosync?expand=0&rev=10 --- corosync-1.3.0.tar.gz | 3 - corosync-1.4.1.tar.bz2 | 3 + corosync-confexample-timestamp.patch | 8 +- corosync-revert-cs2429.patch | 27 +++--- ...runk-reset-pause-timestamp-on-events.patch | 95 ------------------- corosync.changes | 51 ++++++++++ corosync.conf.example.patch | 52 +++------- corosync.spec | 25 ++--- 8 files changed, 99 insertions(+), 165 deletions(-) delete mode 100644 corosync-1.3.0.tar.gz create mode 100644 corosync-1.4.1.tar.bz2 delete mode 100644 corosync-trunk-reset-pause-timestamp-on-events.patch diff --git a/corosync-1.3.0.tar.gz b/corosync-1.3.0.tar.gz deleted file mode 100644 index 80f3290..0000000 --- a/corosync-1.3.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4f9e399befcb595a1671f7ddb54dbf53e1faad6416da1415e2d787e6d2eb94a5 -size 683458 diff --git a/corosync-1.4.1.tar.bz2 b/corosync-1.4.1.tar.bz2 new file mode 100644 index 0000000..07a6a5a --- /dev/null +++ b/corosync-1.4.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1938d2ee839444191a83470bf54192ab0d2d63d2f74356055cb5c19249485aec +size 311823 diff --git a/corosync-confexample-timestamp.patch b/corosync-confexample-timestamp.patch index 71d2d52..7cdf967 100644 --- a/corosync-confexample-timestamp.patch +++ b/corosync-confexample-timestamp.patch @@ -1,8 +1,8 @@ -Index: corosync-1.2.6/conf/corosync.conf.example +Index: corosync-1.4.1/conf/corosync.conf.example =================================================================== ---- corosync-1.2.6.orig/conf/corosync.conf.example -+++ corosync-1.2.6/conf/corosync.conf.example -@@ -20,7 +20,7 @@ logging { +--- corosync-1.4.1.orig/conf/corosync.conf.example ++++ corosync-1.4.1/conf/corosync.conf.example +@@ -21,7 +21,7 @@ logging { to_syslog: yes logfile: /var/log/cluster/corosync.log debug: off diff --git a/corosync-revert-cs2429.patch b/corosync-revert-cs2429.patch index 74ab5db..381abff 100644 --- a/corosync-revert-cs2429.patch +++ b/corosync-revert-cs2429.patch @@ -1,8 +1,9 @@ Only in corosync-1.2.0/exec: cscope.out -diff -ur corosync-1.2.0.orig//exec/totemip.c corosync-1.2.0/exec/totemip.c ---- corosync-1.2.0.orig//exec/totemip.c 2009-12-08 01:25:45.000000000 +0100 -+++ corosync-1.2.0/exec/totemip.c 2010-03-04 19:32:22.049615000 +0100 -@@ -376,9 +376,6 @@ +Index: corosync-1.4.1/exec/totemip.c +=================================================================== +--- corosync-1.4.1.orig/exec/totemip.c ++++ corosync-1.4.1/exec/totemip.c +@@ -396,9 +396,6 @@ int totemip_iface_check(struct totem_ip_ */ totemip_sockaddr_to_totemip_convert((struct sockaddr_storage *)sockaddr_in, boundto); boundto->nodeid = sockaddr_in->sin_addr.s_addr; @@ -12,7 +13,7 @@ diff -ur corosync-1.2.0.orig//exec/totemip.c corosync-1.2.0/exec/totemip.c if (ioctl(id_fd, SIOCGLIFFLAGS, &lifreq[i]) < 0) { printf ("couldn't do ioctl\n"); -@@ -609,9 +606,6 @@ +@@ -648,9 +645,6 @@ int totemip_iface_check(struct totem_ip_ if (ipaddr.family == AF_INET && ipaddr.nodeid == 0) { unsigned int nodeid = 0; memcpy (&nodeid, ipaddr.addr, sizeof (int)); @@ -22,11 +23,11 @@ diff -ur corosync-1.2.0.orig//exec/totemip.c corosync-1.2.0/exec/totemip.c if (mask_high_bit) { nodeid &= 0x7FFFFFFF; } -Only in corosync-1.2.0/exec: totemip.c.orig -diff -ur corosync-1.2.0.orig//test/testcpg.c corosync-1.2.0/test/testcpg.c ---- corosync-1.2.0.orig//test/testcpg.c 2009-09-20 08:04:02.000000000 +0200 -+++ corosync-1.2.0/test/testcpg.c 2010-03-04 19:30:03.590982000 +0100 -@@ -48,7 +48,6 @@ +Index: corosync-1.4.1/test/testcpg.c +=================================================================== +--- corosync-1.4.1.orig/test/testcpg.c ++++ corosync-1.4.1/test/testcpg.c +@@ -49,7 +49,6 @@ #include #include @@ -34,7 +35,7 @@ diff -ur corosync-1.2.0.orig//test/testcpg.c corosync-1.2.0/test/testcpg.c static int quit = 0; static int show_ip = 0; -@@ -62,24 +61,6 @@ +@@ -63,24 +62,6 @@ static void print_cpgname (const struct } } @@ -59,7 +60,7 @@ diff -ur corosync-1.2.0.orig//test/testcpg.c corosync-1.2.0/test/testcpg.c static void DeliverCallback ( cpg_handle_t handle, const struct cpg_name *groupName, -@@ -88,9 +69,18 @@ +@@ -89,9 +70,18 @@ static void DeliverCallback ( void *msg, size_t msg_len) { @@ -80,7 +81,7 @@ diff -ur corosync-1.2.0.orig//test/testcpg.c corosync-1.2.0/test/testcpg.c } static void ConfchgCallback ( -@@ -101,27 +91,51 @@ +@@ -102,27 +92,51 @@ static void ConfchgCallback ( const struct cpg_address *joined_list, size_t joined_list_entries) { int i; diff --git a/corosync-trunk-reset-pause-timestamp-on-events.patch b/corosync-trunk-reset-pause-timestamp-on-events.patch deleted file mode 100644 index 9d791f0..0000000 --- a/corosync-trunk-reset-pause-timestamp-on-events.patch +++ /dev/null @@ -1,95 +0,0 @@ -Index: exec/totemsrp.c -=================================================================== ---- corosync-1.2.1/exec/totemsrp.c (revision 2662) -+++ corosync-1.2.1/exec/totemsrp.c (working copy) -@@ -3427,6 +3427,7 @@ - cancel_heartbeat_timeout(instance); - } - -+ timer_function_pause_timeout (instance); - return (0); /* discard token */ - } - -@@ -3451,6 +3452,7 @@ - cancel_heartbeat_timeout(instance); - } - -+ timer_function_pause_timeout (instance); - return (0); /* discard token */ - } - -@@ -3605,6 +3607,7 @@ - cancel_heartbeat_timeout(instance); - } - -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -3775,6 +3778,7 @@ - memb_set_merge (&mcast_header.system_from, 1, - instance->my_proc_list, &instance->my_proc_list_entries); - memb_state_gather_enter (instance, 8); -+ timer_function_pause_timeout (instance); - return (0); - } - break; -@@ -3789,6 +3793,7 @@ - instance->stats.rx_msg_dropped++; - break; - } -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -3831,6 +3836,7 @@ - } - - /* TODO remove from retrans message queue for old ring in recovery state */ -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -3856,6 +3862,7 @@ - if (memcmp (&instance->my_ring_id, &memb_merge_detect.ring_id, - sizeof (struct memb_ring_id)) == 0) { - -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -3891,6 +3898,8 @@ - /* do nothing in recovery */ - break; - } -+ -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -4161,6 +4170,7 @@ - } - break; - } -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -4242,6 +4252,8 @@ - } - break; - } -+ -+ timer_function_pause_timeout (instance); - return (0); - } - -@@ -4261,6 +4273,8 @@ - timer_function_token_retransmit_timeout (instance); - } - } -+ -+ timer_function_pause_timeout (instance); - return (0); - } - diff --git a/corosync.changes b/corosync.changes index e7ce5c4..eb1a47e 100644 --- a/corosync.changes +++ b/corosync.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Tue Sep 20 13:15:22 UTC 2011 - tserong@suse.com + +- Changes since corosync 1.4.1 stable release: +* Resolve a deadlock between the timer and serialize locks. +* totemconfig: change minimum RRP threshold +* Ignore memb_join messages during flush operations +* rrp: Higher threshold in passive mode for mcast (bnc#712037) +* rrp: Handle endless loop if all ifaces are faulty (bnc#712037) +* A CPG client can sometimes lockup if the local node is in the downlist +* Handle errors from totem_mcast +* coroipcc: use malloc for path in service_connect +* Version cs: 23112099e1c2b620e6976ca099d2b9afc80721aa +- corosync 1.4.1 stable release: +* main: let poll really stop before totempg_finalize +* totemsrp: fix buffer overflows for large clusters (> 100 nodes) +* rrp: Handle rollower in passive rrp properly +* rrp: handle rollover in active rrp properly +* totemconfig: Change default FAIL_TO_RECV_CONST +* Fix problem where corosync will segfault if there are gaps in recovery + queue +* cpgtool/cfgtool: print list of IP with space between items +* RRP: redundant ring automatic recovery (fate#310284) +* fix typos in cpg_mcast_joined.3 and cpg_zcb_mcast_joined.3 +* Remove spinlocks +* confdb: Resolve dispatch deadlock +* RRP: Fix ring initialization issue for UDPU mode +* crypto: rng_make_prng prevent buf overflow +* cpg: do_proc_join change list_slice to list_add +* totemudp: memset of proper size +* coroipcs: init buf in coroipcs_handler_dispatch +* iazc: Reduce number of mem alloc and memcpy +* coroipcc: Fix unhandled BSD EOF in coroipcc_dispatch_get() +* cpg: fix sync master selection when one node paused +* totemsrp: Enhance mcast failure detection +* coroipcs: Deny connect to service without initfn +* Add ipc_refcnt to message_handler_req_{exec, lib}_cfg_ringreenable() +- corosync 1.3.1 release: +* corosync crashing when a network becomes disrupted and then restored + (bnc#685241) +* Align IPC on 8 byte boundaries for performance and avoid bus errors. +* Provide better checking of the message type. +* totemsrp: free messages originated in recovery rather then rely on + messages_free +* Resolve abort during simulatenous stopping of at least 4 nodes. +* Don't assert when ring id file is less then 8 bytes (possibly after + local fs problems). +* Handle delayed multicast packets that occur with switches. +* CPG: make sure coroipcc_service_disconnect() is always called. +* Fix abort when token is lost in RECOVERY state (bnc#677779) + ------------------------------------------------------------------- Sat Sep 17 23:53:47 UTC 2011 - jengelh@medozas.de diff --git a/corosync.conf.example.patch b/corosync.conf.example.patch index f4c9a0c..0e83988 100644 --- a/corosync.conf.example.patch +++ b/corosync.conf.example.patch @@ -1,8 +1,8 @@ -Index: corosync-1.2.1/conf/corosync.conf.example +Index: corosync-1.4.1/conf/corosync.conf.example =================================================================== ---- corosync-1.2.1.orig/conf/corosync.conf.example -+++ corosync-1.2.1/conf/corosync.conf.example -@@ -1,32 +1,78 @@ +--- corosync-1.4.1.orig/conf/corosync.conf.example ++++ corosync-1.4.1/conf/corosync.conf.example +@@ -1,10 +1,57 @@ # Please read the corosync.conf.5 manual page compatibility: whitetank @@ -61,41 +61,17 @@ Index: corosync-1.2.1/conf/corosync.conf.example + # nodeid: 1234 + interface { -- ringnumber: 0 -- bindnetaddr: 192.168.1.1 -- mcastaddr: 226.94.1.1 -- mcastport: 5405 -+ ringnumber: 0 -+ -+ # The following values need to be set based on your environment -+ bindnetaddr: 192.168.1.0 -+ mcastaddr: 226.94.1.1 -+ mcastport: 5405 - } - } - + ringnumber: 0 + bindnetaddr: 192.168.1.1 +@@ -17,9 +64,9 @@ totem { logging { -- fileline: off -- to_stderr: no + fileline: off + to_stderr: no - to_logfile: yes -- to_syslog: yes ++ to_logfile: no + to_syslog: yes - logfile: /var/log/cluster/corosync.log -- debug: off -- timestamp: off -- logger_subsys { -- subsys: AMF -- debug: off -- } -+ fileline: off -+ to_stderr: no -+ to_logfile: no -+ to_syslog: yes + syslog_facility: daemon -+ debug: off -+ timestamp: off - } - - amf { - mode: disabled - } -+ + debug: off + timestamp: off + logger_subsys { diff --git a/corosync.spec b/corosync.spec index 8e35828..a5a375f 100644 --- a/corosync.spec +++ b/corosync.spec @@ -27,16 +27,15 @@ Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces -Version: 1.3.0 -Release: 1 +Version: 1.4.1 +Release: 0 License: BSD3c -Group: System Environment/Base -Url: http://www.openais.org -Source0: http://developer.osdl.org/dev/openais/downloads/%{name}-%{version}/%{name}-%{version}.tar.gz +Group: Productivity/Clustering/HA +Url: http://www.corosync.org +Source0: http://developer.osdl.org/dev/openais/downloads/%{name}-%{version}/%{name}-%{version}.tar.bz2 Source2: baselibs.conf Patch1: corosync-confexample-timestamp.patch Patch2: corosync-revert-cs2429.patch -Patch3: corosync-trunk-reset-pause-timestamp-on-events.patch Patch4: corosync.conf.example.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # Runtime bits @@ -45,9 +44,9 @@ Requires(pre): /usr/sbin/useradd Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Conflicts: openais <= 0.89, libopenais2 <= 0.89, libopenais-devel <= 0.89 -%define buildtrunk 0 +%define buildtrunk 1 %{?_with_buildtrunk: %define buildtrunk 1} -%if %{buildtrunk} +%if 0%{?buildtrunk} == 1 BuildRequires: autoconf automake %endif BuildRequires: mozilla-nss mozilla-nss-devel @@ -60,11 +59,10 @@ BuildRequires: pkg-config %setup -q -n %{name}-%{version} %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %build -%if %{buildtrunk} +%if 0%{?buildtrunk} == 1 ./autogen.sh %endif %if 0%{?buildib} == 1 @@ -89,6 +87,9 @@ make install DESTDIR=%{buildroot} #ln -sf ../../etc/init.d/corosync %{buildroot}%{_sbindir}/rccorosync #%endif rm -f %{buildroot}%{_initrddir}/corosync +rm -f %{buildroot}%{_initrddir}/corosync-notifyd +rm -f %{buildroot}/usr/sbin/corosync-notifyd +rm -f %{buildroot}/usr/share/man/man8/corosync-notifyd.8 ## tree fixup # drop static libs rm -f %{buildroot}%{_libdir}/*.a @@ -150,7 +151,7 @@ script. %package -n libcorosync4 License: BSD3c Summary: The Corosync Cluster Engine Libraries -Group: System Environment/Libraries +Group: Productivity/Clustering/HA Conflicts: corosync < 0.92-7 Requires: %{name} = %{version}-%{release} @@ -182,7 +183,7 @@ This package contains corosync libraries. %package -n libcorosync-devel License: BSD3c Summary: The Corosync Cluster Engine Development Kit -Group: Development/Libraries +Group: Productivity/Clustering/HA Requires: libcorosync4 = %{version}-%{release} Requires: pkgconfig