The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект DragonFly BSD представил новую систему сборки пакетов..., opennews (?), 05-Янв-13, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


57. "Проект DragonFly BSD представил новую систему сборки пакетов..."  +/
Сообщение от Сержант Скотч (?), 07-Янв-13, 12:17 
> Давно пора. FreeBSD ports - пока лучшее из source-based пакетных систем, и
> очень обидно что она не используется только под одной системой.

традиционный вопрос от пользователей gentoo:

Есть пакеты A & B с фичами X & Y соответственно. Пакет B зависит от A и не собирается, если A не собран с фичей X. Причём, зависимость появляется только после включения фичи Y в пакете B. Как в FreeBSD Ports узнать об этом на этапе построения зависимостей, а не после нескольких десятков минут(а то и просто часов) компиляции(когда мы наконец дошли до пакета B).

Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

80. "Проект DragonFly BSD представил новую систему сборки пакетов..."  –1 +/
Сообщение от iZEN (ok), 07-Янв-13, 16:19 
>> Давно пора. FreeBSD ports - пока лучшее из source-based пакетных систем, и
>> очень обидно что она не используется только под одной системой.
> традиционный вопрос от пользователей gentoo:
> Есть пакеты A & B с фичами X & Y соответственно. Пакет
> B зависит от A и не собирается, если A не собран
> с фичей X. Причём, зависимость появляется только после включения фичи Y
> в пакете B. Как в FreeBSD Ports узнать об этом на
> этапе построения зависимостей, а не после нескольких десятков минут(а то и
> просто часов) компиляции(когда мы наконец дошли до пакета B).

portmaster(8) это учитывает и выдаёт полный список пакетов, которые необходимо скомпилировать, перед началом процесса сборки. Заодно в фоне начинает качать дистфайлы для сборки этих (и только этих) пакетов. А вот portupgrade(1), если запустить просто скачивание без сборки (ключ -F), начинает качать дистфайлы подряд — что нужно и не нужно, не учитывая опций зависимостей — так, на всякий случай. :))


Ответить | Правка | Наверх | Cообщить модератору

92. "Проект DragonFly BSD представил новую систему сборки пакетов..."  +/
Сообщение от Сержант Скотч (?), 07-Янв-13, 19:07 
Изен как всегда.
Объясняю на пальцах:

>выдаёт полный список пакетов, которые необходимо скомпилировать, перед началом процесса сборки

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

Например, portage сообщает "эй, ты хочешь собрать Y с опцией +foo, но для этого надо пересобрать X с +bar, Z с -baz и собрать ещё вон ту портянку зависимостей".

Ответить | Правка | Наверх | Cообщить модератору

93. "Проект DragonFly BSD представил новую систему сборки пакетов..."  –1 +/
Сообщение от iZEN (ok), 07-Янв-13, 19:34 
> Изен как всегда.
> Объясняю на пальцах:
>>выдаёт полный список пакетов, которые необходимо скомпилировать, перед началом процесса сборки
> Часть зависимостей уже собрана и установлена в системе. Но собрана с такими
> опциями, что дальнейшая сборка обвалится.

А можно пример в студию? За шесть лет использования FreeBSD что-то не припомню таких проблем с портами (может у меня столь минималистичный набор ПО, что и не заметил).

Бывают конфликты, но они решаются удалением того или иного пакета, как правило, выбором одного из двух оставляемых пакетов для продолжения сборки целевого пакета.

> Например, portage сообщает "эй, ты хочешь собрать Y с опцией +foo, но
> для этого надо пересобрать X с +bar, Z с -baz и
> собрать ещё вон ту портянку зависимостей".

Нету такого.

Ответить | Правка | Наверх | Cообщить модератору

95. "Проект DragonFly BSD представил новую систему сборки пакетов..."  +/
Сообщение от Сержант Скотч (?), 07-Янв-13, 21:26 
>А можно пример в студию?


ffmpeg:
sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
в libsdl:
  RDEPEND="audio? ( >=media-libs/audiofile-0.1.9 )
theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
в libtheora:
  encode? ( media-libs/libvorbis )

а вот так зависимости по выбору:


x86? ( || ( >=dev-lang/yasm-0.6.0 >=dev-lang/nasm-0.98.39-r3 ) )"

>Нету такого.

а в portage есть.

а как вы лечите ситуации, когда большинство софта в системе слинковано с libfoo_0.16.so, а в системе уже libfoo_0.17.so(причины, по которым так случилось врядли имеет смысл обсуждать, т.к. в идеальном мире и fsck не нужен).

Ответить | Правка | Наверх | Cообщить модератору

102. "Проект DragonFly BSD представил новую систему сборки пакетов..."  –1 +/
Сообщение от iZEN (ok), 07-Янв-13, 22:48 
>[оверквотинг удален]
>  theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
>  в libtheora:
>   encode? ( media-libs/libvorbis )
>
> а вот так зависимости по выбору:
>
 
>  x86? ( || ( >=dev-lang/yasm-0.6.0 >=dev-lang/nasm-0.98.39-r3 ) )"
>

>>Нету такого.
> а в portage есть.

А в портах FreeBSD нету.

> а как вы лечите ситуации, когда большинство софта в системе слинковано с
> libfoo_0.16.so, а в системе уже libfoo_0.17.so

В моём уютненьком мире не бывает такого. Это мантейнеров головная боль — связать всё правильно и незамысловато для конечного пользователя. А пользователю нужно только перекомпилировать зависимости, если не работает.

Например, при установке gnome-mplayer по зависимостям устанавливается mplayer-1.1. Но я могу поставить mplayer2-2.0, а первый удалить, и всё будет работать прекрасно. (Хм, сейчас, правда, у меня в системе почему-то два mplayer'а :)) )

% pkg_info -Ex mplay
gnome-mplayer-1.0.0_3
mplayer-1.1.r20120721_1
mplayer2-2.0.20121103

% portmaster -e mplayer-1.1.r20120721_1
===>>> Warning: Ports with dependencies on mplayer-1.1.r20120721_1:
    gnome-mplayer-1.0.0_3

    ===>>> Delete this dependency data? y/n [n] y

===>>> Delete old and new distfiles for multimedia/mplayer
       without prompting? y/n [n]

===>>> Delete the current distfiles? y/n [n]

===>>> Running pkg_delete -f mplayer-1.1.r20120721_1
pkg_delete: package 'mplayer-1.1.r20120721_1' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
gnome-mplayer-1.0.0_3

===>>> Running portmaster -s

% pkg_info -Ex mplayer
gnome-mplayer-1.0.0_3
mplayer2-2.0.20121103

После запуска gnome-mplayer не воспроизводит фильмы. Пытаюсь пересобрать пакет mplayer2-2.0. portmaster предлагает изменить опции сборки mplayer2, ещё хочет установить порт lang/python33. Расставляю опции. Соглашаюсь на (пере)установку:

% portmaster -gD --delete-build-only mplayer2-2.0.20121103
...
===>>> mplayer2-2.0.20121103 >> (4)

===>>> The following actions will be taken if you choose to proceed:
    Re-install mplayer2-2.0.20121103
    Install devel/gmake
    Install textproc/py-docutils
    Install x11/glproto
    Install lang/python33

===>>> Proceed? y/n [y]
...
===>>> Done displaying pkg-message files

===>>> The following actions were performed:
    Installation of devel/gmake (gmake-3.82_1)
    Installation of lang/python33 (python33-3.3.0_2)
    Installation of textproc/py-docutils (py27-docutils-0.10)
    Installation of x11/glproto (glproto-1.4.15)
    Re-installation of mplayer2-2.0.20121103

===>>> Deleting installed build-only dependencies
%

Всё собралось и работает. Заметь: gnome-player не пересобирался, пересобрался только движок.

> (причины, по которым так случилось врядли имеет смысл обсуждать, т.к. в идеальном мире и fsck не нужен).

В идеальном мире терабайты данных верифицируются scrub'ом, а не складываются в отдельную кучку с помощью fsck ("Разбирайтесь сами что откуда." :)) ).

Ответить | Правка | Наверх | Cообщить модератору

122. "Проект DragonFly BSD представил новую систему сборки пакетов..."  +/
Сообщение от vle (ok), 08-Янв-13, 02:09 
> а как вы лечите ситуации, когда большинство софта в системе слинковано с
> libfoo_0.16.so, а в системе уже libfoo_0.17.so

Ни во фре, ни в опенке ни в pkgsrc нет того, что в rpm/deb делают
уже очень давно -- разделения пакетов на 1) библиотеки 2) инклюды + линки на
библиотеки (т.н. -dev/-devel) => нет возможности иметь две библиотеки с
разными soname в системе => рекурсивная пересборка от библиотеки вверх.

Кое-где в линупсах ситуация та же, но это нетипично я бы сказал.

В этом месте можно устроить истерику, но я бы не стал.

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

101. "Проект DragonFly BSD представил новую систему сборки пакетов..."  +/
Сообщение от vle (ok), 07-Янв-13, 22:46 
>> Изен как всегда.
>> Объясняю на пальцах:
>>>выдаёт полный список пакетов, которые необходимо скомпилировать, перед началом процесса сборки
>> Часть зависимостей уже собрана и установлена в системе. Но собрана с такими
>> опциями, что дальнейшая сборка обвалится.
> А можно пример в студию?

perl может быть собран без поддержки pthreads, но он необходим для
многих программ и модулей, так понятно?

Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру