[devel] setup

Victor V Ismakaev =?iso-8859-1?q?ivv_=CE=C1_altlinux=2Eru?=
Чт Май 29 15:26:26 MSD 2003


29 Май 2003 14:09, Alexander Bokovoy написал:
> On Thu, May 29, 2003 at 01:12:12PM +0600, Victor V Ismakaev wrote:
> > > > EXIM_UID/EXIM_GID - тогда он их и подставляет.Поэтому сейчас я и
> > > > собираю его таким образом.
> > >
> > > В таком случае единственный способ попасть этому безобразию в Сизиф --
> >
> > Ничего себе безобразие :)))
>
> Конечно безобразие -- требование наличия определенного пользователя во
> время сборки программы. А про кросс-компиляцию авторы не думали? Про
> кросс-сборку в окружениях, где понятие uid/gid просто отсутствует?
> Это типичный местячковый подход.
Саш,я не могу  спорить по поводу стиля программирования/разработки Philip'a 
Hazel'я - не спец ни в С,ни в проектировании крос-платформенных приложений,
но судя  по тому,что exim входит в секцию main дебиана уже говорит о том,что 
МТА этот не самый отстойный и востребован многими, в том числе и 
пользователями ALTLinux.
Я понимаю,что метод сборки оного продукта совсем не ложиться в русло привычных 
методов autoconf/automake/configure ,но очень хотелось бы,что бы он у нас 
тоже был в составе дистрибутива.
> > > исправить его поведение так, что UID/GID вычислялся уже при запуске
> > > собранного, используя указанное при сборке в виде параметра
> > > символическое имя пользователя.
> >
> > А если для сборки использовать уже существуещего в setup пользователя и в
> > рантайме его переопределять?Не будет это противоречить полиси?
> > Например берем EXIM_USER/EXIM_GROUP=daemon и собираем.
>
> Лучше уберите эти проверки на этапе сборки вообще, заменив их указанием
> символических имен пользователя и группы. Пускай уже при запуске
> разбирается с помощью getpwnam/getgrnam кто им соответствует.
Пококопавшись в исходниках и немного поэкспериментировав,у меня напрашивается 
вывод ,что UID/GID выбираемые на стадии сборки элементарно обходятся в момент 
запуска переопределинием их в config файле.
По крайней мере,подставив Makefile одни значения и скомпилировав exim ,он 
нормально запустился и заработал под совершенно другими uid/gid/user/group.
Отправил запрос автору - не возникнет ли каких подводных камней.
> > А в конфиге указать
> > exim_user=exim
> > exim_group=exim
> > и в %post заводить этого пользователя без указания uid:gid.
>
> Для этого есть нормальный способ adduser -r. Смотрите, по-моему, этот же
> тред в других ветках.
Это то как раз понятно.
> > Я правда так не пробовал(в смысле подставлять системного пользователя из
> > пакета setup),но в рантайме пользователя можно сменить.
>
> Повторюсь: в сборочной среде вообще может присутствовать только один
> пользователь (от которого все собирается) и проверять наличие кого-либо
> еще во время сборки никуда не годится.
Не всегда разработчики хорошего софта придерживаются или поддерживают подобный 
принцип ,но зато создают качественный продукт.Для меня важнее понять,как 
наиболее правильно реализовать сборку его под ALTLinux.
-- 
С уважением
Виктор В Исмакаев
ivv на altlinux.ru




Подробная информация о списке рассылки Devel