mschwendt pushed to plague (master). "Fix non-SSL shutdown of server and builder."
notifications at fedoraproject.org
notifications at fedoraproject.org
Thu Apr 23 17:57:45 UTC 2015
>From 448577e193c844ddfc9bcc46ceefee997bf9b143 Mon Sep 17 00:00:00 2001
From: Michael Schwendt <mschwendt at fedoraproject.org>
Date: Thu, 23 Apr 2015 19:57:37 +0200
Subject: Fix non-SSL shutdown of server and builder.
diff --git a/plague-0.4.5.8-wakeup-serve_forever.patch b/plague-0.4.5.8-wakeup-serve_forever.patch
index c27c920..ad369d4 100644
--- a/plague-0.4.5.8-wakeup-serve_forever.patch
+++ b/plague-0.4.5.8-wakeup-serve_forever.patch
@@ -1,12 +1,19 @@
diff -Nur plague-0.4.5.8-orig/builder/builder.py plague-0.4.5.8/builder/builder.py
--- plague-0.4.5.8-orig/builder/builder.py 2010-05-05 12:45:20.000000000 +0200
-+++ plague-0.4.5.8/builder/builder.py 2015-03-02 01:44:47.343591868 +0100
-@@ -799,6 +799,14 @@
++++ plague-0.4.5.8/builder/builder.py 2015-04-23 19:54:45.938714486 +0200
+@@ -793,14 +793,22 @@
+
+
+ bserver = None
++bserver_addr = None
+
+ def exit_handler(signum, frame):
+- global bserver
++ global bserver, bserver_addr
log("Received SIGTERM, quitting...\n")
bserver.stop()
-+ host = bserver.server_name
-+ port = bserver.server_port
++ (host,port) = bserver_addr
+ print "Sending fake request to %s:%s to trigger shutdown..." % (host, port)
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.connect((host, port))
@@ -14,11 +21,22 @@ diff -Nur plague-0.4.5.8-orig/builder/builder.py plague-0.4.5.8/builder/builder.
+ s.close()
+
def main():
- global bserver
+- global bserver
++ global bserver, bserver_addr
+ usage = "Usage: %s [-p <pidfile>] [-l <logfile>] [-d] -c <configfile>" % sys.argv[0]
+ parser = OptionParser(usage=usage)
+@@ -883,6 +891,7 @@
+ bserver = AuthedXMLRPCServer.AuthedSSLXMLRPCServer((hostname, xmlrpc_port), None, certs)
+ else:
+ bserver = AuthedXMLRPCServer.AuthedXMLRPCServer((hostname, xmlrpc_port), None)
++ bserver_addr = (hostname,xmlrpc_port)
+ except socket.error, e:
+ if e[0] == 98:
+ log("Error: couldn't bind to address '%s:%s'. " \
diff -Nur plague-0.4.5.8-orig/common/SSLConnection.py plague-0.4.5.8/common/SSLConnection.py
--- plague-0.4.5.8-orig/common/SSLConnection.py 2010-08-10 17:19:22.000000000 +0200
-+++ plague-0.4.5.8/common/SSLConnection.py 2015-03-02 01:00:55.000000000 +0100
++++ plague-0.4.5.8/common/SSLConnection.py 2015-04-23 19:51:52.547936869 +0200
@@ -149,6 +149,8 @@
except SSL.SysCallError, (e, err):
time.sleep(0.2)
@@ -30,13 +48,20 @@ diff -Nur plague-0.4.5.8-orig/common/SSLConnection.py plague-0.4.5.8/common/SSLC
class PlgFileObject(socket._fileobject):
diff -Nur plague-0.4.5.8-orig/server/main.py plague-0.4.5.8/server/main.py
--- plague-0.4.5.8-orig/server/main.py 2008-01-31 14:28:05.000000000 +0100
-+++ plague-0.4.5.8/server/main.py 2015-03-02 01:44:47.365590682 +0100
-@@ -68,6 +68,14 @@
++++ plague-0.4.5.8/server/main.py 2015-04-23 19:53:18.341373651 +0200
+@@ -62,14 +62,22 @@
+ #################################################################
+
+ bm_server = None
++bm_server_addr = None
+
+ def exit_handler(signum, frame):
+- global bm_server
++ global bm_server, bm_server_addr
print "Received SIGTERM, quitting..."
bm_server.stop()
-+ host = bm_server.server_name
-+ port = bm_server.server_port
++ (host,port) = bm_server_addr
+ print "Sending fake request to %s:%s to trigger shutdown..." % (host, port)
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.connect((host, port))
@@ -44,5 +69,16 @@ diff -Nur plague-0.4.5.8-orig/server/main.py plague-0.4.5.8/server/main.py
+ s.close()
+
def main():
- global bm_server
+- global bm_server
++ global bm_server, bm_server_addr
+ usage = "Usage: %s [-p <pidfile>] [-l <logfile>] [-d] [-c <configfile>]" % sys.argv[0]
+ parser = OptionParser(usage=usage)
+@@ -144,6 +152,7 @@
+ else:
+ ui = UserInterfaceNoAuth(builder_manager, bm, dbm, cfg)
+ bm_server = AuthedXMLRPCServer.AuthedXMLRPCServer((hostname, port))
++ bm_server_addr = (hostname,port)
+ except socket.error, e:
+ if e[0] == 98: # Address already in use
+ print "Error: couldn't bind to address '%s:%s'. Is the server already running?" % (hostname, port)
diff --git a/plague.spec b/plague.spec
index 3f1ec21..cbd7c16 100644
--- a/plague.spec
+++ b/plague.spec
@@ -6,7 +6,7 @@ BuildArch: noarch
Summary: Distributed build system for RPMs
Name: plague
Version: 0.4.5.8
-Release: 24%{?dist}
+Release: 25%{?dist}
License: GPLv2+
Group: Development/Tools
#Source: http://fedoraproject.org/projects/plague/releases/%{name}-%{version}.tar.bz2
@@ -185,6 +185,9 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/plague/builder
%changelog
+* Thu Apr 23 2015 Michael Schwendt <mschwendt at fedoraproject.org> - 0.4.5.8-25
+- Fix non-SSL shutdown of server and builder.
+
* Sat Mar 14 2015 Michael Schwendt <mschwendt at fedoraproject.org> - 0.4.5.8-24
- Rebuild with fixed patch file.
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/plague.git/commit/?h=master&id=448577e193c844ddfc9bcc46ceefee997bf9b143
More information about the scm-commits
mailing list