Re: Известные группы в /etc/group. Ищу официальное описание и полиси.
On Thu, Sep 27, 2012 at 07:32:00PM +0400, Artem Chuprina wrote:
> >> Ну, ты хотя бы эти три раскрой. Вот у тебя пакет, который внутри кода
> >> использует имя группы, допустим, remote-dev. Начнем с вопроса "как ты в
> >> postinst обнаруживаешь, что то же имя группы с другими целями использует
> >> какой-то другой пакет?
>
> EB> Не в postinst, а в preinst -- по статус-коду от groupadd.
>
> ... который будет точно таким же, если это ты сам при прошлой установке
> ее добавил.
Я немного знаю борновский шелл и потому умею комбинировать разные условия
в предикаты. :-) В данном случае нужно скомбинировать статус от groupadd
с параметром $1, в который dpkg передаёт "install", "upgrade", etc.
К слову, это можно сделать и без помощи dpkg, но смысла в этом нет.
> >> И какой?"
>
> EB> Неважно. Скрипт должен обнаружить конфликт, а дальше требуются мозги.
>
> У тебя уже false positive. На ровном, в общем, месте.
Лишь если я скрипт напишу неправильно. Вся нужная информация доступна.
> >> Хорошо, допустим, ты на него ответил положительно. Твой скрипт на
> >> юзерской системе узнал, с кем он конфликтует по имени группы. Кто будет
> >> вступать в переписку с нарушителем спокойствия?
>
> EB> В переписку вступит тот, кто пакетирует софт -- это его работа.
>
> Вот мне странно. Конфликт обнаружил скрипт, у юзера, когда оба пакета
> уже давно в дистрибутиве. И тут каким-то магическим образом вступает в
> переписку пакетировщик... Нет, магия, в общем, понятна - man reportbug.
> Но мой point в том, что мне здравый смысл подсказывает: если ты хочешь
> работать с потенциально не тебе одному нужной группой, стоит задать
> вопрос до того, как ты выложишь пакет, а не после того, как на эти
> грабли встанет кто-то из пользователей.
Кому задать? Механизма-то нет. Вот Александр задал вопрос нам, но здесь
не рассылка мейнтейнеров. IMHO, есть лишь один работающий способ: после
опроса в разных рассылках, гугленья и направленного поиска в репозитории
(включая grep -r /var/lib/dpkg/info) всё-таки выложить пакет в unstable
и ждать реакции пользователей.
> Что Олександр и попытался начать делать. А ты на него наехал.
Я наехал за поиск группы посредством apt-cache/aptitude search.
И показал, где и как можно искать. Но и не утверждал, что если там
не найдётся, то такой группы ни у кого нет.
Если человек перед публикацией своего пакета установил себе пакеты с
похожей или близкой функциональностью, то он с большой степенью вероятности
найдёт и потенциальные конфликты, в том числе по именам групп.
--
Eugene Berdnikov
Reply to: