1

Добрый день!
На VPS-хостинге крутится старенькая Gentoo. Каюсь не обновлял её своевременно, скорее руководствовался принципом "работает, не трогай". Думаю, что был не прав, но речь не об этом. Пытаюсь сейчас обновиться и попадаю в какой-то замкнутый цикл.
Делаю emerge portage получаю:

!!! All ebuilds that could satisfy ">=dev-util/pkgconfig-0.26" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-util/pkgconfig-9999 (masked by: EAPI 4, invalid: SLOT is undefined)
- dev-util/pkgconfig-0.27.1 (masked by: EAPI 4, invalid: SLOT is undefined)
- dev-util/pkgconfig-0.27 (masked by: EAPI 4, invalid: SLOT is undefined)
- dev-util/pkgconfig-0.26 (masked by: EAPI 4, invalid: SLOT is undefined)

The current version of portage supports EAPI '2'. You must upgrade to a
newer version of portage before EAPI masked packages can be installed.

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
(dependency required by "dev-lang/python-2.7.3-r2" [ebuild])
(dependency required by "sys-apps/portage-2.1.11.9" [ebuild])
(dependency required by "portage" [argument])

Совет обновить версию portage, конечно, хороший, но я и так пытаюсь обновить portage...
Подскажите, пожалуйста, как его всё-таки обновить?

2

nezumikun пишет:

Подскажите, пожалуйста, как его всё-таки обновить?

Можно попытаться обновить его из бинарного пакета. (В качестве примера я указал пакет для x86-архитектуры.)

Был, был и весь вышел...

3

для начала:
1) ставить portage из стабильной ветки - он должен быть менее придирчив

и это после какой команды вывод? по идее если обновлять только portage, то он не должен к версии питона особо придираться...
и что там сейчас стоит?  emerge --info в студию... могут быть и другие подводные камни...

95% процентов проблем находятся между клавиатурой и стулом.

4

Команда просто emerge portage
Вывод emerge --info:

+ открыть спойлер

Portage 2.1.6.7 (default/linux/x86/10.0/server, gcc-4.1.2, glibc-2.5-r3, 2.6.18-274.7.1.el5.028stab095.1 i686)
=================================================================
System uname: Linux-2.6.18-274.7.1.el5.028stab095.1-i686-Intel-R-_Xeon-R-_CPU_E5310_@_1.60GHz-with-glibc2.0
Timestamp of tree: Tue, 11 Sep 2012 08:00:02 +0000
app-shells/bash:     3.2_p15-r1
dev-lang/python:     2.4.4-r4
dev-util/pkgconfig:  0.21-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.17
sys-devel/gcc:       4.1.2
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   2.2.6b
sys-devel/make:      3.81
sys-kernel/linux-headers: 2.6.17-r2
sys-libs/glibc:      2.5-r3
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/local/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="ru_RU.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/local/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/usr/local/portage/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl apache2 berkdb bzip2 cli cracklib crypt cups curl cxx dri fortran gdbm gpm iconv ithreads modules mudflap mysql ncurses nls nptl nptlonly openmp pam pcre postgres pppd readline session snmp ssl syslog tcpd truetype unicode x86 xml zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="access auth auth_dbm auth_anon auth_digest authz_host alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate filter mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY, USE_PYTHON

А как узнать, стабильная у меня ветка или нет?

5

nezumikun пишет:

А как узнать, стабильная у меня ветка или нет?

nezumikun пишет:

ACCEPT_KEYWORDS="x86"

Стабильная.

Был, был и весь вышел...

6

Lupo Alberto пишет:
nezumikun пишет:

Подскажите, пожалуйста, как его всё-таки обновить?

Можно попытаться обновить его из бинарного пакета. (В качестве примера я указал пакет для x86-архитектуры.)

А какие могут быть последствия?

7

nezumikun пишет:

А какие могут быть последствия?

Не то, чтобы последствия... Просто этого может быть недостаточно. Возможно, потребуется качать ещё бинарники. В любом случае установленные таким образом пакеты потом лучше пересобрать.

Был, был и весь вышел...

8

я бы сделал так:
1) забрал бы ебилд dev-util/pkgconfig со старым EAPI с cvs-дерева
2) установил бы его
3) обновил бы питон
4) обновил бы portage

варианты:
1) обновить portage до промежуточной версии... брать опять же из vcs или же из layman/crg
2) взять из cvs дерево целиком за какую-то дату в прошлом или разжиться где-нить ещё старым снимком

95% процентов проблем находятся между клавиатурой и стулом.

9

Если на VPS скромные мощности, то обновлть там Gentoo, особо древнюю, очень геморно  и ооочень долго. Я беру stage4 с таких VPS  и на быстрой машине делаю обновления, затем бинарными пакетами обновляю то, что на VPS крутится.

10

Обычно проблемы с EAPI решаются командой:

emerge -v1 portage

11

Увы... Ошибка та же, что в первом сообщении.

ormorph пишет:

Обычно проблемы с EAPI решаются командой:

emerge -v1 portage

12

А какая версия python стоит сейчас? и с какими флагами он собран.
Ну и с какими флагами собираете potage ?
А то что то в самом ебилде  portage не нахожу зависимости с pkgconfig

13

nezumikun
Немного пересмотрел ваш конфиг, у вас стоит довольно старый Python ветки 2.4
Это есть не очень хорошо, если бы стояла хотя бы ветка 2.6, то по идее реально было бы собрать portage с флагом build
А так наиболее нормальный совет в данном случае, либо собирать заново с нуля. Либо если есть возможность откатится заново на старую ветку портов, то если там присутствует python ветки 2.6 то его можно собрать с флагами threads ssl, и выполнить python-updater, затем можно будет снова попытаться обновиться, предварительно собрав порты с флагом build.