dev-lang/php (Пересборка с добавлением флага)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
dimugric
Сообщения: 385
Статус: kernel panic
ОС: debian "wheezy", fedora

dev-lang/php

Сообщение dimugric »

Привет всем. Есть гентушка, на которой работает астериск. Возникла необходимость включить поддержку mssql в php. Вся проблема заключается в том, что система была установлена в 09 году и по сути не обновлялась. Вообщем опишу что делал и что не получается:

Проверяю что флаг не включен в пакет:

Код: Выделить всё

 # equery uses dev-lang/php | grep mssql
-mssql


Добавляю флаг в /etc/portage/package.use:

Код: Выделить всё

# cat /etc/portage/package.use | grep php
dev-lang/php cli pcre xml zlib gd mssql


Версия php: dev-lang/php-5.2.8-r1 (её мне и нужно оставить)
Далее, таких древних пакетов уже нет, но мне нужно пересобрать именно его.
Беру тут ebuild и укладываю в /usr/portage/dev-lang/php/ этот ebuild

Пытаюсь пересобрать пакет:

Код: Выделить всё

# emerge -av =dev-lang/php-5.2.8-r1

 * IMPORTANT: 11 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


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

Calculating dependencies \ * Missing digest for '/usr/portage/dev-lang/php/php-5.2.8-r1.ebuild'                   ..
. done!

!!! All ebuilds that could satisfy "=dev-lang/php-5.2.8-r1" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/php-5.2.8-r1 (masked by: corruption)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.


Добавил в unmask на всякий случай пакет:

Код: Выделить всё

# cat /etc/portage/package.unmask | grep php
=dev-lang/php-5.2.8-r1


Из ebuild пробуем установить:

Код: Выделить всё

# ebuild usr/portage/dev-lang/php/php-5.2.8-r1.ebuild digest
Appending /home/usr/portage to PORTDIR_OVERLAY...
 *
 * ERROR: dev-lang/php-5.2.8-r1 failed.
 * Call stack:
 *               ebuild.sh, line 1881:  Called source '/home/usr/portage/dev-lang/php/php-
5.2.8-r1.ebuild'
 *     php-5.2.8-r1.ebuild, line   33:  Called inherit 'versionator' 'php5_2-sapi' 'apache
-module'
 *               ebuild.sh, line 1215:  Called die
 * The specific snippet of code:
 *              [ ! -e "$location" ] && die "${1}.eclass could not be found by inherit()"
 *  The die message:
 *   php5_2-sapi.eclass could not be found by inherit()
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * This ebuild is from an overlay: '/home/usr/portage/'


Эффект абсолютно тот же. Подскажите куда двигаться дальше?
Asus K56CB Intel Core i5 - 3317U, 1.7ГГц/DDR - 6Gb/ SSD - 160Gb/ nvidia GeForce 740M "fedora"
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: dev-lang/php

Сообщение serzh-z »

Gentoo Linux - это дистрибутив rolling based... Со всеми плюсами и минусами. Собрать систему, не соответствующую голове дистрибутива - это как собрать свой дистрибутив. Относительно последней ошибки - "emerge --sync" поможет, но, понятное дело, поломает что-то другое.
Спасибо сказали:
Аватара пользователя
dimugric
Сообщения: 385
Статус: kernel panic
ОС: debian "wheezy", fedora

Re: dev-lang/php

Сообщение dimugric »

serzh-z писал(а):
12.11.2012 12:40
Gentoo Linux - это дистрибутив rolling based... Со всеми плюсами и минусами. Собрать систему, не соответствующую голове дистрибутива - это как собрать свой дистрибутив. Относительно последней ошибки - "emerge --sync" поможет, но, понятное дело, поломает что-то другое.


Понятное дело, что emerge --sync поможет с последующим пересбором большей части мира, но этого позволить я себе не могу, т.к.железяка рабочая и ответственная
Asus K56CB Intel Core i5 - 3317U, 1.7ГГц/DDR - 6Gb/ SSD - 160Gb/ nvidia GeForce 740M "fedora"
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: dev-lang/php

Сообщение vr13 »

dimugric писал(а):
12.11.2012 12:05
...
Беру тут ebuild и укладываю в /usr/portage/dev-lang/php/ этот ebuild
...

Код: Выделить всё

...
Calculating dependencies \ * Missing digest for '/usr/portage/dev-lang/php/php-5.2.8-r1.ebuild'                   ..

безотносительно того, куда вы ebuild кладете (хотя правильнее было бы сделать локальный оверлей), после добавления пакета, следует подготовить его digest (ebuld <path2ebuild> digest; при этом в директории с ebuild-файлом создастся манифест с контрольными суммами для ebuild и всего, что ebuild-у требуется - тарболы, патчи итп), а потом уже emerge-ить

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