* [gentoo-commits] proj/portage:master commit in: lib/portage/tests/, lib/portage/tests/process/, bin/, lib/portage/util/_async/, ...
@ 2022-11-22 6:21 Sam James
0 siblings, 0 replies; only message in thread
From: Sam James @ 2022-11-22 6:21 UTC (permalink / raw
To: gentoo-commits
commit: d9c1405f941ee131c15fdd24a46fcd6536773068
Author: Oskari Pirhonen <xxc3ncoredxx <AT> gmail <DOT> com>
AuthorDate: Mon Nov 21 06:28:24 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 22 06:21:45 2022 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d9c1405f
Remove Jython compat
Jython is stuck in Python 2-land. Remove Jython compatibility code.
Bug: https://bugs.gentoo.org/424259
Signed-off-by: Oskari Pirhonen <xxc3ncoredxx <AT> gmail.com>
Closes: https://github.com/gentoo/portage/pull/942
Signed-off-by: Sam James <sam <AT> gentoo.org>
NEWS | 2 ++
bin/ebuild | 10 ++--------
bin/ebuild-ipc.py | 10 ++--------
bin/egencache | 10 ++--------
bin/emerge | 10 ++--------
lib/portage/tests/process/test_PopenProcess.py | 9 ++++++---
.../tests/process/test_PopenProcessBlockingIO.py | 7 +++++--
lib/portage/tests/runTests.py | 10 ++--------
lib/portage/util/_async/PipeReaderBlockingIO.py | 17 ++++++++---------
9 files changed, 31 insertions(+), 54 deletions(-)
diff --git a/NEWS b/NEWS
index 76a8eb462..286f96bb2 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,8 @@ Features:
* sets: Tests added for VariableSet changes to check @golang-rebuild works as
intended.
+* cleanups: Drop long-obsolete Jython compatibility code.
+
Bug fixes:
* sync: Clobber repositories using sync-type=git to match rsync behavior. This
helps with issues where git-synced repositories can become confused
diff --git a/bin/ebuild b/bin/ebuild
index ff2b4fe92..5368d030b 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -1,9 +1,8 @@
#!/usr/bin/env python
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import argparse
-import platform
import signal
import sys
import textwrap
@@ -32,12 +31,7 @@ def debug_signal(_signum, _frame):
pdb.set_trace()
-if platform.python_implementation() == "Jython":
- debug_signum = signal.SIGUSR2 # bug #424259
-else:
- debug_signum = signal.SIGUSR1
-
-signal.signal(debug_signum, debug_signal)
+signal.signal(signal.SIGUSR1, debug_signal)
import io
import os
diff --git a/bin/ebuild-ipc.py b/bin/ebuild-ipc.py
index bc5dda27d..c0b24c542 100755
--- a/bin/ebuild-ipc.py
+++ b/bin/ebuild-ipc.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-# Copyright 2010-2021 Gentoo Authors
+# Copyright 2010-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# This is a helper which ebuild processes can use
@@ -24,7 +24,6 @@ except KeyboardInterrupt:
import errno
import logging
import pickle
-import platform
import sys
import time
@@ -35,12 +34,7 @@ def debug_signal(signum, frame):
pdb.set_trace()
-if platform.python_implementation() == "Jython":
- debug_signum = signal.SIGUSR2 # bug #424259
-else:
- debug_signum = signal.SIGUSR1
-
-signal.signal(debug_signum, debug_signal)
+signal.signal(signal.SIGUSR1, debug_signal)
if os.path.isfile(
os.path.join(
diff --git a/bin/egencache b/bin/egencache
index 4d920ea3b..f5e7fb7b6 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -1,9 +1,8 @@
#!/usr/bin/env python
-# Copyright 2009-2021 Gentoo Authors
+# Copyright 2009-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import argparse
-import platform
import signal
import stat
import sys
@@ -29,12 +28,7 @@ def debug_signal(_signum, _frame):
pdb.set_trace()
-if platform.python_implementation() == "Jython":
- debug_signum = signal.SIGUSR2 # bug #424259
-else:
- debug_signum = signal.SIGUSR1
-
-signal.signal(debug_signum, debug_signal)
+signal.signal(signal.SIGUSR1, debug_signal)
import functools
import io
diff --git a/bin/emerge b/bin/emerge
index d1a8d9f52..459db2c1f 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1,8 +1,7 @@
#!/usr/bin/env python
-# Copyright 2006-2021 Gentoo Authors
+# Copyright 2006-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-import platform
import signal
import sys
@@ -28,12 +27,7 @@ try:
pdb.set_trace()
- if platform.python_implementation() == "Jython":
- debug_signum = signal.SIGUSR2 # bug #424259
- else:
- debug_signum = signal.SIGUSR1
-
- signal.signal(debug_signum, debug_signal)
+ signal.signal(signal.SIGUSR1, debug_signal)
from os import path as osp
diff --git a/lib/portage/tests/process/test_PopenProcess.py b/lib/portage/tests/process/test_PopenProcess.py
index 0ffc8d31b..770053fa5 100644
--- a/lib/portage/tests/process/test_PopenProcess.py
+++ b/lib/portage/tests/process/test_PopenProcess.py
@@ -1,4 +1,4 @@
-# Copyright 2012-2013 Gentoo Foundation
+# Copyright 2012-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import subprocess
@@ -14,8 +14,11 @@ from _emerge.PipeReader import PipeReader
class PopenPipeTestCase(TestCase):
"""
- Test PopenProcess, which can be useful for Jython support, since it
- uses the subprocess.Popen instead of os.fork().
+ Test PopenProcess, which is historically useful for Jython support,
+ since it uses the subprocess.Popen instead of os.fork().
+
+ Portage does not currently support Jython, but re-introducing support
+ in The Future (TM) may be possible.
"""
_echo_cmd = "echo -n '%s'"
diff --git a/lib/portage/tests/process/test_PopenProcessBlockingIO.py b/lib/portage/tests/process/test_PopenProcessBlockingIO.py
index 1e334560f..0e9d2dfed 100644
--- a/lib/portage/tests/process/test_PopenProcessBlockingIO.py
+++ b/lib/portage/tests/process/test_PopenProcessBlockingIO.py
@@ -1,4 +1,4 @@
-# Copyright 2012 Gentoo Foundation
+# Copyright 2012-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import subprocess
@@ -18,10 +18,13 @@ from portage.util._async.PipeReaderBlockingIO import PipeReaderBlockingIO
class PopenPipeBlockingIOTestCase(TestCase):
"""
- Test PopenProcess, which can be useful for Jython support:
+ Test PopenProcess, which is historically useful for Jython support:
* use subprocess.Popen since Jython does not support os.fork()
* use blocking IO with threads, since Jython does not support
fcntl non-blocking IO)
+
+ Portage does not currently support Jython, but re-introducing support
+ in The Future (TM) may be possible.
"""
_echo_cmd = "echo -n '%s'"
diff --git a/lib/portage/tests/runTests.py b/lib/portage/tests/runTests.py
index 16ba515f1..cfb4082c0 100755
--- a/lib/portage/tests/runTests.py
+++ b/lib/portage/tests/runTests.py
@@ -1,12 +1,11 @@
#!/usr/bin/env python
# runTests.py -- Portage Unit Test Functionality
-# Copyright 2006-2020 Gentoo Authors
+# Copyright 2006-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import grp
import os
import os.path as osp
-import platform
import pwd
import signal
import tempfile
@@ -21,12 +20,7 @@ def debug_signal(signum, frame):
pdb.set_trace()
-if platform.python_implementation() == "Jython":
- debug_signum = signal.SIGUSR2 # bug #424259
-else:
- debug_signum = signal.SIGUSR1
-
-signal.signal(debug_signum, debug_signal)
+signal.signal(signal.SIGUSR1, debug_signal)
# Pretend that the current user's uid/gid are the 'portage' uid/gid,
# so things go smoothly regardless of the current user and global
diff --git a/lib/portage/util/_async/PipeReaderBlockingIO.py b/lib/portage/util/_async/PipeReaderBlockingIO.py
index 74292fb0b..090aaf2cc 100644
--- a/lib/portage/util/_async/PipeReaderBlockingIO.py
+++ b/lib/portage/util/_async/PipeReaderBlockingIO.py
@@ -1,4 +1,4 @@
-# Copyright 2012-2018 Gentoo Foundation
+# Copyright 2012-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
try:
@@ -15,10 +15,13 @@ class PipeReaderBlockingIO(AbstractPollTask):
"""
Reads output from one or more files and saves it in memory, for
retrieval via the getvalue() method. This is driven by a thread
- for each input file, in order to support blocking IO. This may
- be useful for using threads to handle blocking IO with Jython,
- since Jython lacks the fcntl module which is needed for
+ for each input file, in order to support blocking IO. This is
+ historically useful for using threads to handle blocking IO with
+ Jython, since Jython lacks the fcntl module which is needed for
non-blocking IO (see http://bugs.jython.org/issue1074).
+
+ Portage does not currently support Jython, but re-introducing
+ support in The Future (TM) may be possible.
"""
__slots__ = ("input_files", "_read_data", "_terminate", "_threads", "_thread_rlock")
@@ -38,11 +41,7 @@ class PipeReaderBlockingIO(AbstractPollTask):
self._threads[f] = t
def _reader_thread(self, f):
- try:
- terminated = self._terminate.is_set
- except AttributeError:
- # Jython 2.7.0a2
- terminated = self._terminate.isSet
+ terminated = self._terminate.is_set
bufsize = self._bufsize
while not terminated():
buf = f.read(bufsize)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-11-22 6:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-22 6:21 [gentoo-commits] proj/portage:master commit in: lib/portage/tests/, lib/portage/tests/process/, bin/, lib/portage/util/_async/, Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox