narical 26.06.2011 14:38
Есть вопрос! — [РЕШЕНО] как правильно пользоваться optional dependencies
Вопрос, возможно, лучше было задать в "неделю новичка на welinux".А возможно, что и нет.
ВОПРОС:
Итак, я устанавливаю какой-либо пакет, и пакман мне сообщает - есть дополнительные зависимости, которые нужны чтобы заработала какая-то доп. функциональность. Последняя мне нужна.
Как поставить эти дополнительные зависимости, чтобы при сносе пакета который их требовал, удалились бы и они сами?
Как поставить эти дополнительные зависимости, чтобы при сносе пакета который их требовал, удалились бы и они сами?
Ситуация совершенно тривиальная и происходит постоянно, значит должно быть и тривиальное решение, верно?
Именно подобную проблему я изначально хотел описать в другом посте, но меня куда-то не туда понесло, вопрос был задан некорректно, и остался без ответа.
РЕШЕНИЕ:
По указанной пользователем cyrus ссылке лежит решение в виде скрипта, объединяющего такие необязательные зависимости в метапакет.
А еще стоит указать, что разработчики пакмана знают о данной проблеме и намерены решить ее в будущем! Подробности тут.
cyrus 26.06.2011 16:07 #
+ 0 -
https://bbs.archlinux.org/viewtopic.php?id=83754
Спасибо огромное за ответ!
Сейчас обновлю пост в соответствии с найденной информацией)
Сейчас обновлю пост в соответствии с найденной информацией)
В общем, у разработчиков на рассматриваемую тему пока лишь идеи, как должен работать пакман с доп. зависимостями.
Идеи эти перечислены по ссылке в моем топике.
К сожалению, не увидел там варианта работы, который напрашивается лично мне и кажется очень интуитивным.
Привожу примеры:
Короче говоря, чтобы при установке можно было указать не только флаг --asdeps, но и "родительский" пакет, к которому будет привязана зависимость.
В базе пакмана отвести специальную таблицу для хранения информации о таких пакетах, хотя вопрос реализаци тут - дело десятое.
Данный способ хорош, на мой взгляд, двумя вещами:
- не нужно что-то переписывать в пакмане, нужно дописать новый код без существенной переделки старого
- способ логичен для пользователя. Обычно список optdependencies выдается после установки какого-либо пакета с кратким описанием, для чего та или иная зависимость нужна. Тут пользователь и может написать нечто вроде pacman -S dep1 dep3 dep10 --asdeps --target package_name, после чего будет воспринимать эти пакеты как обычные зависимости, и команда pacman -Rs package_name отработает идеально.
Может, как-то эту мысль донести до разрабов? я не очень силен в грамотном изложении мыслей по-английски
Идеи эти перечислены по ссылке в моем топике.
К сожалению, не увидел там варианта работы, который напрашивается лично мне и кажется очень интуитивным.
Привожу примеры:
> pacman -S python
Optional dependencies for python
tk: for IDLE, pynche and modulator
> pacman -Qi python
Optional Deps : tk: for IDLE, pynche and modulator
Optional dependencies for python
tk: for IDLE, pynche and modulator
> pacman -Qi python
Optional Deps : tk: for IDLE, pynche and modulator
> pacman -S tk --asdeps --target python
tk would be istalled as dependency for: python
tk would be istalled as dependency for: python
Короче говоря, чтобы при установке можно было указать не только флаг --asdeps, но и "родительский" пакет, к которому будет привязана зависимость.
В базе пакмана отвести специальную таблицу для хранения информации о таких пакетах, хотя вопрос реализаци тут - дело десятое.
Данный способ хорош, на мой взгляд, двумя вещами:
- не нужно что-то переписывать в пакмане, нужно дописать новый код без существенной переделки старого
- способ логичен для пользователя. Обычно список optdependencies выдается после установки какого-либо пакета с кратким описанием, для чего та или иная зависимость нужна. Тут пользователь и может написать нечто вроде pacman -S dep1 dep3 dep10 --asdeps --target package_name, после чего будет воспринимать эти пакеты как обычные зависимости, и команда pacman -Rs package_name отработает идеально.
Может, как-то эту мысль донести до разрабов? я не очень силен в грамотном изложении мыслей по-английски