summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Thiebaud <nthiebaud@gmail.com>2013-01-31 04:12:46 -0600
committerPetr Mladek <pmladek@suse.cz>2013-01-31 10:41:54 +0000
commit243ae4ae98d2002bab118301f337c3751c8e4c85 (patch)
tree049f983e99c757bf1ca9de284efc43da34fc66b7
parentddf2c2d05e5e0060afef0a4c646d870226660f74 (diff)
python3: bug 15833
That python bug cause problems when libreoffice is on a read-only media... which is very common for Mac as the dmg used to package the produce is seens as a read only volume. This patch the bug 15833 for MacOSX only since that is the platform that is most likely to be impacted, and because of bug 15431 that make patching on Windows more complex/dangerous. Change-Id: Ie7406c1c75748d38c871b3b544560caa62e9d838 Reviewed-on: https://gerrit.libreoffice.org/1936 Reviewed-by: Tor Lillqvist <tml@iki.fi> Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Reviewed-by: Petr Mladek <pmladek@suse.cz> Tested-by: Petr Mladek <pmladek@suse.cz>
-rw-r--r--python3/UnpackedTarball_python3.mk6
-rw-r--r--python3/python-3.3.0-15833.patch.125
2 files changed, 31 insertions, 0 deletions
diff --git a/python3/UnpackedTarball_python3.mk b/python3/UnpackedTarball_python3.mk
index 840108b85261..eb07def89a96 100644
--- a/python3/UnpackedTarball_python3.mk
+++ b/python3/UnpackedTarball_python3.mk
@@ -32,4 +32,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
python3/python-3.3.0-ffi-clang.patch.1 \
))
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_UnpackedTarball_add_patches,python3,\
+ python3/python-3.3.0-15833.patch.1 \
+))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/python3/python-3.3.0-15833.patch.1 b/python3/python-3.3.0-15833.patch.1
new file mode 100644
index 000000000000..71cef94535b1
--- /dev/null
+++ b/python3/python-3.3.0-15833.patch.1
@@ -0,0 +1,25 @@
+iff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
+--- a/Lib/importlib/_bootstrap.py
++++ b/Lib/importlib/_bootstrap.py
+@@ -1066,17 +1066,17 @@ class SourceFileLoader(FileLoader, Sourc
+ except FileExistsError:
+ # Probably another Python process already created the dir.
+ continue
+- except PermissionError:
+- # If can't get proper access, then just forget about writing
+- # the data.
++ except OSError as exc:
++ # Could be a permission error, read-only filesystem: just forget
++ # about writing the data.
++ _verbose_message('could not create {!r}: {!r}', parent, exc)
+ return
+ try:
+ _write_atomic(path, data, _mode)
+ _verbose_message('created {!r}', path)
+- except (PermissionError, FileExistsError):
+- # Don't worry if you can't write bytecode or someone is writing
+- # it at the same time.
+- pass
++ except OSError as exc:
++ # Same as above: just don't write the bytecode.
++ _verbose_message('could not create {!r}: {!r}', path, exc)