]> git.proxmox.com Git - corosync-pve.git/commitdiff
imported from svn 'corosync/trunk'
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 23 Aug 2011 05:17:33 +0000 (07:17 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 23 Aug 2011 05:17:33 +0000 (07:17 +0200)
20 files changed:
Makefile [new file with mode: 0644]
corosync-1.4.1.orig.tar.gz [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/corosync-pve.dirs [new file with mode: 0644]
debian/corosync-pve.docs [new file with mode: 0644]
debian/corosync-pve.examples [new file with mode: 0644]
debian/corosync-pve.install [new file with mode: 0644]
debian/corosync-pve.postinst [new file with mode: 0644]
debian/corosync-pve.postrm [new file with mode: 0644]
debian/libcorosync-pve-dev.install [new file with mode: 0644]
debian/libcorosync4-pve.install [new file with mode: 0644]
debian/patches/config-path.diff [new file with mode: 0644]
debian/patches/corosync-keygen.diff [new file with mode: 0644]
debian/patches/cpg-join-fix.diff [new file with mode: 0644]
debian/patches/default-config.diff [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/rules [new file with mode: 0755]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..9cb3072
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,49 @@
+RELEASE=2.0
+
+CSVERSION=1.4.1
+CSRELEASE=1
+CSDIR=corosync-${CSVERSION}
+CSSRC=corosync-${CSVERSION}.orig.tar.gz
+
+ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
+
+DEBS=                                                                  \
+       corosync-pve_${CSVERSION}-${CSRELEASE}_${ARCH}.deb              \
+       libcorosync4-pve_${CSVERSION}-${CSRELEASE}_${ARCH}.deb          \
+       libcorosync-pve-dev_${CSVERSION}-${CSRELEASE}_${ARCH}.deb
+
+all: ${DEBS}
+       echo ${DEBS}
+
+${DEBS}: ${CSSRC}
+       echo ${DEBS}
+       rm -rf ${CSDIR}
+       tar xf ${CSSRC} 
+       cp -a debian ${CSDIR}/debian
+       cd ${CSDIR}; dpkg-buildpackage -rfakeroot -b -us -uc
+
+download:
+       rm -rf corosync-${CSVERSION} corosync-${CSVERSION}.orig.tar.gz
+       git clone git://corosync.org/corosync.git -b flatiron-1.4 corosync-${CSVERSION}
+       cd corosync-${CSVERSION}; ./autogen.sh
+       tar czf corosync-${CSVERSION}.orig.tar.gz corosync-${CSVERSION}/
+
+
+.PHONY: upload
+upload: ${DEBS}
+       umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw 
+       mkdir -p /pve/${RELEASE}/extra
+       rm -f /pve/${RELEASE}/extra/corosync*.deb
+       rm -f /pve/${RELEASE}/extra/libcorosync*.deb
+       rm -f /pve/${RELEASE}/extra/Packages*
+       cp ${DEBS} /pve/${RELEASE}/extra
+       cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz
+       umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
+
+.PHONY: clean
+clean:
+       rm -rf *_${ARCH}.deb *.changes *.dsc ${CSDIR} corosync_${CSVERSION}-${CSRELEASE}.tar.gz
+
+.PHONY: dinstall
+dinstall: ${DEBS}
+       dpkg -i ${DEBS}
diff --git a/corosync-1.4.1.orig.tar.gz b/corosync-1.4.1.orig.tar.gz
new file mode 100644 (file)
index 0000000..34d1b8b
Binary files /dev/null and b/corosync-1.4.1.orig.tar.gz differ
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..ccea6ba
--- /dev/null
@@ -0,0 +1,87 @@
+corosync-pve (1.4.1-1) unstable; urgency=low
+
+  * update to 1.4.1
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 26 Jul 2011 11:49:17 +0200
+
+corosync-pve (1.4.0-1) unstable; urgency=low
+
+  * update to 1.4.0
+  
+  * remove fix-schedrr-warning.patch (alread in 1.4.0)
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Jul 2011 12:36:54 +0200
+
+corosync-pve (1.3.1-1) unstable; urgency=low
+
+  * update to latest stable
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 23 Jun 2011 06:52:20 +0200
+
+corosync-pve (1.3.0-1) unstable; urgency=low
+
+  * update to latest stable
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 02 Dec 2010 07:11:10 +0100
+
+corosync-pve (1.2.8-1) unstable; urgency=low
+
+  *  update to latest stable
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 06 Oct 2010 13:24:24 +0200
+
+corosync-pve (1.2.0-1) unstable; urgency=low
+
+  * add patches/cpg-join-fix.diff, see
+  https://bugzilla.redhat.com/show_bug.cgi?id=568356
+  
+  * update to latest stable
+  
+  * do not create/installe /etc/corosync/* - we use cman instead
+  
+  * delete init.d script - we use cman instead
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 21 Jan 2010 13:50:43 +0100
+
+corosync-pve (1.1.2-1) unstable; urgency=low
+
+  *  update to latest stable
+
+ -- Proxmox Support Team <support@proxmox.com>  Fri, 23 Oct 2009 11:41:04 +0200
+
+corosync-pve (1.1.1-1) unstable; urgency=low
+
+  *  update to latest stable
+
+ -- Proxmox Support Team <support@proxmox.com>  Thu, 22 Oct 2009 12:46:53 +0200
+
+corosync-pve (1.0-1) unstable; urgency=low
+
+  * update to latest trunc
+  
+  * use quilt instead of dpatch
+  
+  * use /dev/urandom instead of /dev/random for key generation
+  
+  * new config file localtion: /etc/corosync/corosync.conf
+  
+  * new key location: /etc/corosync/authkey
+  
+  * new default configuration: secauth = on
+  
+  * auto-generate authkey in postinst script if it does not exist
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 08 Jun 2009 03:28:34 -0400
+
+corosync-pve (0.95-1) unstable; urgency=low
+
+  * update to 0.95
+
+ -- Proxmox Support Team <support@proxmox.com>  Wed, 01 Apr 2009 10:07:13 -0400
+
+corosync-pve (0.94-1) unstable; urgency=low
+
+  * Initial release.
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 30 Mar 2009 06:55:24 -0400
+
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..347f632
--- /dev/null
@@ -0,0 +1,68 @@
+Source: corosync-pve
+Priority: extra
+Maintainer: Proxmox Support Team <support@proxmox.com>
+Build-Depends: debhelper (>= 7), autotools-dev, libnss3-dev, groff, quilt
+Standards-Version: 3.7.3
+Section: admin
+Homepage: http://openais.org/
+
+Package: corosync-pve
+Section: admin
+Architecture: any
+Depends: ${shlibs:Depends}, psmisc, lsb-base (>= 3.0-6), libcorosync4-pve, adduser
+Conflicts: openais (<< 0.96), corosync
+Provides: corosync
+Description: Standards-based cluster framework (daemon and modules)
+ The corosync project is a project to implement a production quality
+ "Revised BSD" licensed implementation of all core functionalities
+ required by openais. The project implements cutting edge research
+ on virtual synchrony to provide 100% correct operation in the face of
+ failures or partitionable networks with excellent performance
+ characteristics.
+ .
+ The Application Interface Specification is a software API and policies
+ which are used to develop applications that maintain service during
+ faults.
+ .
+ This package contains the corosync daemon and modules.
+
+Package: libcorosync4-pve
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libopenais2 (<< 0.96-1), libcorosync4
+Provides: libcorosync4
+Description: Standards-based cluster framework (libraries)
+ The corosync project is a project to implement a production quality
+ "Revised BSD" licensed implementation of all core functionalities
+ required by openais. The project implements cutting edge research
+ on virtual synchrony to provide 100% correct operation in the face of
+ failures or partitionable networks with excellent performance
+ characteristics.
+ .
+ The Application Interface Specification is a software API and policies
+ which are used to develop applications that maintain service during
+ faults.
+ .
+ This package contains libraries that should be used by corosync clients.
+
+Package: libcorosync-pve-dev
+Section: libdevel
+Architecture: any
+Depends: libcorosync4-pve (= ${binary:Version})
+Conflicts: libopenais-dev (<< 0.96-1),  libcorosync-dev
+Provides: libcorosync-dev
+Description: Standards-based cluster framework (developer files)
+ The corosync project is a project to implement a production quality
+ "Revised BSD" licensed implementation of all core functionalities
+ required by openais. The project implements cutting edge research
+ on virtual synchrony to provide 100% correct operation in the face of
+ failures or partitionable networks with excellent performance
+ characteristics.
+ .
+ The Application Interface Specification is a software API and policies
+ which are used to develop applications that maintain service during
+ faults.
+ .
+ This package contains header files required to build clients for the
+ corosync infrastructure.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..7c56a74
--- /dev/null
@@ -0,0 +1,66 @@
+This package was debianized by the Proxmox Support Team
+<support@proxmox.com> on Mon, 30 Mar 2009 06:55:24 -0400.
+
+It was downloaded from <http://openais.org/>
+
+***
+All cryptographic software in this package is subject to the following legal
+notice:
+This package includes publicly available encryption source code which,
+together with object code resulting from the compiling of publicly
+available source code, may be exported from the United States under License
+Exception TSU prsuant to 15 C.F.R Section 740.13(e).
+***
+-----------------------------------------------------------------------------
+The following license applies to every file in this package except for 
+the files exec/crypto.c and exec/crypto.h.  The license for these files is
+described later in this document.  Some files are contributed by other authors
+and hence not copyright MontaVista Software.  In this case, the license is
+still as follows:
+-----------------------------------------------------------------------------
+
+Copyright (c) 2002-2004 MontaVista Software, Inc.
+
+All rights reserved.
+
+This software licensed under BSD license, the text of which follows:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+- Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+- Neither the name of the MontaVista Software, Inc. nor the names of its
+  contributors may be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+-----------------------------------------------------------------------------
+The corosync project uses software from the LibTomCrypt project
+www.libtomcrypt.org.  This software is contained the files exec/crypto.c and
+exec/crypto.h.  The following license applies to the files exec/crypto.c and
+exec/crytpo.h:
+-----------------------------------------------------------------------------
+LibTomCrypt is public domain.  As should all quality software be.
+
+All of the software was either written by or donated to Tom St Denis for the
+purposes of this project.  The only exception is the SAFER.C source which has
+no known license status (assumed copyrighted) which is why SAFER,C is shipped
+as disabled.
+
+Tom St Denis
+
+
diff --git a/debian/corosync-pve.dirs b/debian/corosync-pve.dirs
new file mode 100644 (file)
index 0000000..c6d15df
--- /dev/null
@@ -0,0 +1 @@
+var/lib/corosync
diff --git a/debian/corosync-pve.docs b/debian/corosync-pve.docs
new file mode 100644 (file)
index 0000000..bc3a5a3
--- /dev/null
@@ -0,0 +1,5 @@
+AUTHORS
+README.devmap
+README.recovery
+SECURITY
+TODO
diff --git a/debian/corosync-pve.examples b/debian/corosync-pve.examples
new file mode 100644 (file)
index 0000000..5f7ba3c
--- /dev/null
@@ -0,0 +1 @@
+conf/*
diff --git a/debian/corosync-pve.install b/debian/corosync-pve.install
new file mode 100644 (file)
index 0000000..7259193
--- /dev/null
@@ -0,0 +1,4 @@
+usr/sbin
+usr/share/man/man5
+usr/share/man/man8
+usr/lib/lcrso
diff --git a/debian/corosync-pve.postinst b/debian/corosync-pve.postinst
new file mode 100644 (file)
index 0000000..3141a78
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+# postinst script for corosync
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+case "$1" in
+    configure)
+
+       # create the ais user
+        adduser --quiet --group --system --no-create-home ais
+
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/corosync-pve.postrm b/debian/corosync-pve.postrm
new file mode 100644 (file)
index 0000000..95fec86
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+# postrm script for corosync
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge)
+       rm -rf /var/lib/corosync
+    ;;
+
+    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/libcorosync-pve-dev.install b/debian/libcorosync-pve-dev.install
new file mode 100644 (file)
index 0000000..ba92bd3
--- /dev/null
@@ -0,0 +1,6 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.so
+usr/lib/pkgconfig/*
+usr/share/man/man3
+
diff --git a/debian/libcorosync4-pve.install b/debian/libcorosync4-pve.install
new file mode 100644 (file)
index 0000000..a2add09
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*.so.4*
diff --git a/debian/patches/config-path.diff b/debian/patches/config-path.diff
new file mode 100644 (file)
index 0000000..02acedb
--- /dev/null
@@ -0,0 +1,86 @@
+Index: corosync-1.0/exec/coroparse.c
+===================================================================
+--- corosync-1.0.orig/exec/coroparse.c 2009-06-10 06:33:21.000000000 -0400
++++ corosync-1.0/exec/coroparse.c      2009-06-10 06:56:56.000000000 -0400
+@@ -261,7 +261,7 @@
+       filename = getenv ("COROSYNC_MAIN_CONFIG_FILE");
+       if (!filename)
+-              filename = SYSCONFDIR "/corosync.conf";
++              filename = SYSCONFDIR "/corosync/corosync.conf";
+       fp = fopen (filename, "r");
+       if (fp == NULL) {
+Index: corosync-1.0/exec/totemconfig.c
+===================================================================
+--- corosync-1.0.orig/exec/totemconfig.c       2009-06-10 06:33:21.000000000 -0400
++++ corosync-1.0/exec/totemconfig.c    2009-06-10 06:56:56.000000000 -0400
+@@ -764,7 +764,7 @@
+       if (!got_key) {
+               const char *filename = getenv("COROSYNC_TOTEM_AUTHKEY_FILE");
+               if (!filename)
+-                      filename = SYSCONFDIR "/ais/authkey";
++                      filename = SYSCONFDIR "/corosync/authkey";
+               res = read_keyfile(filename, totem_config, error_string);
+               if (res)
+                       goto key_error;
+Index: corosync-1.0/tools/corosync-keygen.c
+===================================================================
+--- corosync-1.0.orig/tools/corosync-keygen.c  2009-06-10 06:33:22.000000000 -0400
++++ corosync-1.0/tools/corosync-keygen.c       2009-06-10 07:34:39.000000000 -0400
+@@ -44,40 +44,45 @@
+ #include <netinet/in.h>
+-#define KEYFILE SYSCONFDIR "/ais/authkey"
++#define KEYFILE SYSCONFDIR "/corosync/authkey"
+ int main (void) {
+       int authkey_fd;
+       int random_fd;
+       unsigned char key[128];
+       ssize_t res;
++      ssize_t bytes = 0;
+       printf ("Corosync Cluster Engine Authentication key generator.\n");
+       if (geteuid() != 0) {
+               printf ("Error: Authorization key must be generated as root user.\n");
+               exit (1);
+       }
+-      if (mkdir (SYSCONFDIR "/ais", 0700)) {
++      if (mkdir (SYSCONFDIR "/corosync", 0700)) {
+               if (errno != EEXIST) {
+-                      perror ("Failed to create directory: " SYSCONFDIR "/ais");
++                      perror ("Failed to create directory: " SYSCONFDIR "/corosync");
+                       exit (1);
+               }
+       }
+-      printf ("Gathering %lu bits for key from /dev/random.\n", (unsigned long)(sizeof (key) * 8));
+-      random_fd = open ("/dev/random", O_RDONLY);
++      printf ("Gathering %lu bits for key from /dev/urandom.\n", (unsigned long)(sizeof (key) * 8));
++      random_fd = open ("/dev/urandom", O_RDONLY);
+       if (random_fd == -1) {
+-              perror ("Is /dev/random present? Opening /dev/random");
++              perror ("Is /dev/urandom present? Opening /dev/urandom");
+               exit (1);
+       }
+       /*
+        * Read random data
+        */
+-      res = read (random_fd, key, sizeof (key));
+-      if (res != sizeof (key)) {
+-              perror ("Could not read /dev/random");
+-              exit (1);
++      while (bytes < sizeof (key)) {
++              res = read (random_fd, key + bytes, sizeof (key) - bytes);
++              if (res <= 0) {
++                      perror ("Could not read /dev/urandom");
++                      exit (1);
++              }
++              bytes += res;
++              printf ("Got %d bits\n", bytes*8);
+       }
+       close (random_fd);
diff --git a/debian/patches/corosync-keygen.diff b/debian/patches/corosync-keygen.diff
new file mode 100644 (file)
index 0000000..f7b8492
--- /dev/null
@@ -0,0 +1,41 @@
+Index: corosync-1.1.2/tools/corosync-keygen.c
+===================================================================
+--- corosync-1.1.2.orig/tools/corosync-keygen.c        2009-10-27 13:25:02.000000000 +0100
++++ corosync-1.1.2/tools/corosync-keygen.c     2009-10-27 13:25:14.000000000 +0100
+@@ -67,9 +67,9 @@
+       printf ("Gathering %lu bits for key from /dev/random.\n", (unsigned long)(sizeof (key) * 8));
+       printf ("Press keys on your keyboard to generate entropy.\n");
+-      random_fd = open ("/dev/random", O_RDONLY);
++      random_fd = open ("/dev/urandom", O_RDONLY);
+       if (random_fd == -1) {
+-              perror ("Is /dev/random present? Opening /dev/random");
++              perror ("Is /dev/urandom present? Opening /dev/urandom");
+               exit (errno);
+       }
+@@ -78,16 +78,14 @@
+        */
+       bytes_read = 0;
+-retry_read:
+-      res = read (random_fd, &key[bytes_read], sizeof (key) - bytes_read);
+-      if (res == -1) {
+-              perror ("Could not read /dev/random");
+-              exit (errno);
+-      }
+-      bytes_read += res;
+-      if (bytes_read != sizeof (key)) {
+-              printf ("Press keys on your keyboard to generate entropy (bits = %d).\n", bytes_read * 8);
+-              goto retry_read;
++      while (bytes_read < sizeof (key)) {
++              res = read (random_fd, key + bytes_read, sizeof (key) - bytes_read);
++              if (res <= 0) {
++                      perror ("Could not read /dev/urandom");
++                      exit (1);
++              }
++              bytes_read += res;
++              printf ("Got %d bits\n", bytes_read*8);
+       }
+       close (random_fd);
diff --git a/debian/patches/cpg-join-fix.diff b/debian/patches/cpg-join-fix.diff
new file mode 100644 (file)
index 0000000..75d4cbd
--- /dev/null
@@ -0,0 +1,44 @@
+commit 41a2a23e5da11cfbae054dcd79512fb816c37d30
+Author: Jan Friesse <jfriesse@redhat.com>
+Date:   Thu Feb 25 15:38:25 2010 +0100
+
+    Cpg join with undelivered leave message
+    
+    Patch handles situation, when on one node, one process:
+    - join cpg
+    - do same actions
+    - leave cpg
+    - join cpg again
+    
+    Following sequence can (racy) end with broken process_info list.
+    
+    To solve this problem, one more check is done in
+    message_handler_req_lib_cpg_join so if process_info with same pid and
+    group as new join request exists, CPG_ERR_TRY_AGAIN is returned.
+
+Index: corosync-1.2.0/services/cpg.c
+===================================================================
+--- corosync-1.2.0.orig/services/cpg.c 2010-02-26 10:20:18.000000000 +0100
++++ corosync-1.2.0/services/cpg.c      2010-02-26 10:20:32.000000000 +0100
+@@ -1063,6 +1063,21 @@
+               }
+       }
++      /*
++       * Same check must be done in process info list, because there may be not yet delivered
++       * leave of client.
++       */
++      for (iter = process_info_list_head.next; iter != &process_info_list_head; iter = iter->next) {
++              struct process_info *pi = list_entry (iter, struct process_info, list);
++
++              if (pi->nodeid == api->totem_nodeid_get () && pi->pid == req_lib_cpg_join->pid &&
++                  mar_name_compare(&req_lib_cpg_join->group_name, &pi->group) == 0) {
++                      /* We have same pid and group name joined -> return error */
++                      error = CPG_ERR_TRY_AGAIN;
++                      goto response_send;
++              }
++      }
++
+       switch (cpd->cpd_state) {
+       case CPD_STATE_UNJOINED:
+               error = CPG_OK;
diff --git a/debian/patches/default-config.diff b/debian/patches/default-config.diff
new file mode 100644 (file)
index 0000000..ae72846
--- /dev/null
@@ -0,0 +1,22 @@
+Index: corosync-1.0/conf/corosync.conf.example
+===================================================================
+--- corosync-1.0.orig/conf/corosync.conf.example       2009-06-10 06:33:21.000000000 -0400
++++ corosync-1.0/conf/corosync.conf.example    2009-06-10 06:54:17.000000000 -0400
+@@ -1,7 +1,7 @@
+ # Please read the corosync.conf.5 manual page
+ totem {
+       version: 2
+-      secauth: off
++      secauth: on
+       threads: 0
+       interface {
+               ringnumber: 0
+@@ -14,7 +14,7 @@
+ logging {
+       fileline: off
+       to_stderr: yes
+-      to_logfile: yes
++      to_logfile: no
+       to_syslog: yes
+       logfile: /tmp/corosync.log
+       debug: off
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..5f51d44
--- /dev/null
@@ -0,0 +1,4 @@
+#config-path.diff
+#default-config.diff
+#corosync-keygen.diff
+#cpg-join-fix.diff
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..e89d5c0
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+ifneq "$(wildcard /usr/share/quilt/quilt.make)" ""
+include /usr/share/quilt/quilt.make
+endif
+
+config.status: configure
+       dh_testdir
+       # Add here commands to configure the package.
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
+       cp -f /usr/share/misc/config.sub config.sub
+endif
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
+       cp -f /usr/share/misc/config.guess config.guess
+endif
+
+       ./configure --prefix=/usr --sysconfdir=/etc --mandir=\$${prefix}/share/man --localstatedir=/var --infodir=\$${prefix}/share/info --with-lcrso-dir=\$${prefix}/lib/lcrso
+
+       touch config.status
+
+build: patch build-stamp
+build-stamp:  config.status 
+       dh_testdir
+
+       # Add here commands to compile the package.
+       $(MAKE)
+
+       touch $@
+
+clean: unpatch
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp 
+
+       # Add here commands to clean up after the build process.
+       [ ! -f Makefile ] || $(MAKE) distclean
+       rm -f config.sub config.guess
+
+       dh_clean 
+
+install: install-stamp
+install-stamp: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       # Add here commands to install the package into debian/tmp
+       $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install    
+
+       # we do not use corosync-keygen
+       rm $(CURDIR)/debian/tmp/usr/sbin/corosync-keygen
+
+       chmod 0644 $(CURDIR)/debian/tmp/usr/lib/lcrso/*.lcrso
+       strip -s $(CURDIR)/debian/tmp/usr/lib/lcrso/*.lcrso
+
+       touch $@
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+       dh_install
+#      dh_installmenu
+#      dh_installdebconf       
+       dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+       dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_python
+       dh_makeshlibs
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install