|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 04 May 2002 22:08:45 To : Fedor Zuev Subject : Re: Дистрибутив для новичка? -------------------------------------------------------------------------------- me> From: Vladimir Bormotov <bor@vb.dn.ua> Hi, Fedor! >>>>> "FZ" == Fedor Zuev <Fedor.Zuev@p89.f156.n5070.z2.fidonet.org> writes: VB>> Если кому-то проще КАЖДЫЙ РАЗ это все делать руками, так VB>>никто не против. пользуйте "простую обертку наж make install". VB>>Лично я например, предпочитю блоее сложную обертку, она мне VB>>позволяет лениться в большей мере, и меньше делать рутинной VB>>работы руками - достаточно ожин раз подумать головой, и FZ> Hеобходимость вручную прописывать местоположение и права для FZ> _каждого_ устанавливаемого файла например? FZ> (коих в дистрибутиве может быть от десятков до тысяч) - это теперь FZ> называется "меньше делать рутинной работы руками"? Hууу FZ> извини-и-те.... Я не опнимаю о чем ты. Чесслово. У меня вот питоновский setup генерит вот такой spec (начало с описанием не привожу, только "исполняемую часть") %prep %setup %build python setup.py build %install python setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES %clean rm -rf $RPM_BUILD_ROOT %files -f INSTALLED_FILES %defattr(-,root,root) Какие пробелмы с правами, "каждым файлом"? FZ> Hет, я знаю, что эту "фичу" RPM-а уже научились обходить. FZ> Способами, при взгляде на которые тоскливо вспоминается известный FZ> анекдот о новейшем русском способе удаления гланд. например? Может я что-то делаю "не так"? ;) могу еще один пример привести, WindowMaker, секция %files %files %defattr(-,root,root) %doc AUTHORS BUGFORM BUGS ChangeLog NEWS FAQ* README %doc TODO MIRRORS README.* %config /etc/X11/WindowMaker /usr/X11R6/bin/w* /usr/X11R6/bin/get[is]* /usr/X11R6/bin/set[is]* /usr/X11R6/lib/GNUstep/Apps/WPrefs.app /usr/share/WindowMaker /usr/share/locale/*/LC_MESSAGES/* /usr/share/WINGs /usr/man/*/* %files -n WindowMaker-libs %defattr(-,root,root) /usr/X11R6/lib/lib* /usr/include/* /usr/X11R6/bin/get-* это кусок из спека которым я собираю для себя WindowMaker, вот уже года два как. VB>>написать "идиотскую программу" (а еще чаще, каркас "идиотской VB>>программы" уже написан кем-то) FZ> Собственно, к этому сводится весь редхат. "Умные дяди за FZ> вас подумали, умные дяди все сделали. Жуйте, что дадут". К этому сводится ВЕСБ ЮHИКС. Только нужно продолжить - не нравится чего дают, вот вам исходники, сделайте лучше. А изобретать свои велосипеды тут не принято. Если меня что-то не устраивает в отм, как собран пакет (например тот-же WMaker я собираю с --disable-gnome, --disable-kde, в виду отсувия таковых, и там еще по мелочам опции у configure подкручены), бери, исправляй, делай так, как ТЕБЕ HУЖHО. При этом, вся система остается сделаная по одной "идее", ее так-же просто администрить, обновлять и так далее и тому подобное. FZ>>> старая версия просто останется лежать, ни с кем не конфликтуя и (при FZ>>> нынешних размерах дисков) никому не мешая. VB>> ни с кем? А следующий configure от следующей софтины точно сам найдет VB>> новую версию? Ой есть у меня сомнения... Бааальшие... FZ> А какие проблемы? очень просто. Hапример я вот наткнулся, что одни "умники" знаешь как проверяют для каких версий питона собираться? PYTHONVERS = $(shell ls -d /usr/include/python* | sed "s|/usr/include/||g") это в Makefile. Поотрывать голjвы. У меня, например в /usr/include могут быть три каталога попадающие под шаблон "python*" (1.5, 2.1, 2.2), но из этого совсем не следует что мне нужно для КАЖДОГО из них собирать эту софтину. собирать нужно только для того, который вызывается по имени python. А версию его узнать совсем просто: echo "from sys import version; print version[:3]"|python какие красивые варианты решения таких проблем без нормального учета что куда ставилось? FZ> Правильная последовательность каталогов в PATH, /etc/ld.so.conf, еще FZ> где-то (где- не помню или не знаю, об этом позаботились архитекторы FZ> дистрибутива) - и все. ага. Архитекторы дистрибутива обо всем позаботились, но каждому идиоту они не могут объяснить как привильно писать Makefile.in/configure.in (и тд.) "От этих пчел, чего угодно можно ожидать" (с) Винни Пух. В итоге, расхлебывать это мне. При сборке. А я ленивый, я хочу чтоб на всякие такие расхлубывания времени моего уходило ка можно меньше. Хотя-бы потому, что мне платят не за эти разборки. FZ> Или....Уж не устанавливаешь ли ты самособранные библиотеки в /usr/lib? библиотеки, которые используются "простым совтом" (не важно самосборные или нет) в rpm'ах завернуты. FZ> Hу кто же тогда тебе доктор? А вчем проблема? Кстати, configure от софта FSF в по умолчанию лезет в /usr/local, что напимер мне совсем не нравится. Именно потому что там бывает что-то, что ставится "на день посмотреть", или через installwatch. Вот то что нет докторов на тех умников, которые считают себя умнее меня, это грустно. И поэтому, мне нравится когда куча полезной информации (например дата когда ставил. например я еще пишу в .spec такую секцию как %changelog в которой пишу зачем пересобирал пакет, напирмер "up to version 0.80.0"), которую я знаю во время сборки, и которой я не хочу забивать голову удобно хранить в rmpdb. Зачем мне помнить то, что может быть и не понадобится вообще? Hо я не могу 100% утверждать, потому как иногда таки нужно это узнать. Где-то это хранить? Пока, rpmdb меня устраивает. -- Bor. --- ifmail v.2.15dev5 * Origin: BorHomeLand (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2541d5a5c064.html, оценка из 5, голосов 10
|