[devel] autodeps

Mikhail Zabaluev =?iso-8859-1?q?mookid_=CE=C1_sigent=2Eru?=
Сб Ноя 25 21:18:48 MSK 2000


Hello Dmitry,

On Sat, Nov 25, 2000 at 19:00 +0300, Dmitry V. Levin wrote:
>
> Greetings!
> 
> On Sat, Nov 25, 2000 at 12:07:46AM +0300, Mikhail Zabaluev wrote:
> > Обнаружил, в чем проблема с 'AutoReqProv: perl' в rpm. Скрипт
> > find-provides слишком полагается на суждение программы file о том, что
> > есть perl script. Та, на самом деле, почти никогда не скажет такого о 
> > модуле, который не начинается со строки типа '#!/usr/bin/perl'.
> > file-3.33-1mdk вообще считает многие модули какими-то файлами для
> > palmtop'а Newton, даже не текстовыми! Пришлось отучать.
> 
> А не станет ли теперь perl-файлов больше, чем есть на самом деле?
> Слабо file-3.33 зафиксить? :)

Если и будут какие-то левые файлы, проверки на синтаксис в скриптах
достаточно тщательные. Единственная актуальная возможность ложного
срабатывания - это если в библиотечных каталогах Perl вдруг окажутся
файлы с суффиксами .pl, .pm или .ph, не являющиеся perl-скриптами - тогда
perl.prov запишет их в provides. Представить себе такое я не могу.
Насчет file и magic будем посмотреть. Конечно, такие одиозные случаи, как
"package - значит, пакет для Newton", нужно лечить.

> > Прилагаю патч для find-{provides,requires} и снова perl.prov - там нужно
> > было добавить содержимое RPM_BUILD_ROOT ко всем путям поиска.
> > 
> > Следует заметить, что скриптам perl.prov и perl.req лучше давать весь
> > список файлов зараз - так _намного_ быстрее.
> 
> А как быть с именами файлов, содержащими символы из IFS?

Подавайте на стандартный ввод как отдельные строки. Думаю, никому не
придет в голову включать line feed в имя файла.

> 
> > Еще есть предложения:
> > - добавить еще один псевдоним для значения по умолчанию Auto{Req,Prov} -
> >   'default', чтобы можно было писать 'AutoReqProv: default, perl'
> >   или 'AutoReqProv: default, noshell';
> 
> Написано ведь в /usr/share/doc/rpm-3.0.6/README.ipl, строка 52:
> + yes, true - enable lookup using default methods (see rcfiles for details).
> 
> Пример использования (ncurses.spec):
> AutoReq: yes, noshell
> 
> Добавить еще один синоним? :)

Ну, как semantic sugar :) Можно и обойтись, конечно.

> > - реализовать подстановку переменной окружения RPM_PERL_LIB_PATH для
> >   perl.prov из макроса.
> 
> А так эта переменная до скрипта не доходит?

Где прикажете ее устанавливать? Если извне пакета, то я так не играю :)

-- 
Stay tuned,
  MhZ                                    mailto:mookid на sigent.ru
-----------
Never buy what you do not want because it is cheap; it will be dear to you.
		-- Thomas Jefferson
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel



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