Как поставить php 5.2.X

Есть старая версия движка для сайта, нужна версия php 5.2.X, переделать не могу так как не силен в php.
А все старые ебильды уже исключены из портажей.

Простого способа нет, нужен

Простого способа нет, нужен либо срез дерева, где есть 5.2, либо решить те проблемы из-за которых 5.2 был исключен

Да нет никаких проблем с

Да нет никаких проблем с версией, её удалили т.к. она старая.

Отсюда можно скачать http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/php/?hideattic=0 удалённый ebuild`ы.

У меня вот такое выдает при

У меня вот такое выдает при попытке поставить старую версию.

WWW ~ # emerge -vp /usr/portage/dev-lang/php/php-5.2.9.ebuild
!!! Invalid PORTDIR_OVERLAY (not a dir): '/var/lib/layman/underlay'

*** emerging by path is broken and may not always work!!!

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

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

*** You are emerging a masked package. It is MUCH better to use
*** /etc/portage/package.* to accomplish this. See portage(5) man
*** page for details.
>>> Waiting 10 seconds before starting...
>>> (Control-C to abort)...
Continuing... in: 10 9 8 7 6 5 4 3 2 1 ... done!
Traceback (most recent call last):
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 5306, in _pkg
metadata = zip(db_keys, db.aux_get(cpv, db_keys, myrepo=myrepo))
File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 467, in aux_get
raise KeyError(mycpv)
KeyError: 'dev-lang/php-5.2.9'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/emerge", line 51, in
retval = emerge_main()
File "/usr/lib64/portage/pym/_emerge/main.py", line 1044, in emerge_main
gc_locals=locals().clear)
File "/usr/lib64/portage/pym/_emerge/actions.py", line 3928, in run_action
myopts, myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/actions.py", line 317, in action_build
settings, trees, myopts, myparams, myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 7825, in backtrack_depgraph
myaction, myfiles, spinner)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 7857, in _backtrack_depgraph
success, favorites = mydepgraph.select_files(myfiles)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 2642, in select_files
return self._select_files(args)
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 2737, in _select_files
os.path.dirname(os.path.dirname(os.path.dirname(ebuild_path)))))
File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 5308, in _pkg
raise portage.exception.PackageNotFound(cpv)
portage.exception.PackageNotFound: dev-lang/php-5.2.9

ebuild, отсутствующий в

ebuild, отсутствующий в основном дереве portage нужно помещать в локальный оверлей, подключается локальный overlay в make.conf так:

PORTDIR_OVERLAY="/usr/local/portage"

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

mkdir -p /usr/local/portage/dev-lang/php

Помещаете в неё ebuild, затем нужно создать файл Manifest, с контрольными суммами ebuild`а и необходимых для сборки пакета файлов:

cd /usr/local/portage/dev-lang/php
ebuild php-5.2.9.ebuild digest

Не забудьте посмотреть так же файлы в директории files, в ней обычно лежат патчи и прочие файлы, которые нужны для сборки пакета.

UPD:
Почему не пробуете php-5.2.17.ebuild ?

Попробовал собрать

Попробовал собрать так:
emerge layman
layman -a underlay

emerge dev-lang/php:5.2

при компиляции вылезает ошибка

p-5.2.17/ext/dom/node.c -o ext/dom/node.lo
/var/tmp/portage/dev-lang/php-5.2.17/work/php-5.2.17/ext/dom/node.c: In function 'dom_canonicalization':
/var/tmp/portage/dev-lang/php-5.2.17/work/php-5.2.17/ext/dom/node.c:1953:21: error: dereferencing pointer to incomplete type
/var/tmp/portage/dev-lang/php-5.2.17/work/php-5.2.17/ext/dom/node.c:1955:5: error: dereferencing pointer to incomplete type
make: *** [ext/dom/node.lo] Error 1
emake failed
* ERROR: dev-lang/php-5.2.17 failed (compile phase):
* emake failed

Ну уж с этой ошибкой к тем,

Ну уж с этой ошибкой к тем, кто пишет ebuild`ы в оверлей underlay .

Ну а с ebuild`ом, удалённым из основного дерева как дела ?

Попробовал php-5.2.17.ebuild

Попробовал php-5.2.17.ebuild ? и локальный оверлей
та-же ошибка при компиляции.

ude -O2 -pipe -D_GNU_SOURCE -c /var/tmp/portage/dev-lang/php-5.2.17/work/sapis-build/cli/ext/dom/node.c -o ext/dom/node.lo
/var/tmp/portage/dev-lang/php-5.2.17/work/sapis-build/cli/ext/dom/node.c: In function 'dom_canonicalization':
/var/tmp/portage/dev-lang/php-5.2.17/work/sapis-build/cli/ext/dom/node.c:1953:21: error: dereferencing pointer to incomplete type
/var/tmp/portage/dev-lang/php-5.2.17/work/sapis-build/cli/ext/dom/node.c:1955:5: error: dereferencing pointer to incomplete type
make: *** [ext/dom/node.lo] Error 1
emake failed
* ERROR: dev-lang/php-5.2.17 failed (compile phase):
* emake failed
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 4725: Called eblit-run 'src_compile' 'v1'
* environment, line 1734: Called eblit-php-src_compile
* src_compile-v1.eblit, line 15: Called php_sapi_build 'cli'
* src_compile-v1.eblit, line 24: Called die
* The specific snippet of code:
* emake || die "emake failed"
*
* If you need support, post the output of `emerge --info '=dev-lang/php-5.2.17'`,
* the complete build log and the output of `emerge -pqv '=dev-lang/php-5.2.17'`.
* This ebuild is from an overlay named 'x-portage': '/usr/local/portage/'
* The complete build log is located at '/var/tmp/portage/dev-lang/php-5.2.17/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-lang/php-5.2.17/temp/environment'.
* Working directory: '/var/tmp/portage/dev-lang/php-5.2.17/work/sapis-build/cli'
* S: '/var/tmp/portage/dev-lang/php-5.2.17/work/php-5.2.17'

>>> Failed to emerge dev-lang/php-5.2.17, Log file:

>>> '/var/tmp/portage/dev-lang/php-5.2.17/temp/build.log'

* Messages for package dev-lang/php-5.2.17:

* ERROR: dev-lang/php-5.2.17 failed (compile phase):
* emake failed
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 4725: Called eblit-run 'src_compile' 'v1'
* environment, line 1734: Called eblit-php-src_compile
* src_compile-v1.eblit, line 15: Called php_sapi_build 'cli'
* src_compile-v1.eblit, line 24: Called die
* The specific snippet of code:
* emake || die "emake failed"
*

Часть кода node.c эти строки 1951-1956

} else {
if (mode == 0) {
ret = buf->buffer->use;
if (ret > 0) {
RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);
} else {

.

Играл в эти квесты.
Ебилд в публичном оверлее не соответствует текущим реалиям.
Тебе же полезно начать с определения перечня необходимой функциональности (ибо в полноценное прохождение квеста я упираться не стал).

:wq
--
Live free or die

Вам ебилд или работать ?

Вам ебилд или работать ? шашечки или ехать ?
Если 2-е, то опенвз, центось 5.9 ( и нжинкс, если все плохо с айпишками) позволяют решить проблему за пол-часа.
Если все плохо настолько, что у вас "десктоп на элитгроуп" - то есть lxc ( вопрос "как правильно любить лхц" не ко мне, т.к в нынешнем виде оно мне безинтересно)

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 ;)

fer39 написал(а): Есть старая

fer39 написал(а):
Есть старая версия движка для сайта, нужна версия php 5.2.X, переделать не могу так как не силен в php.
А все старые ебильды уже исключены из портажей.

знаком с темой - правильней и, в итоге, это будет проще - поправить движок.

хелп ми , плиз - поправь мне

хелп ми , плиз - поправь мне все клиентские сайты :)

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 ;)

Я когдато делал ебилд для php

Я когдато делал ебилд для php 5.2.17 с fpm sapi патчами (тогда они шли отдельно), сейчас вот переделал.
+ добавил патчи с проекта php52-backports и патч для pcre >=8.30 (иначе нельзя было собрать пакет)

https://yadi.sk/d/N-w3XaiFc55PX

Спасибо тебе, добрый человек!

Спасибо тебе, добрый человек!

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

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