On Sat, Nov 25, 2000 at 09:18:48PM +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 в имя файла. Так он принимает и stdin? Действительно, в комментарии об этом написано. Ok, так и будет. > > > Еще есть предложения: > > > - добавить еще один псевдоним для значения по умолчанию 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 :) Можно и обойтись, конечно. ok. > > > - реализовать подстановку переменной окружения RPM_PERL_LIB_PATH для > > > perl.prov из макроса. > > > > А так эта переменная до скрипта не доходит? > > Где прикажете ее устанавливать? Если извне пакета, то я так не играю :) Тогда предлагайте синтаксис (имена макросов, которые это будут делать). Regards, Dmitry +-------------------------------------------------------------------------+ Dmitry V. Levin mailto://ldv@fandra.org Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html IPLabs Linux Team http://linux.iplabs.ru Fandra Project http://www.fandra.org +-------------------------------------------------------------------------+ UNIX is user friendly. It's just very selective about who it's friends are.