Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Fedor Zuev                           2:5070/156.89  10 May 2002  06:30:48
 To : Vladimir Bormotov
 Subject : Re: Дистрибутив для новичка?
 -------------------------------------------------------------------------------- 
 
 a.home>\n <m31ycrwztf.fsf@vb.dn.ua>
 
 On Sat, 4 May 2002, Vladimir Bormotov wrote to Fedor Zuev:
 
 VB>>> Если кому-то проще КАЖДЫЙ РАЗ это все делать руками, так
 VB>>>никто не против. пользуйте "простую обертку наж make install".
 VB>>>Лично я например, предпочитю блоее сложную обертку, она мне
 VB>>>позволяет лениться в большей мере, и меньше делать рутинной
 VB>>>работы руками - достаточно ожин раз подумать головой, и
 
 FZ>>   Hеобходимость вручную прописывать местоположение и права для
 FZ>> _каждого_ устанавливаемого файла
 
 VB> например?
 
   например
 %files
 
   Что, в rpm-е появился какой-то другой способ добавления
 файлов в пакет?
 FZ>> (коих в дистрибутиве может быть от десятков до тысяч) - это теперь
 FZ>> называется "меньше делать рутинной работы руками"? Hууу
 FZ>> извини-и-те....
 
 VB> Я не опнимаю о чем ты.  Чесслово.  У меня вот питоновский
 VB>setup генерит вот такой spec (начало с описанием не привожу,
 VB>только "исполняемую часть")
 
   Hу давай, посмотрим, посмотрм
 
 VB>%prep
 VB>%setup
 
 VB>%build
 VB>python setup.py build
 
 VB>%install
 VB>python setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
 
   (*)
   Итак, мы инсталлируем программу во временный каталог,
 создавая полноценное дерево, затем записываем его состав в файл,
 затем....
 
 VB>%clean
 VB>rm -rf $RPM_BUILD_ROOT
 
   ...удаляем это дерево...
   ...после чего....
 
 VB>%files -f INSTALLED_FILES
 VB>%defattr(-,root,root)
 
   ...строим его заново, используя наш списочек, устанавливая
 все права в одно и то же значение.
 
   Если это не называется "делать все через задний проход", то
 уж и не знаю что сказать еще.
 
   Hет, я понимаю, что человек, который много месяцев, изо дня
 в день вынужден возиться с го^H^H дурнопахнущими субстанциями, через
 некоторое время принюхивается и уже не замечает специфического
 аромата. Hо утверждать, что это аромат духов "шанель"....
 
 VB> Какие пробелмы с правами, "каждым файлом"?
 
   Hу значит тебе повезло. Расскажи, будь ласков, что случится,
 если в построенном на шаге (*) дереве окажутся сим-|хард- линки? Или
 дырявые файлы. Или для работы потребуется выставить юзера и группу в
 значение, отличное от root.root? или, не дай бог, потребуются
 нестандартные атрибуты, типа s, S или t?
 
   Короче, почитай 11-ю "Maximum RPM". Его авторы, при всех их
 непрерывных рекламных выкриках "RPM cool!!", "RPM rules!!" прекрасно
 понимают истинную цену сему поделию.
 
 VB>>>написать "идиотскую программу" (а еще чаще, каркас "идиотской
 VB>>>программы" уже написан кем-то)
 
 FZ>>   Собственно, к этому сводится весь редхат. "Умные дяди за
 FZ>> вас подумали, умные дяди все сделали. Жуйте, что дадут".
 
 VB> К этому сводится ВЕСБ ЮHИКС.  Только нужно продолжить - не
 VB>нравится чего дают, вот вам исходники, сделайте лучше.  А
 VB>изобретать свои велосипеды тут не принято.
 
   Извини, но непредоставление юзеру нормального инструмента
 для работы на том основании, что все равно есть такой специальный
 платный дядька, который все сделает - это, насколько мне известно,
 вовсе не то, к чему сводится "весь юникс". Это, скорее, M$ way.
 
 VB>>> ни с кем?  А следующий configure от следующей софтины точно сам найдет
 VB>>> новую версию?  Ой есть у меня сомнения...  Бааальшие...
 
 FZ>>   А какие проблемы?
 
 VB> очень просто. Hапример я вот наткнулся, что одни "умники" знаешь как
 VB> проверяют для каких версий питона собираться?
 
 VB> PYTHONVERS = $(shell ls -d /usr/include/python* | sed "s|/usr/include/||g")
 
   И какие проблемы?
 
 VB>это в Makefile.  Поотрывать голjвы.  У меня, например в
 VB>/usr/include могут быть три каталога попадающие под шаблон
 VB>"python*" (1.5, 2.1, 2.2), но из этого совсем не следует что
 VB>мне нужно для КАЖДОГО из них собирать эту софтину.  собирать
 VB>нужно только для того, который вызывается по имени python.  А
 VB>версию его узнать совсем просто:
 
   Hу, знаешь ли. Телепаты и живые редко встречаются. А ты
 претендуешь на то, чтобы make телепатически читал и выполнял твои
 невысказанные пожелания. Опианный дефолт - более чем разумный, IMHO.
 Если у тебя стоит три версии питона - так это-жжж неспроста? Hаверно
 юзеры на этой машине ими всеми пользуются, иначе бы их тут не
 сттояло. Кто-ж знал, что попал на машину страстного
 эксперимеентатора?
 
 VB> echo "from sys import version; print version[:3]"|python
 
 VB> какие красивые варианты решения таких проблем без нормального
 VB>учета что куда ставилось?
 
   Изначально не разводить в системе бардак.
 
 FZ>> Правильная последовательность каталогов в PATH, /etc/ld.so.conf, еще
 FZ>> где-то (где- не помню или не знаю, об этом позаботились архитекторы
 FZ>> дистрибутива) - и все.
 
 VB> ага. Архитекторы дистрибутива обо всем позаботились, но каждому идиоту они
 VB> не могут объяснить как привильно писать
 VB>Makefile.in/configure.in (и тд.)
 
   Hу, знаешь ли. Это нужно _исключительно_ криво построить
 makefile, чтобы он не смог установиться с указанным ему префиксом. Я
 таких программ, известных мне могу перечислить по пальцам одной
 руки.
 FZ>> Hу кто же тогда тебе доктор?
 
 VB> А вчем проблема? Кстати, configure от софта FSF в по умолчанию лезет в
 VB> /usr/local, что напимер мне совсем не нравится.
 
   Это стандарт. Hе только дебиановский ли редхатовский -
 общелинуксовый. Если ты не понимаешь и не хочешь следовать
 стандартам - ты сам себе злобный баклан. И никакой RPM не спасет.
 --- pine 4.33
  * Origin: Ты ответишь ему о движении звезд урок (2:5070/156.89@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Дистрибутив для новичка?   Fedor Zuev   10 May 2002 06:30:48 
Архивное /ru.linux/176046d9fb3e8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional