Вы здесь

[SOLVED] поломался portage после обновления

Месяца четыре назад перевёл систему с гентушного дерева на fantoo. Работала стабильно, пару раз успел пересобрать систему(обновлялись gcc, хэдеры, такое..).
Вчера решился размаскировать sys-apps/portage-2.2_rc93 (было 2.2_rc67-r2) -- купился на новую фичу -- опцию --autounmask. Собралось нормально, новый софт, вроде ставит, но теперь

~ ◾ eix-sync                                22:23 Пнд 2010-12-20 root@l4n732nu5
 * Running emerge --sync
!!! Repository name or alias 'gentoo', defined for repository 'funtoo', overrides existing alias or repository.
!!! main-repo not set in DEFAULT and PORTDIR is empty. 
!!! Location not set for repository gentoo
!!! Location not set for repository funtoo
Traceback (most recent call last):
  File "/usr/bin/emerge", line 43, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1311, in emerge_main
    settings, trees, mtimedb = load_emerge_config()
  File "/usr/lib/portage/pym/_emerge/actions.py", line 2856, in load_emerge_config
    trees = portage.create_trees(trees=trees, **kwargs)
  File "/usr/lib/portage/pym/portage/__init__.py", line 508, in create_trees
    config_incrementals=portage.const.INCREMENTALS)
  File "/usr/lib/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 537, in __init__
    strict_umatched_removal=_unmatched_removal)
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/MaskManager.py", line 33, in __init__
    master_lines = grabfile_package(os.path.join(master.location, "profiles", "package.mask"), \
  File "/usr/lib/portage/pym/portage/__init__.py", line 226, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
  File "/usr/lib/python2.6/posixpath.py", line 67, in join
    elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'
 * emerge --sync failed
 * Time statistics:
     6 seconds for syncing
     7 seconds total
~ ◾                                         22:24 Пнд 2010-12-20 root@l4n732nu5

и

~ ◾ emerge --info                           22:51 Пнд 2010-12-20 root@l4n732nu5
!!! Repository name or alias 'gentoo', defined for repository 'funtoo', overrides existing alias or repository.
!!! main-repo not set in DEFAULT and PORTDIR is empty. 
!!! Location not set for repository gentoo
!!! Location not set for repository funtoo
Traceback (most recent call last):
  File "/usr/bin/emerge", line 43, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1311, in emerge_main
    settings, trees, mtimedb = load_emerge_config()
  File "/usr/lib/portage/pym/_emerge/actions.py", line 2856, in load_emerge_config
    trees = portage.create_trees(trees=trees, **kwargs)
  File "/usr/lib/portage/pym/portage/__init__.py", line 508, in create_trees
    config_incrementals=portage.const.INCREMENTALS)
  File "/usr/lib/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 537, in __init__
    strict_umatched_removal=_unmatched_removal)
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/MaskManager.py", line 33, in __init__
    master_lines = grabfile_package(os.path.join(master.location, "profiles", "package.mask"), \
  File "/usr/lib/portage/pym/portage/__init__.py", line 226, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
  File "/usr/lib/python2.6/posixpath.py", line 67, in join
    elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'
~ ◾                                         22:51 Пнд 2010-12-20 root@l4n732nu5

/etc/make.conf
У кого-то было подобное?
________________________________________________________
А, да:

~ ◾ python -V                               22:55 Пнд 2010-12-20 root@l4n732nu5
Python 2.6.5
~ ◾ eselect python list                     22:55 Пнд 2010-12-20 root@l4n732nu5
Available Python interpreters:
  [1]   python2.6 *
  [2]   python3.1
~ ◾                                         22:55 Пнд 2010-12-20 root@l4n732nu5

ну, переключись на третий и попробуй снова синкнуться ;)

~ ◾ eselect python set 2                     0:20 Втр 2010-12-21 root@l4n732nu5
~ ◾ eselect python list                      0:20 Втр 2010-12-21 root@l4n732nu5
Available Python interpreters:
  [1]   python2.6
  [2]   python3.1 *
~ ◾ python-updater                           0:20 Втр 2010-12-21 root@l4n732nu5
!!! Repository name or alias 'gentoo', defined for repository 'funtoo', overrides existing alias or repository.
!!! main-repo not set in DEFAULT and PORTDIR is empty. 
!!! Location not set for repository gentoo
!!! Location not set for repository funtoo
Traceback (most recent call last):
  File "/usr/bin/portageq", line 717, in <module>
    main()
  File "/usr/bin/portageq", line 697, in main
    args[0] = portage.settings["ROOT"]
  File "/usr/lib/portage/pym/portage/proxy/objectproxy.py", line 37, in __getitem__
    return object.__getattribute__(self, '_get_target')()[key]
  File "/usr/lib/portage/pym/portage/__init__.py", line 589, in _get_target
    return _get_legacy_global(name)
  File "/usr/lib/portage/pym/portage/_legacy_globals.py", line 34, in _get_legacy_global
    portage.db = portage.create_trees(**kwargs)
  File "/usr/lib/portage/pym/portage/__init__.py", line 508, in create_trees
    config_incrementals=portage.const.INCREMENTALS)
  File "/usr/lib/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 537, in __init__
    strict_umatched_removal=_unmatched_removal)
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/MaskManager.py", line 33, in __init__
    master_lines = grabfile_package(os.path.join(master.location, "profiles", "package.mask"), \
  File "/usr/lib/portage/pym/portage/__init__.py", line 226, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
  File "/usr/lib/python3.1/posixpath.py", line 75, in join
    if b.startswith(sep):
TypeError: expected an object with the buffer interface
!!! Repository name or alias 'gentoo', defined for repository 'funtoo', overrides existing alias or repository.
!!! main-repo not set in DEFAULT and PORTDIR is empty. 
!!! Location not set for repository gentoo
!!! Location not set for repository funtoo
Traceback (most recent call last):
  File "/usr/bin/portageq", line 717, in <module>
    main()
  File "/usr/bin/portageq", line 697, in main
    args[0] = portage.settings["ROOT"]
  File "/usr/lib/portage/pym/portage/proxy/objectproxy.py", line 37, in __getitem__
    return object.__getattribute__(self, '_get_target')()[key]
  File "/usr/lib/portage/pym/portage/__init__.py", line 589, in _get_target
    return _get_legacy_global(name)
  File "/usr/lib/portage/pym/portage/_legacy_globals.py", line 34, in _get_legacy_global
    portage.db = portage.create_trees(**kwargs)
  File "/usr/lib/portage/pym/portage/__init__.py", line 508, in create_trees
    config_incrementals=portage.const.INCREMENTALS)
  File "/usr/lib/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 537, in __init__
    strict_umatched_removal=_unmatched_removal)
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/MaskManager.py", line 33, in __init__
    master_lines = grabfile_package(os.path.join(master.location, "profiles", "package.mask"), \
  File "/usr/lib/portage/pym/portage/__init__.py", line 226, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
  File "/usr/lib/python3.1/posixpath.py", line 75, in join
    if b.startswith(sep):
TypeError: expected an object with the buffer interface
 * Python 2 and Python 3 not installed
~ ◾                                          0:21 Втр 2010-12-21 root@l4n732nu5

Может, это знак "пора переходить на paludis"? =)

Per aspera ad astra

Theli написал:
ну, переключись на третий и попробуй снова синкнуться ;)

Господи, зачем какой-то бред советовать с такой уверенностью?

Цитата:
Repository name or alias 'gentoo', defined for repository 'funtoo', overrides existing alias or repository.

Вот это ничего не говорит? Откуда в система взялся funtoo?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

krigstask написал:
Господи, зачем какой-то бред советовать с такой уверенностью?

попросил бы без глупых умозаключений!
я посоветовал то, что уже пробовал! если проблема с python2.6, то переключение на python3 весьма эффективно ;)

С чего ты решил, что это проблема с интерпретатором? Вот так вот вдруг?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

не, я конечно признаю, что внимательнейшим образом вывод не читал, но подобные сообщения были и у меня, когда помогла смена питона ;)
кароче, лучше помоги топикстартеру, а не до меня докапывайся ;)

Я не докапываюсь, а никчёмные советы, могущие привести к неприятным последствиям, надо отметать.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Ну, от funtoo у меня только дерево портежей и оверлей

~ ◾ layman -L |grep -i funtoo                         0:40 Срд 2010-12-22 root@l4n732nu5
* pure-funtoo               [Git       ] (git://git.goodpoint.de/pure-funtoo...)

Из /etc/make.conf:

PORTDIR="/usr/portage"
PORTDIR_OVERLAY="
/usr/overlays/emacs
/usr/overlays/pro-audio
/usr/overlays/gentoojp
/usr/overlays/mcabber
/usr/overlays/rion
/usr/overlays/suckless
/usr/overlays/sunrise
/usr/overlays/voyageur
/usr/overlays/zen-sources
/usr/overlays/zugaina
/usr/overlays/multimedia
/usr/overlays/x11
/usr/overlays/games
/usr/overlays/gamerlay
/usr/overlays/lisp
/usr/overlays/suka
/usr/overlays/science
/usr/overlays/mpd
/usr/overlays/haskell
/usr/overlays/toolchain
/usr/overlays/desktop-effects
/usr/overlays/pure-funtoo
/usr/overlays/arcon
/usr/overlays/gnustep
/usr/overlays/init6
/usr/overlays/openoffice-geki
/usr/overlays/benf
/usr/overlays/akoya
$PORTDIR_OVERLAY
/usr/local/overlays/hackage
/usr/local/overlays/portage"

Per aspera ad astra

вот это рассадник воерлеев ))) зачем столько? ))

Софт ставить из оных, вестимо. ^_^

Per aspera ad astra

Ой-ёй… Да уж, тут разбираться и разбираться. Неудивительно, что portage запаниковал.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Да чего разбирать-ся то? Всё работало. Пару локальных оверлеев(для обычных ебилдов, и для сгенерёных через app-portage/hackport, что из хаскелевского оверлея), и те, что добавлял лайманом по мере необходимости. Портаж, похоже, накрылся после его обновления. Может, кто присоветует, как его поднять -- откатиться не выходит (в силу сломаности последнего)?

И да, может, кто знает, подскажет -- это может быть глюк точно портежа, или чего другого? Если портаж -- воссановлю по гиду. Спасибо.

Per aspera ad astra

А попробуйте-ка все эти оверлеи из make.conf-то поудалять. Глядишь, portage на радостях и заработает :)

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Закомментировал все упоминания о репозитариях...
emerge --info Похоже, телепаты вернулись из отпуска, ура!!! Спасибо :)

Осталось только

~ ◾ emerge --info                           22:53 Срд 2010-12-22 root@l4n732nu5
!!! Repository name or alias 'gentoo', defined for repository 'gentoo', overrides existing alias or repository.
!!! Location not set for repository funtoo
Portage 2.2_rc93 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.11.2-r2, 2.6.36-zen1-libre i686)
.......

это вот сообщение в выводе. Может, и тут подскажите, что может значить? :)

Per aspera ad astra

Забавно, но, в ходе экспериментов, было обнаружено, что портажу неугодны конкретно следующие оверлеи :)

#/usr/overlays/x11
#/usr/overlays/lisp
#/usr/overlays/science
#/usr/overlays/openoffice-geki

С остальными работает :)

Per aspera ad astra

Всё, починил вроде. Замаскал оверлеи, откатил портаж, переподключил оверлеи. Спасибо всем!

Per aspera ad astra