summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Dolbec <dolsen@gentoo.org>2016-05-16 09:05:25 -0700
committerBrian Dolbec <dolsen@gentoo.org>2016-05-16 09:14:42 -0700
commitb3bb9fb64ed7663d4afd6e2cb7b7be7a90f8f8b1 (patch)
treed0dff3c3fcd47e6899cc216b5395c2702af2787e /sys-apps
parentgames-arcade/performous: fix building with USE=tools by further commiting to ... (diff)
downloadgentoo-b3bb9fb64ed7663d4afd6e2cb7b7be7a90f8f8b1.tar.gz
gentoo-b3bb9fb64ed7663d4afd6e2cb7b7be7a90f8f8b1.tar.bz2
gentoo-b3bb9fb64ed7663d4afd6e2cb7b7be7a90f8f8b1.zip
sys-apps/portage: Fix portage upgrade traceback when repoman is not installed
Easy workaround, emerge repoman, upgrade portage, unmerge repoman. Alternative, edit /usr/lib/pythonX.Y/site-packages/const.py edite PORTAGE_PYM_PACKAGES remove repoman from it. Package-Manager: portage-2.3.0_rc1
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/portage/files/portage-2.3.0_rc1.patch52
-rw-r--r--sys-apps/portage/portage-2.3.0_rc1-r1.ebuild (renamed from sys-apps/portage/portage-2.3.0_rc1.ebuild)3
2 files changed, 55 insertions, 0 deletions
diff --git a/sys-apps/portage/files/portage-2.3.0_rc1.patch b/sys-apps/portage/files/portage-2.3.0_rc1.patch
new file mode 100644
index 000000000000..8464462194b4
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.3.0_rc1.patch
@@ -0,0 +1,52 @@
+From 9ba1bea5e24fe839ef5bd833c3974a55d5333bf1 Mon Sep 17 00:00:00 2001
+From: Brian Dolbec <dolsen@gentoo.org>
+Date: Mon, 16 May 2016 02:45:45 -0700
+Subject: [PATCH] portage.const.py: Remove repoman from PORTAGE_PYM_PACKAGES
+
+Decca (in IRC) got a traceback due to the missing repoman install
+
+sysresccd / # emerge -e @system
+Calculating dependencies... done!
+Traceback (most recent call last):
+ File "/usr/lib/python-exec/python3.5/emerge", line 50, in <module>
+ retval = emerge_main()
+ File "/usr/lib64/python3.5/site-packages/_emerge/main.py", line 1185, in emerge_main
+ return run_action(emerge_config)
+ File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 3236, in run_action
+ emerge_config.args, spinner)
+ File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 505, in action_build
+ retval = mergetask.merge()
+ File "/usr/lib64/python3.5/site-packages/_emerge/Scheduler.py", line 958, in merge
+ rval = self._handle_self_update()
+ File "/usr/lib64/python3.5/site-packages/_emerge/Scheduler.py", line 323, in _handle_self_update
+ _prepare_self_update(self.settings)
+ File "/usr/lib64/python3.5/site-packages/portage/package/ebuild/doebuild.py", line 2489, in _prepare_self_update
+ symlinks=True)
+ File "/usr/lib64/python3.5/site-packages/portage/__init__.py", line 259, in __call__
+ rval = self._func(*wrapped_args, **wrapped_kwargs)
+ File "/usr/lib64/python3.5/shutil.py", line 303, in copytree
+ names = os.listdir(src)
+FileNotFoundError: [Errno 2] No such file or directory: b'/usr/lib64/python3.5/site-packages/repoman'
+
+Dirkjan <djc> found repoman was still included in the PORTAGE_PYM_PACKAGES which
+caused the traceback.
+---
+ pym/portage/const.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pym/portage/const.py b/pym/portage/const.py
+index 814d7f4..179efce 100644
+--- a/pym/portage/const.py
++++ b/pym/portage/const.py
+@@ -278,7 +278,7 @@ SUPPORTED_XPAK_EXTENSIONS = (".tbz2", ".xpak")
+ TIMESTAMP_FORMAT = "%a, %d %b %Y %H:%M:%S +0000" # to be used with time.gmtime()
+
+ # Top-level names of Python packages installed by Portage.
+-PORTAGE_PYM_PACKAGES = ("_emerge", "portage", "repoman")
++PORTAGE_PYM_PACKAGES = ("_emerge", "portage")
+
+ RETURNCODE_POSTINST_FAILURE = 5
+
+--
+2.8.2
+
diff --git a/sys-apps/portage/portage-2.3.0_rc1.ebuild b/sys-apps/portage/portage-2.3.0_rc1-r1.ebuild
index d76342d7a006..7db2ef392f8b 100644
--- a/sys-apps/portage/portage-2.3.0_rc1.ebuild
+++ b/sys-apps/portage/portage-2.3.0_rc1-r1.ebuild
@@ -78,6 +78,9 @@ TARBALL_PV=${PV}
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
+PATCHES=("${FILESDIR}/portage-2.3.0_rc1.patch"
+)
+
pkg_setup() {
use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}