[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.: хотя я решил на нём остаться...