LINUX.ORG.RU
решено ФорумTalks

Надуманные зависимости в Gentoo Linux.

 , ,


0

1

Часто ли вам попадаются ebuild'ы с надуманными зависимостями и убираете ли вы их?
Например gtk+:3 тянет dbus, bitlbee тянет logger и т.п. Обычно если замечаю то создаю копию измененного ebuild'а в локальном overlay'е.

Таким педантизмом страдаю только при написании ебилдов, к счастью, такое случается не часто.

Часто ли вам попадаются ebuild'ы с надуманными зависимостями

А на основании чего ты делаешь вывод о надуманности? Смотришь выхлоп ldd (заменить на свой вариант)? Тогда у меня следующий вопрос: а зачем ты смотришь выхлоп ldd (исправить на свой вариант)?

iVS ★★★★★
()

Открыл ебилды стабильных версий gtk+:3 и bitlbee.

У gtk+ dbus в прямых зависимостях не нашел.

logger - это виртуальный пакет, который означает ЛЮБУЮ службу, которая пишет логи. Вам не нужны логи вашей системы? ССЗБ.

l0stparadise ★★★★★
()
Ответ на: комментарий от iVS

А на основании чего ты делаешь вывод о надуманности?

На основании того что этим программам параллельно, запущен dbus или logger, они и без них работают.

unclear
() автор топика
Ответ на: комментарий от l0stparadise

У gtk+ dbus в прямых зависимостях не нашел.

Да извиняюсь, конкретно at-sip2-atk тянет, но зачем оно тянет dbus если он потом все время stopped.

Вам не нужны логи вашей системы?

Не нужны, ну и у других ebuild'ов есть флаг logger.

unclear
() автор топика

Часто ли вам попадаются ebuild'ы с надуманными зависимостями

Нет.

и убираете ли вы их?

Да.

// меня лично больше прикалывает проверка на наличие 18 гигабайт для сборки webkit-gtk

CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307

science ★★☆
()
Ответ на: комментарий от science

О_о не знаю каким образом я его собрал если у меня root всего 18G и почти полностью занят.

zinfandel ★★
()
Ответ на: комментарий от science

изменили ебилд на байт без изменения ревизии-версии, такое крайне редко, но бывало)

Ну, во-первых, не так уж и редко, я ругался не раз. Во-вторых, тут другое. Я, вообще удалял эти пакеты со всеми зависимостями и ставил заново — фигушки. Всё равно хотят 9999-е версии.

KRoN73 ★★★★★
()

Раньше deluge тянул за собой pygame (который вытягивал по зависимостям кучу sdl пакетов), чтобы была возможность проиграть пару звуков. Теперь, правда, появился USE флаг sound.

liaonau
()
Ответ на: комментарий от science

меня лично больше прикалывает проверка на наличие 18 гигабайт для сборки webkit-gtk

ты баг-то читал? Что предлагаешь делать? Хитрое шаманство на грепание флагов, которое будет фэйлиться при самом удобном случае?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

а когда кстати переход на httpd будет?а то у меня уже мозгов запомнить тонны команд и мест нахождения документации/конфигов при использовании разных дистров не хватает. И кстати, есть ли в генту рабочий вариант программы Autoconf, так удобно с ней машины в домен вводить....

erzent ☆☆
()

gtk+:3 тянет dbus, bitlbee тянет logger и т.п. Обычно если замечаю то создаю копию измененного ebuild'а в локальном overlay'е.

Пример: upstream не предусмотрел способа установки и работы определенного пакета без наличия dbus в системе и отказывается объяснить что именно не будет работать.

Варианта 3:
1) вынести спорную по нужности зависимость на отдельный USE-флаг, скрестить пальцы и молиться, чтобы у пользователей ничего не сломалось или - что они сами выяснят что сломалось и напишут багрепорт(мой ответ - нафиг);
2) провести тотальный аудит кода и не добавлять ебилд со спорной зависимостью в дерево, пока он не будет закончен - пользователи сидят на древней, возможно дырявой версии(моя реакция - аналогично предыдущей);
3) сделать как есть сейчас, последовав указаниям апстрима.

Ты можешь проделать 2) и указать почему именно зависимость от dbus в конкретном пакете, который тебя не устраивает, не является обязательной?

Если да - пиши багрепорт. Если нет - продолжай класть ебилды в локальный оверлей и поддерживать их самостоятельно.

Pinkbyte ★★★★★
()
Ответ на: комментарий от erzent

а когда кстати переход на httpd будет?
И кстати, есть ли в генту рабочий вариант программы Autoconf

ээээ, что? o_O

httpd который я знаю - это Apache.
autoconf - часть autotools.

Ссылки на соответствующие офсайты программ, о которых ты говоришь, дай пожалста.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

ну apache это понятно, но в дебиане и генте,кальке до сих пор демон не httpd, а именно apache, и конфиги хранятся не в директории httpd, и так же в стандартном конфиге практически полностью отсутствует ссылки на /var/www, недавно попробовал crm перенести с centos 6 на calculate, ужас, столько пришлось вписывать в конфиг, хотя в centos достаточно в /www перенести проект и 1 строчку закомментировать в httpd.conf. А autoconf http://rpmfind.net/linux/rpm2html/search.php?query=autoconf, хотя может второй и есть, просто не оч хорошо в кальке работал.

erzent ☆☆
()
Ответ на: комментарий от erzent

но в дебиане и генте,кальке до сих пор демон не httpd, а именно apache

Эээ, это одна и та же программа. Просто собрана по разному.

ужас, столько пришлось вписывать в конфиг

Выдели ВСЕ необходимые опции в отдельный конфиг и таскай его, делов-то. Будет работать на всех дистрибутивах.

Отдельно - выдели USE-флаги, чтоб все нужные тебе опции были включены при компиляции.

просто не оч хорошо в кальке работал.

Аргумент шикарен. Примеры или багрепорты есть?

Pinkbyte ★★★★★
()
Ответ на: комментарий от KRoN73

Как ты собрался разруливать, когда у app-admin/sabayon-2.30.1 в ебилде стоит: PYTHON_DEPEND=«2:2.5»?

В генте уже давно python 2.7 и выше. Ебилд протух, сейчас используется переменная PYTHON_COMPAT. Другие ебилды тоже, наверное, протухли. Как предлагаешь майнтейнерам такое поддерживать? В данном случае ты ССЗБ, имхо.

iVS ★★★★★
()
Последнее исправление: iVS (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Я делал то ещё в сентябре, так что сейчас привести не смогу, но я так и не смог ввести кальку в AD с помощью утилит, пришлось самому писать все конфиги для самбы,кербероса и pamhomedir, притом последний вообще настраивал 2 дня ): . Самый интересный баг у кальки, это то, что dhcp не правильно отображает mac адреса машин с калькой(на сервере) http://www.calculate-linux.ru/attachments/3309/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.png). А конфиг apache уже сделал универсальный, а вот пакеты иногда ставить не очень удобно, особенно нужные под руби проекты.

erzent ☆☆
()
Последнее исправление: erzent (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

я ничего не предлагаю делать, т.к. не разбирался в вопросе.

science ★★☆
()
Ответ на: комментарий от iVS

В генте уже давно python 2.7 и выше. Ебилд протух, сейчас используется переменная PYTHON_COMPAT. Другие ебилды тоже, наверное, протухли. Как предлагаешь майнтейнерам такое поддерживать? В данном случае ты ССЗБ, имхо.

И тем не менее, он в главном дереве portage, в стабильной ветке, значит он должен быть либо обновлён, либо выкинут на мороз.

Тут косяк наш, а не пользователя. Хотя старый екласс должен работать, использовать ебилды с ним не всегда получается.

И да, там зависимость - от 2.5 и выше.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

GTK+ не потяну наверное, а вот с bitlbee можно попробовать разобраться, учитывая что в официальном README написано:

BitlBee's only real dependency is GLib.

unclear
() автор топика

http://code.bitlbee.org/lh/bitlbee/view/head:/log.c

Обрати внимание на syslog.h

Смотрим, кому принадлежит файл:

pinkbyte@phantom ~/dev/qtdiscs $ equery b /usr/include/syslog.h
 * Searching for /usr/include/syslog.h ... 
sys-libs/glibc-2.17 (/usr/include/syslog.h)

Смотрим, кто мэйнтэйнер:

pinkbyte@phantom ~/dev/qtdiscs $ epkginfo bitlbee
 * net-im/bitlbee [gentoo]
Maintainer:  wired@gentoo.org (Alex Alexander)
Maintainer:  radhermit@gentoo.org (Tim Harder)
Upstream:    None specified
Homepage:    http://www.bitlbee.org/
Location:    /usr/portage/net-im/bitlbee
Keywords:    3.0.5-r1:0: amd64 ppc x86
Keywords:    3.0.6:0: 
Keywords:    3.2:0: 
Keywords:    3.2.1:0: ~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd
License:     GPL-2

И пишем им багрепорт.

Другое дело, если bitlbee не умеет логи кроме как в syslog - тогда тут еще вопрос. Выносить run-time only зависимость в USE-флаг - плохая практика, а просто убрать - тоже не хорошо.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

Выносить run-time only зависимость в USE-флаг - плохая практика

Почему?
Вот не нужны человеку логи вообще, почему он их не может отключить флагом?

unclear
() автор топика
Ответ на: комментарий от unclear

Пример: ты поставил пакет cat/test с USE="-foo", зависимость cat/foo в системе не установлена.

Потом ты доставил cat/foo(без установки в world-файл) и cat/test начал его использовать. Затем ты делаешь конфигурационные настройки, видишь что cat/test работает с cat/foo, всё ок.

А потом когда-нибудь хреначишь --depclean, который удаляет cat/foo(его ведь нет в world-файле, а cat/test собран с USE="-foo") и недоумеваешь что это у тебя всё как-то странно работает.

А еще в данных ситуациях могут появляться разного вида хрени.

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

С зависимостями уровня сборки проще - даже если ты доставишь приложение cat/foo, то cat/test, собранный без его поддержки(с USE="-foo") - не станет его использовать/линковаться с ним при пересборке.

Собственно USE-флаги в большинстве своём для этого и используются.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

По мне так здесь более важен другой аспект, человек установив bitlbee с флагом -logger будет думать что syslog логи не пишет на самом деле (если стоит) пишет из-за того что это runtime и ничего ту не поделаешь только если сами разработчики bitlbee не вынесут этот функционал на уровень сборки. Спасибо за разъяснение, осознал в чем был неправ, добавление этого флага некорректно. Но все же буду использовать переделанный ebuild, замаскировав logger на всякий случай.

unclear
() автор топика
Ответ на: комментарий от iVS

Скорее всего из-за того, что вся миграция python-exec была не нужна на мой взгляд. А для нее пришлось плодить тонны костылей. mgorny просит и нас(cpp@) перенести dev-libs/boost в dev-cpp/boost, исключительно ради эстетики. Для этого пришлось бы перепилить тонну ебилдов в главном дереве и оверлеях, что растянулось бы на долго и породило бы волны срача... Я подумываю закрыть реквест как WONTFIX.

Одно дело - миграция Qt в новую категорию(которое прошло гладко, но не для 100% пользователей) - чтоб проще было потом Qt5 мэйнтэйнить, а другое - смена категории чтоб красивее было, для пакета с мульёном обратных зависимостей.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

epkginfo

просто нет слов. где вы раньше были

ZuBB ★★★★★
()
Ответ на: комментарий от Pinkbyte

было такое

[24] read 2013-11-07 python-exec package move

ZuBB ★★★★★
()
Ответ на: комментарий от erzent

dhcp не правильно отображает mac адреса машин с калькой

О, кстати, расскажи как это лечить? У меня из за этого все калькуляторы со статическими IP живут.

Jameson ★★★★★
()
Ответ на: комментарий от PreciousProtection

Процедура смены категории есть(описано здесь, секция moving ebuilds) и она бескровна для главного дерева при соблюдении нескольких простых правил.

Но вот оверлеи...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Багрепорт есть?

Давно забил. Они ни к чему не приводят. Только с моим недоанглийским позориться :)

...

Забавно, сейчас пошёл глянуть, чтобы уточнить, сколько точно багрепортов за последние 10 лет оставлял — и ни одного не увидел. Это у них багзилла сломалась или они зачищают архивы?

KRoN73 ★★★★★
()
Ответ на: комментарий от iVS

Как ты собрался разруливать, когда у app-admin/sabayon-2.30.1 в ебилде стоит: PYTHON_DEPEND=«2:2.5»?
В генте уже давно python 2.7 и выше

В make.conf у меня ни слова ни про PYTHON_TARGETS, но, вообще про PYTHON_*. Так что это гента сама выводы такие делает.

Равно как и в системе стоит python-2.7. Также нет и искусственно размаскированных пакетов, кроме одного mysql=5.6

В данном случае ты ССЗБ, имхо.

ССЗБ тем, что пытаюсь использовать стандартные настройки? Ну да, Gentoo — она нынче такая. Или ССЗБ потому что до сих пор не всюду от Gentoo отказался? Ну, тут спорить не стану, соглашусь с тобой, наверное :D

KRoN73 ★★★★★
()
Ответ на: комментарий от iVS

когда у app-admin/sabayon-2.30.1

На пробу грохнул. Думаешь, легче стало? — http://pastebin.com/6USuK3yB

Опять какой-нибудь «стабильный пакет протух»? Боюсь, что в итоге запах таких пакетов на весь дистрибутив распространяется.

И, кстати, где мне, наконец, взять lxc-1.0.3 вместо протухшего 0.8? Писать ebuild?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Ты не кипятись, я был не прав. Там ниже объяснили, что питон 2.5 - минимальная версия. Приношу свои извинения.

iVS ★★★★★
()
Ответ на: комментарий от iVS

Ну, в итоге снос sabayon'а, смена trac'а на USE="-postres" (всё равно trac у меня в LXC-контейнере с Ubuntu теперь) и ещё что-то по мелочи помогли. Обновление пошло. Но «осадочек остался» ©. И когда такое год от года встречается всё чаще, осадка всё больше :-/

И, реально, очень хреново, что и в основном портеже, и во всех известных мне оверлеях layman, LXC очень, очень старый. А Gentoo у меня сейчас в первую очередь хостовая машина.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Забавно, сейчас пошёл глянуть, чтобы уточнить, сколько точно багрепортов за последние 10 лет оставлял — и ни одного не увидел. Это у них багзилла сломалась или они зачищают архивы?

Ты небось стандартным поиском пользовался? А он показывает только незакрытые багрепорты.

Pinkbyte ★★★★★
()
Ответ на: комментарий от KRoN73
GENTOO_MIRRORS="" emerge --sync
emerge -C dev-python/python-exec
emerge -1O dev-lang/python-exec:0 dev-lang/python-exec:2

После этого(с обновлённой VDB) попробуй еще раз

Pinkbyte ★★★★★
()
Ответ на: комментарий от KRoN73

trac и sabayon тут не при чём, я же уже говорил - копать надо в еклассы или в содержимое твоей VDB. Сделай как я сказал постом выше и попробуй еще раз что-нибудь поставить из python-пакетов.

И да - еще один луч поноса в адрес mgorny. Он делает большую работу, бесспорно, но иногда так называемый «fallout» от неё - тоже достаточно большой :-/

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

bitlbee тянет logger

и эти люди ещё что-то гонят на дебиан

lazyklimm ★★★★★
()
Ответ на: комментарий от Jameson

рад бы, но сам их на статику перевёл из-за этого, притом на форуме калькулейта 0 ответов на вопрос по этому багу

erzent ☆☆
()
18 августа 2014 г.
Ответ на: комментарий от erzent

Самый интересный баг у кальки, это то, что dhcp не правильно отображает mac адреса машин с калькой(на сервере)

Если ещё интересно, я нашёл как вылечить это.

/etc/dhcpcd.conf
# Use the hardware address of the interface for the Client ID.
clientid 
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
#duid
Jameson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.