Установка старого пакета с EAPI 2 на системе с EAPI 3

Необходимо на систему, поддерживающую EAPI 3, поставить старый пакет, ebuild которого требует EAPI=2

команда
# ebuild [старый_пакет].ebuild manifest
завершается руганью
* Unknown EAPI.

Можно тупо в ебилде старого пакета строчку EAPI=2 изменить на EAPI=3, но какие могут быть негативные последствия?
EAPI 3 несовместим с EAPI 2. А наоборот?

Обычно происходит обратная ситуация, когда на старой системе нужно установить новый пакет, что решается апгрейдом portage. В данном случае даунгрейтить portage, конечно, нет смысла.

UPDATE 1
Проблема касается обновления Xfce4 с сохранением пакета <xfce4-settings-4.6.3-r1, который поддерживает только<libXi-1.3, но ему нужны старые библиотеки libxfce4kbd-private и libexo-0.3, исключенные в Xfce4 версии 4.8.

UPDATE 2
Новый >=xfce4-settings-4.6.3-r1 требует >=libXi-1.3 (не может быть установлен в системе из-за конфликта с железом). Конкретно требует библиотеку /usr/include/X11/extensions/XInput.h.

UPDATE 3
Возможные варианты решения которые я пока выявил :
1. Удаление xfce4-settings с потерей функциональности Xfce4 (невозможность настройки Xfce4)
2. Переход на Xfce4 версии ниже 4.6.3 с потенциально возможными конфликтами системы в будущем.
3. Установка новых xfce4-settings вручную с потерей функциональности некоторых настроек и потенциальными конфликтами.
4. Обращение к разработчикам Xfce4 с просьбой сохранения возможности установки Xfce4 на старые иксы. :-)

UPDATE 4
Установил xfce4-settings-4.8.1 из оверлея отключив проверку на версию libXi. Всё собралось нормально, косяков пока не обнаружил.

вообщето, новые портажи

вообщето, новые портажи поддерживают старые eapi вплоть до нулевого, даже более того - добрая половина пакетов в дереве все еще на старых eapi. Ебилд покажите.

gry написал(а): Ебилд

gry написал(а):
Ебилд покажите.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/xfce-base/xfce4-settings/xfce4-settings-4.6.3.ebuild?hideattic=0&r1=1.13&view=log

Любой из них.

# ebuild ./xfce4-settings-4.6.3.ebuild manifest
 * ERROR: xfce-base/xfce4-settings-4.6.3 failed (depend phase):
 *   Unknown EAPI.
 * 
 * Call stack:
 *                     ebuild.sh, line 1998:  Called source '/usr/local/portage/xfce-base/xfce4-settings/xfce4-settings-4.6.3.ebuild'
 *   xfce4-settings-4.6.3.ebuild, line    7:  Called inherit 'xfconf'
 *                     ebuild.sh, line 1403:  Called qa_source '/usr/portage/eclass/xfconf.eclass'
 *                     ebuild.sh, line   43:  Called source '/usr/portage/eclass/xfconf.eclass'
 *                 xfconf.eclass, line   51:  Called die
 * The specific snippet of code:
 *   	*) die "Unknown EAPI." ;;
 * 
 * If you need support, post the output of 'emerge --info =xfce-base/xfce4-settings-4.6.3',
 * the complete build log and the output of 'emerge -pqv =xfce-base/xfce4-settings-4.6.3'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * S: '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3'

тут проблема в том что eclass

тут проблема в том что eclass xfconf поддерживает только ебилды с eapi 3 и 4, сам портаж не при чем.

вот этот код из файла /usr/portage/eclass/xfconf.eclass возвращает вашу ошибку

case ${EAPI:-0} in
        4|3) ;;
        *) die "Unknown EAPI." ;;
esac

ps. я думаю, что ничего плохого не случиться от того, что вы поставите 3 eapi в этом ебилде. попробуйте в любом случае.

Попробовал выставить EAPI=3 в

Попробовал выставить EAPI=3 в ебилде.
Сборка завершается с ошибкой:

 * ERROR: xfce-base/xfce4-settings-4.6.3 failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_configure
 *   environment, line 3045:  Called xfconf_src_configure
 *   environment, line 3644:  Called econf '--disable-dependency-tracking
 * 		--enable-libnotify
 * 		--enable-libxklavier
 * 		--disable-sound-settings
 * 		--disable-debug'
 *     ebuild.sh, line  557:  Called die
 * The specific snippet of code:
 *   			die "econf failed"
 * 
 * If you need support, post the output of 'emerge --info =xfce-base/xfce4-settings-4.6.3',
 * the complete build log and the output of 'emerge -pqv =xfce-base/xfce4-settings-4.6.3'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * The complete build log is located at '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/build.log'.
 * The ebuild environment file is located at '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/environment'.
 * S: '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3'

Собственно, участок кода в ebuild.sh:

if ! "${ECONF_SOURCE}/configure" "$@" ; then

     if [ -s config.log ]; then
             echo
             echo "!!! Please attach the following file when seeking support:"
             echo "!!! ${PWD}/config.log"
     fi
     die "econf failed"
fi

Видимо, где-то здесь и несовместимость EAPI 3 с EAPI 2.
И что делать?

По описанию xfce4-settings - вроде бы лишь панель настроек. Можно было бы отказаться, но от неё зависит xfce4-meta. :-(

А почему ты думаешь, что не

А почему ты думаешь, что не собирается из-за EAPI? По-моему там просто что-то не срослось при ./configure
Весь лог сборки на пасту.

Это только догадки.

Это только догадки. Собственно, я не настолько силён в портежах чтобы быстро разобраться в причинах ошибки. :)

Вот весь лог:

# emerge -v =xfce4-settings-4.6.3

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] xfce-base/xfce4-settings-4.6.3  USE="keyboard libnotify -debug -sound" 0 kB [0=>1]

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/local/portage


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) xfce-base/xfce4-settings-4.6.3 from unknown repo
 * xfce4-settings-4.6.3.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                  [ ok ]
 * Package:    xfce-base/xfce4-settings-4.6.3
 * USE:        elibc_glibc kernel_linux keyboard libnotify userland_GNU x86
 * FEATURES:   sandbox
>>> Unpacking source...
>>> Unpacking xfce4-settings-4.6.3.tar.bz2 to /usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work
>>> Source unpacked in /usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work
>>> Preparing source in /usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3 ...
 * Applying xfce4-settings-4.6.3-exo.patch ...                                                                   [ ok ]
 * Running eautoreconf in '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3' ...
 * Running aclocal -I /usr/share/xfce4/dev-tools/m4macros ...                                                    [ ok ]
 * Running libtoolize --copy --force --install --automake ...                                                    [ ok ]
 * Running aclocal -I /usr/share/xfce4/dev-tools/m4macros ...                                                    [ ok ]
 * Running autoconf -I /usr/share/xfce4/dev-tools/m4macros ...                                                   [ ok ]
 * Running autoheader -I /usr/share/xfce4/dev-tools/m4macros ...                                                 [ ok ]
 * Running automake --add-missing --copy ...                                                                     [ ok ]
 * Running elibtoolize in: xfce4-settings-4.6.3/
 *   Applying portage-2.2.patch ...
 *   Applying sed-1.5.6.patch ...
 *   Applying as-needed-2.2.6.patch ...
>>> Source prepared.
>>> Configuring source in /usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3 ...
 * econf: updating xfce4-settings-4.6.3/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating xfce4-settings-4.6.3/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking
		--enable-libnotify
		--enable-libxklavier
		--disable-sound-settings
		--disable-debug
configure: error: invalid feature name: dependency-tracking
		--enable-libnotify
		--enable-libxklavier
		--disable-sound-settings
		--disable-debug
 * ERROR: xfce-base/xfce4-settings-4.6.3 failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_configure
 *   environment, line 3045:  Called xfconf_src_configure
 *   environment, line 3644:  Called econf '--disable-dependency-tracking
 * 		--enable-libnotify
 * 		--enable-libxklavier
 * 		--disable-sound-settings
 * 		--disable-debug'
 *     ebuild.sh, line  557:  Called die
 * The specific snippet of code:
 *   			die "econf failed"
 * 
 * If you need support, post the output of 'emerge --info =xfce-base/xfce4-settings-4.6.3',
 * the complete build log and the output of 'emerge -pqv =xfce-base/xfce4-settings-4.6.3'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * The complete build log is located at '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/build.log'.
 * The ebuild environment file is located at '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/environment'.
 * S: '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3'

>>> Failed to emerge xfce-base/xfce4-settings-4.6.3, Log file:

>>>  '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/build.log'

 * Messages for package xfce-base/xfce4-settings-4.6.3:

 * ERROR: xfce-base/xfce4-settings-4.6.3 failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_configure
 *   environment, line 3045:  Called xfconf_src_configure
 *   environment, line 3644:  Called econf '--disable-dependency-tracking
 * 		--enable-libnotify
 * 		--enable-libxklavier
 * 		--disable-sound-settings
 * 		--disable-debug'
 *     ebuild.sh, line  557:  Called die
 * The specific snippet of code:
 *   			die "econf failed"
 * 
 * If you need support, post the output of 'emerge --info =xfce-base/xfce4-settings-4.6.3',
 * the complete build log and the output of 'emerge -pqv =xfce-base/xfce4-settings-4.6.3'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * The complete build log is located at '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/build.log'.
 * The ebuild environment file is located at '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/environment'.
 * S: '/usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/work/xfce4-settings-4.6.3'

на будущее

на будущее http://www.gentoo.ru/node/14464

Сорри, учту.

Сорри, учту.

уберите

уберите --disable-dependency-tracking из ебилда

gry написал(а): уберите

gry написал(а):
уберите --disable-dependency-tracking из ебилда

Бесполезно, ругается на все значения в XFCONF. Но даже если убрать их все, то сборка завершается с ошибкой:

checking for libxfce4kbd-private-1.0 >= 4.6.0... not found
*** The required package libxfce4kbd-private-1.0 was not found on your system.
*** Please install libxfce4kbd-private-1.0 (atleast version 4.6.0) or adjust
*** the PKG_CONFIG_PATH environment variable if you
*** installed the package in a nonstandard prefix so that
*** pkg-config is able to find it.

Естественно, libxfce4ui-4.8.0 (куда входит libxfce4kbd-private) стоит, но библиотека уже называется "libxfce4kbd-private-2". Я не уверен что можно дать ссылку, поскольку там несколько файлов в разных каталогах.

а зачем вам старая версия

а зачем вам старая версия xfce?

киньте /usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/build.log на pastebin

gry написал(а):а зачем вам

gry написал(а):
а зачем вам старая версия xfce?

киньте /usr/tmp/portage/xfce-base/xfce4-settings-4.6.3/temp/build.log на pastebin

xfce4-meta тянет за собой xfce4-settings, а xfce4-settings - новые иксы. А новые иксы уже не поддерживает драйвер старой видеокарты (или наоборот, что не суть важно).

Лог см. выше.

З.Ы.
И дёрнуло меня ведь обновить Оперу с 11.00 до 11.11, и пошло-поехало... :(

А что за видеокарта, если не

А что за видеокарта, если не секрет?

Matrox :)

Matrox :)

А зачем *-мета? Ставьте

А зачем *-мета? Ставьте помодульно...

Да, xfce4-meta не содержит

Да, xfce4-meta не содержит своих файлов, поэтому можно установить пакеты вручную. Но xfce4-settings оказывается всё-таки важен.

Бред. Новые портежи умеют

Бред. Новые портежи умеют старые ебилды. Ебилд на пасту, мозги в состояние "вкл."

maksbotan написал(а): Бред.

maksbotan написал(а):
Бред. Новые портежи умеют старые ебилды. Ебилд на пасту, мозги в состояние "вкл."

Сложно не грубить?

Прикольный заголовок

Прикольный заголовок "maksbotan написал(а): Бред."
`emerge -pv portage`

про мозги не грубость, а

про мозги не грубость, а имхо, преувеличение.
интеджер, портеж то при чем ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Потому что надо знать нужные

Потому что надо знать нужные моменты чтобы что-то думать.

А ведь revdep-rebuild меня

А ведь revdep-rebuild меня предупреждал:

*   broken /usr/bin/xfce4-settings-helper (requires libxfce4kbd-private.so.5)
*   broken /usr/bin/xfce4-settings-manager (requires libexo-0.3.so.0)

Новые библиотеки Xfce4 уже не поддерживают старый xfce4-settings.

В копилку знаний:
http://forums.gentoo.org/viewtopic-t-808136-highlight-x11libs+libxi.html

Цитата:
xfce4-settings-4.6.3 requires < libXi-1.3
xfce4-settings-4.6.3-r1 require >= libXi-1.3

libXi-1.3 has /usr/include/X11/extensions/XInput.h
libXi-1.2 does not have that file

Стало быть, либо всё-таки нужно обновлять иксы (т.е. менять видеокарту, а поскольку AGP сейчас почти нет, то и компьютер менять), либо юзать Xfce4 с флагом --minumum (без xfce4-settings), либо даунгрейтить Xfce4.

Однако, не факт что старый Xfce4 в будущем не будет конфликтовать с новыми gtk+ или чем-то вроде этого. Проблема фактически останется нерешённой до тех пор, пока разработчики не вспомнят о пользователях старого железа. :-(

В крайнем случае можно

В крайнем случае можно использовать vesa в качества драйвера.

Тогда будет поддерживаться

Тогда будет поддерживаться только один монитор. :(

Я канеш не большой знаток

Я канеш не большой знаток matrox, но всёже http://www.x.org/wiki/VideoDriverFAQ#IhaveaMatroxcard.2CwhichdrivershouldIuse.3F

mga не поддерживает дуальный

mga не поддерживает дуальный режим работы или поддерживает как-то не так - детали не помню за давностью лет. Когда-то на другой системе я использовал левый патч для иксов чтобы они поддерживали родные драйверы, но когда перешёл на новую, я этот патч потерял, а в интернете уже не смог найти.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".