# Куда катится Gentoo?? :-F

## Balancer

Или я на асфальте, блин.

Мало мне так и нерешённой проблемы с даунгрейдом MySQL, так ещё новый пришли.

1. В портеже появился dev-php/mod_php-5.1.0_beta. Хорошо, но зачем его оставлять при таком же наборе флагов, как в 5.0.4? Как мне их разделять?? Записи типа

```

>=dev-php/mod_php-5.1.0_beta

```

В package.mask не спасают. Система упорно хочет ставить php-5.1.0_beta.

Ладно, поставил. Но так и не появилась поддержка pear, которую выкинули из 5.0.4! Теперь там, видите ли, в явном виде задаётся "--without-pear". PEAR, вроде бы, должен идти отдельным пакетом. Хорошо, но - где он? emerge PEAR-PEAR для установки требует... pear!

Копирование соответствующих файлов в /usr/local/portage/* и их модификация почему-то не помогает. Править основные файлы - делать мне нечего... esync у меня ежедневный :-F

А, ведь, ещё всего месяц назад всё ещё было замечательно.

Что творится с дистрибутивом??

----------

## Nelud

 *Balancer wrote:*   

> Что творится с дистрибутивом??

 

Как что? Ты новости на главной странице Gentoo.org читаешь?  :Smile: 

 *Quote:*   

> Gentoo founder and former Gentoo Chief Architect Daniel Robbins began a new position at Microsoft on 23 May 2005.

  :Laughing: 

----------

## viy

С отдельным пакетом, php. У проблемы с mysql'ом ноги тоже оттуда растут, если я не ошибаюсь.

Человеку, отвечающему за php-пакеты в gentoo стоит руки вырвать...

Или отказаться от использования php в принципе, есть более чем достойные альтернативы, такие как python.

----------

## Balancer

 *Nelud wrote:*   

>  *Quote:*   Gentoo founder and former Gentoo Chief Architect Daniel Robbins began a new position at Microsoft on 23 May 2005. 

 

После ответа пошёл на ЛОР и там в новостях увидел. Но, шутки шутками, а жить-то как? Не переходить же на ручную сборку, как в догентовские времена  :Smile: 

----------

## Balancer

 *viy wrote:*   

> Или отказаться от использования php в принципе, есть более чем достойные альтернативы, такие как python.

 

Если всё писать с нуля и под себя - то оно, конечно, хорошо. Вот только переписывать всевозможные Smarty/PEAR/iPB/etc на python - ни времени, ни желания нет  :Smile:  Я давно пережил те времена, когда под каждое решение свою операционку, свой язык программирования и т.д. писать хотелось  :Smile: 

может быть кто-то подскажет, почему игнорируются записи в package.mask и eclass-файлы в /etc/local/portage/eclass?

PORTDIR_OVERLAY прописан корректный (да итак у меня некоторые пакеты оттуда собираются).

----------

## Balancer

 *viy wrote:*   

> С отдельным пакетом, php. У проблемы с mysql'ом ноги тоже оттуда растут, если я не ошибаюсь.

 

Если точнее, то это "mysql? ( =dev-db/mysql-4.0* )" в php5-sapi-r?.eclass

А уж им-то пользуются многие :-/

----------

## Balancer

C pear разобрался.

Если кому-то нужно, то:

* Удаляем старый пакет (даже если его итак на диске формально уже нет  :Very Happy: )

* Прописываем ~x86 для PEAR-PEAR

* Сносим русскую локаль (export LANG=)

* Инсталлируем его (dev-php/PEAR-PEAR-1.3.5-r1) дважды. На второй раз он устанавливается.

Ещё бы с mysql разобраться...  :Smile: 

----------

## IFL

по поводу mysql - копируем ebuild для mod_php-5.0.1 в portdir_overlay

и заменяем в ebuild'е

```
php5-sapi-r2
```

на

```
php5-sapi-r3
```

и вроде бы должно работать с mysql, так как в r3:

```
mysql? ( dev-db/mysql )
```

p.s.: вот бы pdo увидеть  :Smile: 

----------

## Balancer

 *IFL wrote:*   

> по поводу mysql - копируем ebuild для mod_php-5.0.1 в portdir_overlay
> 
> и заменяем в ebuild'е
> 
> ```
> ...

 

Хех :-/ Во-первых, в портеже из 5.x остались только 5.0.4-r1 и 5.1.0_beta. Но ерунда. Я бы и рад поставить 5.0.4, с бетой связываться пока не очень охота, но не знаю, как "отфильтровать" эту бету. Все её флаги такие же, как и в 5.0.4, а прямой запрет инсталлции 5.1 в package.mask почему-то не работает. Что ни делай, хочет ставить 5.1.0_beta и всё тут.

----------

## IFL

 *Balancer wrote:*   

>  *IFL wrote:*   по поводу mysql - копируем ebuild для mod_php-5.0.1 в portdir_overlay
> 
> и заменяем в ebuild'е
> 
> ```
> ...

 

тьфу ты, имелось ввиду mod_php-5.1.0_beta

а если для php-5.0.4-r1, то можно попробовать скопировать php5-sapi-r2.eclass в portdir_overlay и изменить строку:

```
mysql? ( =dev-db/mysql-4.0* )
```

на

```
mysql? ( =dev-db/mysql-4* )
```

должно сработать

а по поводу того, что система хочет упорно ставить 5.1, то выложи package.mask и package.unmask  :Smile: 

----------

## viy

 *Balancer wrote:*   

> ...прямой запрет инсталлции 5.1 в package.mask почему-то не работает. Что ни делай, хочет ставить 5.1.0_beta и всё тут.

 

5.1.0_beta меньше, чем 5.1 в системе рангов emerge'а.

----------

## IFL

 *viy wrote:*   

>  *Balancer wrote:*   ...прямой запрет инсталлции 5.1 в package.mask почему-то не работает. Что ни делай, хочет ставить 5.1.0_beta и всё тут. 
> 
> 5.1.0_beta меньше, чем 5.1 в системе рангов emerge'а.

 

дело в другом  :Smile: 

попробуй в package.unmask написать

```
dev-php/php
```

а в package.mask

```
=dev-php/php-5.1.0_beta
```

всё равно будет ставиться beta

если хочется не бету, то в package.unmask надо писать

```
=dev-php/php-5.0*
```

и т.д.

----------

## ManJak

Я боюсь показаться старомодным, но, может в багзиллу засунуть?

Я просто, Мускуль и Апачу => PHP ручками привык, потому не сталкивался  :Sad: 

----------

## hlroad

 *Balancer wrote:*   

> Все её флаги такие же, как и в 5.0.4, а прямой запрет инсталлции 5.1 в package.mask почему-то не работает. Что ни делай, хочет ставить 5.1.0_beta и всё тут.

 

Головой думать пробовали ?

 *ManJak wrote:*   

> Я боюсь показаться старомодным, но, может в багзиллу засунуть?
> 
> Я просто, Мускуль и Апачу => PHP ручками привык, потому не сталкивался 

 

Что именно ты хочешь туда засовывать ? Чьи-то кривые руки ? package.mask читается до package.umask, потому если что-то сначала запрещается в package.mask, а потом разрешается в package.umask - то действуют настройки package.umask. Сделаешь наоборот - всё равно кто-то окажется недоволен. Не нужно просто допускать их конфликтов между собой и будет вам бальшое щастя...

То, что Stuart'а Herbert'а с головкой не всё в порядке - никак не связано с продажей души Robbins'ом:

 *Quote:*   

> 
> 
> Once MySQL 4.1 is no longer masked, I'll re-enable PHP 5's support for it. 
> 
> Until then, enabling the mysqli extension breaks the Portage tree - because
> ...

 

Как он это себе представляет: сначала MySQL 4.1.12 размаскируют, PHP становится блокером MySQL'я, поднимается вселенский вой и он, так и быть, размаскирует его поддержку в PHP ? Без воплей - типа никак ? Странная позиция, но так как заменить его у меня готовности не наблюдается (все-таки ужасная у PHP процедура сборки), то приходится настраивать OVERLAY ...

----------

## Balancer

 *hlroad wrote:*   

> package.mask читается до package.umask, потому если что-то сначала запрещается в package.mask, а потом разрешается в package.umask - то действуют настройки package.umask. Сделаешь наоборот - всё равно кто-то окажется недоволен. Не нужно просто допускать их конфликтов между собой и будет вам бальшое щастя...

 

Понятно. Но - нелогично. Обычно мне требуется _запретить_ какой-то отдельный пакет, а не _разрешить_.

Даже переформулирую. Мне нужно запретить ставиться mod_php-5.1.0_beta. Но нужно увидеть, когда система будет готова обновиться на _новую_ версию. Проверять каждый раз это вручную - как минимум, неэргономично.

Казалось бы, что логичнее - запретить установку одного только mod_php-5.1.0_beta.

Но, как оказывается, запретить только его я не могу? :-/

Пишем разрешение только для mod_php-5.0* ...

----------

## Balancer

Но за подсказку - спасибо. Наконец-то, все зависмости разрулились  :Smile: 

----------

## hlroad

 *Balancer wrote:*   

>  *hlroad wrote:*   package.mask читается до package.umask, потому если что-то сначала запрещается в package.mask, а потом разрешается в package.umask - то действуют настройки package.umask. Сделаешь наоборот - всё равно кто-то окажется недоволен. Не нужно просто допускать их конфликтов между собой и будет вам бальшое щастя... 
> 
> Понятно. Но - нелогично. Обычно мне требуется _запретить_ какой-то отдельный пакет, а не _разрешить_.
> 
> 

 

Мне кажется более логичным разрешить только те пакеты в которых ты уверен. И запретить все остальные. Как можно разрешать пакеты, с которыми ты не игрался на тестовой системе ? Мало ли что чего там породит из разработчиков... И вообще - это вопрос философский. Не допускайте попадания противоречащих друг другу записей и в package.mask и в package.umask - и вам не придется ломать над этими тонкостями голову.

----------

