diff options
author | 2014-06-16 09:56:08 +0000 | |
---|---|---|
committer | 2014-06-16 09:56:08 +0000 | |
commit | e929039da42588bfadd32e393bd58d46ce4d3d66 (patch) | |
tree | 9f8f463b7d96c5483fc8f5f20fad1b35c5728718 /sys-cluster | |
parent | Stable for amd64 wrt bug #505796 (diff) | |
download | historical-e929039da42588bfadd32e393bd58d46ce4d3d66.tar.gz historical-e929039da42588bfadd32e393bd58d46ce4d3d66.tar.bz2 historical-e929039da42588bfadd32e393bd58d46ce4d3d66.zip |
fix #486186
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0xB658FA13
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/heartbeat/ChangeLog | 10 | ||||
-rw-r--r-- | sys-cluster/heartbeat/Manifest | 15 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch | 145 | ||||
-rw-r--r-- | sys-cluster/heartbeat/heartbeat-3.0.5-r2.ebuild (renamed from sys-cluster/heartbeat/heartbeat-3.0.5-r1.ebuild) | 5 |
4 files changed, 164 insertions, 11 deletions
diff --git a/sys-cluster/heartbeat/ChangeLog b/sys-cluster/heartbeat/ChangeLog index bde49902cde5..e6e0e120e999 100644 --- a/sys-cluster/heartbeat/ChangeLog +++ b/sys-cluster/heartbeat/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-cluster/heartbeat -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/ChangeLog,v 1.104 2012/10/29 16:44:23 ultrabug Exp $ +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/ChangeLog,v 1.105 2014/06/16 09:55:59 ultrabug Exp $ + +*heartbeat-3.0.5-r2 (16 Jun 2014) + + 16 Jun 2014; Ultrabug <ultrabug@gentoo.org> -heartbeat-3.0.5-r1.ebuild, + +heartbeat-3.0.5-r2.ebuild, +files/3.0.5-fix_ucast.patch: + fix #486186 thx to Zdravko Spoljar and Timothy Jones, drop broken *heartbeat-3.0.5-r1 (29 Oct 2012) diff --git a/sys-cluster/heartbeat/Manifest b/sys-cluster/heartbeat/Manifest index 33c580e23e20..59b21c8b70ba 100644 --- a/sys-cluster/heartbeat/Manifest +++ b/sys-cluster/heartbeat/Manifest @@ -4,16 +4,17 @@ Hash: SHA256 AUX 3.0.4-docs.patch 1727 SHA256 68478a2cc1ca5a68a819ca88dcff64c9fd3d7dd34559f70507fed6ed985fc7f8 SHA512 45d2a09a7171f76224ae643c3607f9cf495fcf05ac455b4300781da4a22af867f1a6ecfd1e85a817fe90df35c0e0c41fb068be81f8b31d540506ed0152ef0077 WHIRLPOOL d42a5d0e705adc0be4dd80c8386de4cea6506e69ae78c3ffd45499727c75b4ed05847722d630372c69e7dadcfcea72da14c8adf3d7fe2f36b4db461ad7de7664 AUX 3.0.4-fix_configure.patch 3322 SHA256 6740e254d13d63e9b242de3492bb799d5743f5b7e746e28c509440bc48fabbea SHA512 d76120ecd481749607b56afe63e7d4141a881cb2e7e51a18af185f063c96c4f16b39c853b20bd97fcdb7024208d0cd0bb5ca0f61e4c96f7926bb9cd82e4ec0df WHIRLPOOL 3aa8feb0dab5a7122a73471b5dd9223e0bddc4c0ffef772cef4a7c85351b4302a8466b4963368c6001e5fc8fa595ff822cb60758e840bf5b328fd0d873b7a137 AUX 3.0.4-python_tests.patch 464 SHA256 4adecb3af45c651bd28bc315e1e8607c2a1829a7295b155e1ad61e65afe0efaf SHA512 337775d86ad246a8fdde81c04f03bd8d99d2a5410c67084cc220f7316c734c69fe8206384b71c3d43417689099a831bca9b0190e7ee215c47b3ee17001a831aa WHIRLPOOL 3e113e414c5c12970c01cd16b1342c8a30e3b144b983fd7ba8ed885fe316c39837d6b47cee8dfbe2245801dc4103a6f88798df984fe17dab3f68215afbd1d9d9 +AUX 3.0.5-fix_ucast.patch 4343 SHA256 f8a755ee17145ae1be2e870efaefa01ef3b414a0c32206296471a8d64d5b46ca SHA512 9eac05636bd72be663ab51085310f23ff506290000a8227b24be0efdaa2fb88a7868a848063311af91c0c151e73792a1e9a0ad33ab565f117f339ed6c3241b62 WHIRLPOOL 8f545697b1bcc7707f3e6e78508d5e8b5c99c5d4ec8d784277a653b69f1afbfc2edfe13e3459a97707f7414e752e92550d465b6b68794970341a0d1779fbcdaf AUX heartbeat-init 1829 SHA256 8df2337e77799fc43b4c5b9d4322201d26f96885c2e25dda0abaa57094764876 SHA512 5c6d48e854bafde8a80720ad8208120e0c58c438b8dbd2530a24e919ed57cdff06c0f09356082c803253e68ce4936583607e18c527a41aff361e7351f19706d5 WHIRLPOOL ee38abcd5f33bfc658e26e399250434dfb772655b9eb5502e05af3e90de22db32a8da4a5f5c446c195b31ac1452e8e633e5d0507c9dc82912f0a1f5762653b3e -DIST STABLE-3.0.5.tar.bz2 538986 SHA256 fc7b11f9e1f16bc853434208a1ce86803acf1d0fb6f43715209a84c1c34661c3 -EBUILD heartbeat-3.0.5-r1.ebuild 2037 SHA256 3932b3459b59f6dc814aa306d68ab956fa0da08c17b715c5ed200f85367829b1 SHA512 1c16dee36bf573d4519372715b5855dc8a3b157542df5938882e930033bec12e7c5438c1f2b8b3c763466bea2829ca4e7bb2d014f30e025dd182993cc6e90437 WHIRLPOOL 2d884cb4919563373eef4cec5b28c631d588d29f8ff751ccae2e6333daa1044422f18ef10a95c674622d5fdef915bee1cf4a5007be3c1e1eb4145ee3061e82c6 +DIST STABLE-3.0.5.tar.bz2 538986 SHA256 fc7b11f9e1f16bc853434208a1ce86803acf1d0fb6f43715209a84c1c34661c3 SHA512 e38083b87c56a72eb8925ac42adeabb92618608e92218a63960ec0d0bca264f92a8e9c3ebfb0589cc4538da1a82b268b5cc9ee5a51ed33057c969e694e16b27d WHIRLPOOL 699c2679c38f17aacbf230dd68203a8967748c086713ad8bf55688b1e8933caf117ec2a8d2be2ec19b0fa077eacaa1cceec0fea14d181510abb24644a486f6c4 +EBUILD heartbeat-3.0.5-r2.ebuild 2074 SHA256 41b9186639b4dea2362659b66bd9feec096079184b4320750f87b30166a32596 SHA512 0de48d9fccd6e303ce49c7005d7438ac68b3dd12eb9f6f522b3dbd749a57dae31df1b15d710660423182897dc38a642df574b839af733bb82beee38f9a78346b WHIRLPOOL bf1affc09f249067c653a8762915c359bfbf8a39572fdadbbdd854bdc428a0d96ba1d0507a59b9e1b424635c2d827b9e77d0223f83ee10d95044e64ede09019e EBUILD heartbeat-3.0.5.ebuild 2029 SHA256 41bd3c59c78cf11070c39d3f49bd1810211a46e7fecabc60bcc656dae5b5dc70 SHA512 1aa5305a9e71e6719f5503ee990b563f25bd1d2760faa358370f4c025eaca4b3a6652356d39d5f5c107de8e7c7567b9cb1f1d72c333b346ce5589da4a1416010 WHIRLPOOL f55688e54b7d034c335a711c3c159796677859e92deab70bfdbf8215506bd7b75d44d19edf8af88c2059970dffa480fe5e38f6c91c3906bef4592c7424ea46f8 -MISC ChangeLog 17461 SHA256 4381879e56357efe2b1bc4518cfe4c56dbb7b9975a3a1607bde4415dcd980a9b SHA512 1e194d65a51c0e9764798e680c1cdfc920785d87b107f146b456c48a99e5a9c9a50a004f55b52dcfcc830de46aba8889a4aea507e70293bb26175350286fb135 WHIRLPOOL 4751b8c84a62f28ac9504055a8b2b188904b2538d264c562ecc29f9cbfea63d00f46aaed02448bad4f394272709f5b85e7a476f36691c9285ed28a438e66d6ff +MISC ChangeLog 17699 SHA256 fb477a7648f1a66fb3355894f9e54d5795900122ebd86d0d2aa54acf553bc3bb SHA512 471a2baf50d8e2b4d0c4b292d3d15c9711e7fec43408863011a7d84e96b290055d99ba8be1c321367f5e6b509f56f07846eb545778d4a7560ece2465d3430953 WHIRLPOOL 65642564a8c25c192a4663012c63a1d087d5c04cafebb7cb2f993f5ea0571db4ac504636595c8fc8fd860c2429693184297df75e3b52eb3f39be4997ac286fbc MISC metadata.xml 272 SHA256 5e1fe1f75603b05ad8e099bd10e1a7b6894baa1a6562471da4e0c87e3c2d378d SHA512 94a2917ffdbcae97bdf62d487868ded60f498b5cb11075ac89be835bf340df99f6dfabbff41ae4efe07235423db5fc7fee0c9f4d281c6d9a579ae2c1134e1047 WHIRLPOOL fc606d06d9f58d17b5709b7d0c5f4aa4afc5a6af56cc6eab663b899e2d54fe9429bbbf88d31104e724c9ef0d5c43048732de262a13742bf667efe5135b839fad -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (GNU/Linux) +Version: GnuPG v2 -iF4EAREIAAYFAlCOsm0ACgkQKiQSS7ZY+hMBsQEAhO0PLDXPHd0dh3uYF21gqrE+ -B0bgzs14UW3pnyUo6u0A/2Ba3RLiZETD/y4yIreq1BkbdzYH/jbvDO5WZPmcyPcW -=1Fqr +iF4EAREIAAYFAlOevzUACgkQKiQSS7ZY+hOTyQEApr2SRM2F+VIogFDLonYZSQkg +AwEpHr2EGTknLDqJwZABANRRgw95COPLuV2bU/k0j1AloWnEmeqLXi/BI6+YHYoW +=FhjF -----END PGP SIGNATURE----- diff --git a/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch new file mode 100644 index 000000000000..3bec9c89dd86 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch @@ -0,0 +1,145 @@ + +# HG changeset patch +# User Lars Ellenberg <lars@linbit.com> +# Date 1392200751 -3600 +# Node ID 37f57a36a2dd1abf8461a9b758e62f6fe7a22f77 +# Parent 6d4324633600dc7ae7aa08c56d86c2fcc767977f +Medium: fix usage of SO_REUSEPORT in ucast sockets + +Linux learned SO_REUSEPORT only with kernel 3.9, +but some linux headers already define SO_REUSEPORT. +Which, on older kernels, will result in ENOPROTOOPT, +"Protocol not available". + +Failure to set SO_REUSEPORT is NOT critical in general. +It *may* be a problem on certain BSDs, +with more than two nodes, all using ucast. + +Refusing to start because of failure to set SO_REUSEPORT is +not helpful for the vast majority of the clusters out there. + +While at it, downgrade "critical" log messages to warnings +in non-fatal situations. + +--- a/lib/plugins/HBcomm/ucast.c ++++ b/lib/plugins/HBcomm/ucast.c +@@ -461,12 +461,6 @@ static int HB_make_send_sock(struct hb_m + int sockfd; + struct ip_private *ei; + int tos; +-#if defined(SO_BINDTODEVICE) +- struct ifreq i; +-#endif +-#if defined(SO_REUSEPORT) +- int i = 1; +-#endif + + UCASTASSERT(mp); + ei = (struct ip_private*)mp->pd; +@@ -494,6 +488,7 @@ static int HB_make_send_sock(struct hb_m + + #if defined(SO_BINDTODEVICE) + { ++ struct ifreq i; + /* + * We want to send out this particular interface + * +@@ -515,12 +510,13 @@ static int HB_make_send_sock(struct hb_m + #endif + #if defined(SO_REUSEPORT) + { ++ int one = 1; + /* this is for OpenBSD to allow multiple * + * ucast connections, e.g. a more than * + * two node cluster */ + + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, +- &i, sizeof(i)) == -1) { ++ &one, sizeof(one)) == -1) { + PILCallLog(LOG, PIL_CRIT, + "ucast: error setting option SO_REUSEPORT(w): %s", strerror(errno)); + close(sockfd); +@@ -548,7 +544,7 @@ static int HB_make_receive_sock(struct h + int sockfd; + int bindtries; + int boundyet = 0; +- int j; ++ int one = 1; + + UCASTASSERT(mp); + ei = (struct ip_private*)mp->pd; +@@ -563,22 +559,19 @@ static int HB_make_receive_sock(struct h + strerror(errno)); + return -1; + } +- /* +- * Set SO_REUSEADDR on the server socket s. Variable j is used +- * as a scratch varable. +- * +- * 16th February 2000 +- * Added by Horms <horms@vergenet.net> +- * with thanks to Clinton Work <work@scripty.com> +- */ +- j = 1; ++ /* ++ * Set SO_REUSEADDR on the server socket s. ++ * Below, also try to set SO_REUSEPORT, ++ * if known and supported. ++ */ + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, +- (void *)&j, sizeof j) < 0) { ++ &one, sizeof(one)) < 0) { + /* Ignore it. It will almost always be OK anyway. */ +- PILCallLog(LOG, PIL_CRIT, ++ PILCallLog(LOG, PIL_WARN, + "ucast: error setting socket option SO_REUSEADDR: %s", + strerror(errno)); +- } ++ } else ++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEADDR"); + #if defined(SO_BINDTODEVICE) + { + /* +@@ -600,20 +593,32 @@ static int HB_make_receive_sock(struct h + } + #endif + #if defined(SO_REUSEPORT) +- { ++ /* ++ * Needed for OpenBSD for more than two nodes in a ucast cluster ++ */ ++ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, ++ &one, sizeof(one)) == -1) { + /* +- * Needed for OpenBSD for more than two nodes in a ucast cluster ++ * Linux learned SO_REUSEPORT only with kernel 3.9, ++ * but some linux headers already define SO_REUSEPORT. ++ * Which will result in ENOPROTOOPT, "Protocol not available" ++ * on older kernels. ++ * Failure to set SO_REUSEPORT is NOT critical in general. ++ * It *may* be a problem on certain BSDs with more than ++ * two nodes all using ucast. ++ * Refusing to start because of failure to set SO_REUSEPORT is ++ * not helpful for the vast majority of the clusters out there. + */ +- int i = 1; +- if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, +- &i, sizeof(i)) == -1) { ++ if (errno == ENOPROTOOPT) { ++ PILCallLog(LOG, PIL_WARN, ++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno)); ++ } else { + PILCallLog(LOG, PIL_CRIT, +- "ucast: error setting option SO_REUSEPORT(r) %s", strerror(errno)); +- close(sockfd); ++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno)); + return -1; + } +- PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT(w)"); +- } ++ } else ++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT"); + #endif + + /* Try binding a few times before giving up */ + diff --git a/sys-cluster/heartbeat/heartbeat-3.0.5-r1.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.5-r2.ebuild index 0fe750c33700..51c44c422324 100644 --- a/sys-cluster/heartbeat/heartbeat-3.0.5-r1.ebuild +++ b/sys-cluster/heartbeat/heartbeat-3.0.5-r2.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-3.0.5-r1.ebuild,v 1.1 2012/10/29 16:44:23 ultrabug Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-3.0.5-r2.ebuild,v 1.1 2014/06/16 09:55:59 ultrabug Exp $ EAPI="2" @@ -35,6 +35,7 @@ PATCHES=( "${FILESDIR}/3.0.4-fix_configure.patch" "${FILESDIR}/3.0.4-docs.patch" "${FILESDIR}/3.0.4-python_tests.patch" + "${FILESDIR}/3.0.5-fix_ucast.patch" ) pkg_setup() { |