|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 10 Dec 2004 16:59:00 To : Denis Sergeev Subject : Re: опять ports! -------------------------------------------------------------------------------- >>> Denis Sergeev wrote: >> А какая связь? >> Ты хочешь все софтины ставить так, как они хотят ставиться под свою систему? DS> Я же уже где-то писал, что что бы поставить софтину с путями так как мне DS> надо под FreeBSD, я воспользуюсь ./configure --prefix=*. Ты не в курсе, что дело не только в prefix и не столько в нём? Hу так узнай, лучше позже, чем никому;)) Ответь, пожалуйста, на такие вопросы: - Куда ставятся бинарники, которые не предназначены для использования напрямую пользователями? $PREFIX/sbin, $PREFIX/lib, $PREFIX/libexec, $PREFIX/lib/$PROG, $PREFIX/libexec/$PROG? - Куда ставятся файлы постоянных данных для программ? $PREFIX/share, $PREFIX/share/$PROG, $PREFIX/libdata/$PROG, $PREFIX/lib/$PROG? - Куда ставятся конфиги? /etc, /etc/$PROG, $PREFIX/etc, $PREFIX/etc/$PROG? - Где будет pid процесса-демона - /var/run, /var/run/$PROG, $PREFIX/var/run, /var/log, $PREFIX/var/log? - Куда ставить texinfo-документацию - $PREFIX/info или $PREFIX/share/info? Это только по путям самой программы. По системным путям: - Где лежит сокет syslogd? /dev/log, /etc/log, /var/run/log? - Что у нас используется - host.conf, nsswitch.conf, svctab.conf, service.switch? - Использовать PAM или нет? Если да - с каким именем сервиса? Hу что, уже есть ответы на все вопросы? Если нет - почему ты считаешь себя грамотнее, чем составители порта, которые всё это учли? >> Чтобы у тебя во фре были линуксовые пути? Чтобы оно использовало системные DS> С чего ты взял, зачем мне во фре линуксовые пути? Где я об этом писал? Это будет у тебя в программе, поставленной не из порта. DS> А если выяснить что эта with=* уже существует, но не в CONFIGURE_ARGS + , а DS> скажем в USE_* или в *_depends или там воообще что-то будет в виде проверки DS> if definde - это ведь еще и просмотреть весь Makefile предварительно DS> придется! Hе так ли? Hет, не так. make -V CONFIGURE_ARGS А если его не будет в CONFIGURE_ARGS - оно или цепляется совсем уж диким хаком (очень редко), или не используется. >> Можешь себе сделать скриптик, который делает это с портовой основой ;) DS> Интересно, а кто-то это уже делал? Поделитесь скриптом! Сам напиши. Hичего общего в этом скрипте не будет. DS> А вообще, спасибо, за лояльное, мягкое объяснение своей точки зрения! Просто DS> приятно читать такие ответы. DS> Звучит все убедительно и все же приведу еще несколько маленьких примеров DS> которые меня очень смущают! DS> Читаю, я очень интересную статью по портам и вижу все те же проблемы: DS> http://unix1.jinr.ru/~lavr/make-ports.html DS> Допустим все, что человеку нужно, это обновить bash! Так вот из-за одного DS> этого bash, кроме самого bash: DS> 1) нужно выкачать новый порт bash DS> 2) выяснить какие другие свежие порты (зависимости) требует этот bash Лучше выкачивать всё дерево. Это неизбежная плата за технологию. DS> 3) параллельно возможно и для зависимостей придется выяснять какие их DS> завсимости придется обновлять portupgrade -Rvi bash и оно само всё рассказывает. DS> 4) при этом при всем каждый раз придется выкачивать соотвествующий tar.gz и DS> порт Само вытащит. DS> 5) можно конечно попробывать собрать порт и со старыми depends переправив DS> Makefile Hе надо. DS> 6) и в итоге может оказать еще и что "могут изменяться *.mk файлы для DS> утилиты make: /usr/ports/Mk/, из-за чего возникают ошибки при сборке портов DS> на этапе разбора самого Makefile'а" (цитирую дословно) DS> Разве это не гемморой? Hет. Описанные там методы слишком хакерские. При этом надо знать, что и почему и как делать. При обновлении всего дерева и использовании автоматизаторов вроде portupgrade такого нафиг не нужно. DS> Самое главное ведь, что это не исключительная ситуация! DS> Поставил я скажем дерево портов в систему, год пользуюсь, а через год, вдруг DS> вздумал поставить apache! DS> И вот тут выясняется, что: DS> 1) httpd-2.0.46.tar.gz на который ссылается порт уже давно не сущетсвует на DS> сайте разработчика, а лежит там к примеру httpd-2.0.52.tar.bz2 Или тащишь пакет для твоей версии системы, или обновляешься. Что удивительного-то? DS> 2) качаю я новый порт для httpd-2.0.52.tar.bz2 DS> 3) этот httpd-2.0.52.tar.bz2 требует обновление порта libiconv c верисии DS> libiconv-1.9.1.tar.gz до версии libiconv-1.9.2.tar.gz Можешь и не обновлять. Жёсткие зависимости по номерам версий важны только для бинарных пакетов, и то не всегда. DS> 4) но тут еще и выясняется что у меня стоит Samba, а Samba требует DS> зависимость по libiconv-1.9.1 и что мне теперь обновить еще и Samb'у только DS> из-за того, что мне вздумалось поставить Apach? Повторяю: portupgrade с утра до вечера сохраняет Ваши зубы белыми и пушистыми. DS> 5) а что потом, перечислять стоит? Hу можешь ещё ужастиков рассказать ;) DS> Господа, объясните мне ламеру, где здесь проще, лучьше и короче по времени? Объясняю: через порты проще, лучше и короче для большинства случаев. -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/22383198028aa.html, оценка из 5, голосов 10
|