commit a35a64a86b91d5ca2e09f507d7ebc4a68d3081fb Author: Kacper Kornet <drae...@pld-linux.org> Date: Fri May 17 19:48:33 2013 +0100
- add fix for backwards-incompatible change in SysLogHandler (fixes http://bugs.python.org/issue17795) python-sysloghandler.patch | 99 ++++++++++++++++++++++++++++++++++++++++++++++ python.spec | 4 +- 2 files changed, 102 insertions(+), 1 deletion(-) --- diff --git a/python.spec b/python.spec index 586ee14..47646d7 100644 --- a/python.spec +++ b/python.spec @@ -43,7 +43,7 @@ Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом Name: python Version: %{py_ver}.4 -Release: 2 +Release: 3 Epoch: 1 License: PSF Group: Development/Languages/Python @@ -58,6 +58,7 @@ Patch3: %{name}-lib64.patch Patch4: %{name}-noarch_to_datadir.patch Patch5: %{name}-verbose.patch Patch6: %{name}-distro.patch +Patch7: %{name}-sysloghandler.patch URL: http://www.python.org/ BuildRequires: autoconf >= 2.65 BuildRequires: automake @@ -557,6 +558,7 @@ Przykłady te są dla Pythona 2.3.4, nie %{version}. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 tar xjf %{SOURCE1} diff --git a/python-sysloghandler.patch b/python-sysloghandler.patch new file mode 100644 index 0000000..9377b05 --- /dev/null +++ b/python-sysloghandler.patch @@ -0,0 +1,99 @@ + +# HG changeset patch +# User Vinay Sajip <vinay_sa...@yahoo.co.uk> +# Date 1366621131 -3600 +# Node ID 32a5de0e91d5612dca65d5d34f5e142e493d6e62 +# Parent a1421d28393b4ee88965a747b92296bde81bae05 +Issue #17795: Reverted backwards-incompatible change in SysLogHandler with Unix domain sockets. + +diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py +--- a/Lib/logging/handlers.py ++++ b/Lib/logging/handlers.py +@@ -1,4 +1,4 @@ +-# Copyright 2001-2012 by Vinay Sajip. All Rights Reserved. ++# Copyright 2001-2013 by Vinay Sajip. All Rights Reserved. + # + # Permission to use, copy, modify, and distribute this software and its + # documentation for any purpose and without fee is hereby granted, +@@ -18,7 +18,7 @@ + Additional handlers for the logging package for Python. The core package is + based on PEP 282 and comments thereto in comp.lang.python. + +-Copyright (C) 2001-2012 Vinay Sajip. All Rights Reserved. ++Copyright (C) 2001-2013 Vinay Sajip. All Rights Reserved. + + To use, simply 'import logging.handlers' and log away! + """ +@@ -737,13 +737,17 @@ class SysLogHandler(logging.Handler): + } + + def __init__(self, address=('localhost', SYSLOG_UDP_PORT), +- facility=LOG_USER, socktype=socket.SOCK_DGRAM): ++ facility=LOG_USER, socktype=None): + """ + Initialize a handler. + + If address is specified as a string, a UNIX socket is used. To log to a + local syslogd, "SysLogHandler(address="/dev/log")" can be used. +- If facility is not specified, LOG_USER is used. ++ If facility is not specified, LOG_USER is used. If socktype is ++ specified as socket.SOCK_DGRAM or socket.SOCK_STREAM, that specific ++ socket type will be used. For Unix sockets, you can also specify a ++ socktype of None, in which case socket.SOCK_DGRAM will be used, falling ++ back to socket.SOCK_STREAM. + """ + logging.Handler.__init__(self) + +@@ -756,18 +760,37 @@ class SysLogHandler(logging.Handler): + self._connect_unixsocket(address) + else: + self.unixsocket = 0 ++ if socktype is None: ++ socktype = socket.SOCK_DGRAM + self.socket = socket.socket(socket.AF_INET, socktype) + if socktype == socket.SOCK_STREAM: + self.socket.connect(address) ++ self.socktype = socktype + self.formatter = None + + def _connect_unixsocket(self, address): +- self.socket = socket.socket(socket.AF_UNIX, self.socktype) ++ use_socktype = self.socktype ++ if use_socktype is None: ++ use_socktype = socket.SOCK_DGRAM ++ self.socket = socket.socket(socket.AF_UNIX, use_socktype) + try: + self.socket.connect(address) ++ # it worked, so set self.socktype to the used type ++ self.socktype = use_socktype + except socket.error: + self.socket.close() +- raise ++ if self.socktype is not None: ++ # user didn't specify falling back, so fail ++ raise ++ use_socktype = socket.SOCK_STREAM ++ self.socket = socket.socket(socket.AF_UNIX, use_socktype) ++ try: ++ self.socket.connect(address) ++ # it worked, so set self.socktype to the used type ++ self.socktype = use_socktype ++ except socket.error: ++ self.socket.close() ++ raise + + # curious: when talking to the unix-domain '/dev/log' socket, a + # zero-terminator seems to be required. this string is placed +diff --git a/Misc/NEWS b/Misc/NEWS +--- a/Misc/NEWS ++++ b/Misc/NEWS +@@ -21,6 +21,9 @@ + Library + ------- + ++- Issue #17795: Reverted backwards-incompatible change in SysLogHandler with ++ Unix domain sockets. ++ + - Issue #17625: In IDLE, close the replace dialog after it is used. + + - Issue #17531: Fix tests that thought group and user ids were always the int ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/python.git/commitdiff/a35a64a86b91d5ca2e09f507d7ebc4a68d3081fb _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit