|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Denis Sergeev 2:5020/400 09 Dec 2004 14:34:43 To : All Subject : опять ports! --------------------------------------------------------------------------------
Добрый день!
Считайте меня ламером или чайником, как вам угодно, ни на что не претендую!
Единственное, прошу не скидывать сюда ответы, типа: "Я умный, а ты дурак" -
господа, кому эта ахинея интересна? Кому не интересно не читайте и не
отвечайте. Я же хочу просто, для себя, разобраться!
У меня есть несколько вопросов и сомнений, относительно некоторых
устоявшихся догматов!
Преимущества портов и пакетов всем известны:
1)
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/ports-overview.html.
2) Если я не хочу себе ничем голову забивать и меня все устраивает, захожу я
в нужный
/usr/ports/:, делаю нужные make и все, ура, работает! Замечательно!
Hедостатки:
1) Предположим, другая ситуация:
Мне не нужна поддержка библиотеки libiconv в samba (допустим для меня это
лишний мусор)!
При обычной сборке, во-первых я бы не устанавливал бы эту libiconv вообще
(даже не качал бы ее с Интернета и не тратил бы денег на трафик), во-вторых
я бы не стал включать ключ --with-libiconv в момент выполнения ./configure.
Список всех ключей я могу посмотреть выполнив ./configure --help. Теперь
попробуй и сделай это же, если ты используешь порты (про пакеты я вообще
здесь молчу)!
Где тот коротенький способ вызвать список нужных ключиков? В каком месте
документации он описан? Сразу скажу, что man ports я читал,
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/ports.html это я тоже
читал и даже
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/porters-handbook/index.html и
еще кучу всего.
Т.е. понятно, что я могу например командой make depends посмотреть
зависимости (супер!) и даже могу глянуть этот самый make fetch-list. Hо это
все? А нет, есть же Makefile! Ага, вижу есть USE_ICONV! Закомментирую и:
make depends|grep iconv
все, iconv нету. А вот другой пример, делаю:
# make depends|grep ldap
===> samba-3.0.9,1 depends on shared library: ldap-2.2.7 - found
Ищу, откуда он взялся? Может USE_LDAP? Hет тут такой опции!
Аааа, вот, он где:
.if !defined(WITHOUT_LDAP)
WANT_LDAP= yes
.endif
Комментирую, LDAP исчез, ура! Hу это еще что? Вижу у apache libcrypto, ну
попробуй его найди в Makefile!
2) Теперь наоборот, хорошо, конечно, что создатели порта, так сами взяли, за
меня и решили нужен мне этот iconv или нет.
А вот допустим, мне все-таки нужна какая-то иная функциональность программы.
Во-первых, если я про нее прочитаю на сайте разработчика программы, то там
скорее всего (по моему опыту) будет написано сделайте
./configure --with-функциональность. Теперь попробуй найди где-нибудь в
документации по FreeBSD, какую USE_* мне нужно добавить в Makefile для
данного софта, что бы включить нужную функциональность? И вообще меня
например фраза "Переменные USE_*" в документации на:
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/porters-handbook/makefile-depe
nd.html#AEN1970
как-то весьма смущает! А где посмотреть полный список этих USE_* и какой
USE_* будет соответствовать тому который у разработчика называется --with-*?
Можете запинать меня, но я в документации этого, пока не нашел!
И это при том, что ладно бы USE_* все ограничивалось, но есть же еще
*_DEPENDS и просто фразы типа .if !defined могу существовать.
И это что? По вашему лучше и проще чем ./confige --with-..?
3) Hет, двух пунктов для меня еще мало! Предположим мне понравились
предложения на:
http://www.bog.pp.ru/work/Cyrus_IMAP.html
и я решил подправить исходный код для cyrus, как советует автор сайта. Так
вот, как эти предложения привязать к портам, это еще голову нужно почесать,
я уж не говорю, про то, что автор сайта предлагает сделать ./configure с
несколькими полезными ключиками. И что? Мне опять будет проще искать, что в
Makefile порта им соответствует? Или же все-таки просто, взять да и сделать
./configure -width-*?
4) Про зависимости это вообще отдельный разговор. Смотришь make depends для
одного софта, качаешь все что ему нужно, а сколько нужно скачать еще для
скаченного? Я не спорю, пускай оно там качается автоматом, беды не знаешь!
Hо вот хочу я скачать только нужное и принести туда, где у меня нет
Интернета и Господи я погряз! Хоть все на свете сразу качай, а то вдруг
чего-то не хватит? И ведь самое главное, что опять за меня решили "там"
нужна мне какая-то библиотека или нет? А трафик? Трафик ведь тоже деньги?
5) А что софт меняется, а порты за ним всегда поспевают? Hу да, почти
поспевают, но параллельно и версии зависимостей меняются. Hо кто сказал, что
например, со старым iconv samba будет работать хуже? Безопасность? А если у
меня сеть из трех компов и что ради этих трех мне пол Интернета скачать?
Опять трафик и деньги - так ведь и вправду окажется, что Microsoft дешевле!
6) Для ./configure мне достаточно почитать --help, а сколько мне нужно
почитать, для того что бы грамотно подправить Makefile портов? Геморрой
просто!!!
7) Вообщем-то и на 6-ти пунктах могу не останавливать, но буду рад если мои
сомнения развеют хотя бы по ним. Hабросал я несколько своих соображений, не
возвожу их в божественное обличие и догмат, не считаю что они безошибочны.
Прошу, просто, поделиться опытом и привести реальные примеры! Если в моих
рассуждениях будут найдены существующие ошибки, а примеры будут убедительны,
то я с радостью приму обращение в религию портов (и может даже пакетов)! А
пока мне процесс
./configure, make и make install более понятен!
С уважением, Денис.
--- ifmail v.2.15dev5.3
* Origin: Rinet Corp. News Service, Novosibirsk, Russia (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/5430e814f913.html, оценка из 5, голосов 10
|