[SOLVED] Испортился portage 2.2 после последнего обновления
Danhuu 3 сентября, 2011 - 14:39
portage-2.2.0_alpha51 работал отлично, сегодня захотелось ему обновиться при emerge -uDavN world до 2.2.0_alpha52. После чего он перестал работать, ругаясь на питон, как я понял:
Traceback (most recent call last): File "/usr/bin/emerge", line 43, in <module> retval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1939, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/lib64/portage/pym/_emerge/actions.py", line 438, in action_build retval = mergetask.merge() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1073, in merge rval = self._merge() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1427, in _merge self._main_loop() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1571, in _main_loop self._poll_loop() File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 193, in _poll_loop handler(f, event) File "/usr/lib64/portage/pym/_emerge/SpawnProcess.py", line 240, in _dummy_handler self._unregister_if_appropriate(event) File "/usr/lib64/portage/pym/_emerge/AbstractPollTask.py", line 61, in _unregister_if_appropriate self.wait() File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait self._wait_hook() File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook self._exit_listener_stack.pop()(self) File "/usr/lib64/portage/pym/_emerge/EbuildPhase.py", line 238, in _ebuild_exit self.wait() File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 46, in wait self._wait_hook() File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 128, in _wait_hook self._exit_listener_stack.pop()(self) File "/usr/lib64/portage/pym/_emerge/EbuildBuild.py", line 195, in _pre_clean_exit self._fetch_exit(fetcher) File "/usr/lib64/portage/pym/_emerge/EbuildBuild.py", line 247, in _fetch_exit self._start_task(build, self._build_exit) File "/usr/lib64/portage/pym/_emerge/CompositeTask.py", line 146, in _start_task task.start() File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 24, in start self._start() File "/usr/lib64/portage/pym/_emerge/EbuildExecuter.py", line 55, in _start self.scheduler.scheduleSetup(setup_phase) File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 573, in _schedule_setup self._schedule() File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 104, in _schedule return self._schedule_tasks() File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1609, in _schedule_tasks if q.schedule(): File "/usr/lib64/portage/pym/_emerge/SequentialTaskQueue.py", line 55, in schedule task.start() File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 24, in start self._start() File "/usr/lib64/portage/pym/_emerge/EbuildPhase.py", line 77, in _start maint_str = metadata_xml.format_maintainer_string() File "/usr/lib64/portage/pym/portage/xml/metadata.py", line 355, in format_maintainer_string for maintainer in self.maintainers(): File "/usr/lib64/portage/pym/portage/xml/metadata.py", line 305, in maintainers for node in self._xml_tree.findall('maintainer')) File "/usr/lib64/python3.1/xml/etree/ElementTree.py", line 639, in findall assert self._root is not None AssertionError
Последние месяцы собирал с флагом python3, хотя в системе главный по eselect-у 2.71, однако всё работадо нормально. python-updater пробовал - говорит всё в порядке. Откатиться не могу, т.к. для этого нужен работающий portage.
Что делать? Помогите, пожалуйста!
»
- Для комментирования войдите или зарегистрируйтесь
/
В
/etc/make.conf
:FEATURES="... buildsyspkg ..."
?
:wq
--
Live free or die
Странно, не смотря на
Странно, не смотря на установленный
пакета не оказалось, хотя portage собирался раз 5.
Нашел решение проблемы здесь: Bug 381657
Отсюда » Цитата: Restoring
Отсюда »
Я ♥ Gentoo & Funtoo
Только что также
Только что также попал:
eselect'ом через show посмотри на python, надо выбрать третий, а дальше portage заработает. Предполагаю, что если его собрать с USE="-python3 python2", то можно обратно включить второй, но ещё не делал.
О, спасибо, попробую такой
О, спасибо, попробую такой вариант.
А я пока выкрутился по-другому: предыдущие советы напомнили мне о возможности поставить бинарник. Поскольку моя Гентушка происходит из Калькулейта, егойный оверлей у меня подключён на всякий случай, как минимум, там темки оформления консоли и Груба хороши. А Калькулейт поддерживает бинарный репозиторий, причём они рвутся вперёд, словно Арч, и portage 2.2 там есть. Дальше дело техники: в /var/lib/layman/calculate нашёл адрес этого репозитория, добавил его в make.conf:
затем
Он заработал, я в keywords временно запретил обновления больше альфы-51 и спокойно пересобрал как было. Всё работает. Спасибо всем советчикам и команде Калькулейт!
PS: а не стрёмно делать третий питон основным, вроде читал (http://www.gentoo.ru/node/20951), система дестабилизируется сильно, а у меня за исключением десятка пакетов "~" и единственного hardmasked портежа, всё stable. Или уже устарела эта информация?
Danhuu написал(а): а не
Основным, только на время восстановления работоспособности portage не стрёмно, потом всё можно обратно переключить.
P.S.: хотя я решил на нём остаться...