Summary: | Dependencies out of established module paths | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Mikhail Zabaluev <mhz> |
Component: | rpm-build-perl | Assignee: | at <at> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | minor | ||
Priority: | P2 | CC: | at, crux, ldv, viy |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 7253 |
Description
Mikhail Zabaluev
2005-07-07 10:31:27 MSD
Тут всё ещё хуже. Дело в том, что perl-овые скрипты делают: unshift @INC, '/usr/share/gtk-doc/data'; require "gtkdoc-common.pl" Сам же gtkdoc-common.pl не является пакетом или чем бы то ни было ещё. Это просто файл с функциями. Не провайдить же все перловые файлы, которые не являются пакетами или чем-то, что ищется perl.prov'ом. Просто в этом случае, gtk-doc начнёт провайдить: perl(gtkdoc-common.pl) perl(gtkdoc-mktmpl) ... Можно добавить доп. логику и отрезать /usr/bin и /usr/lib/perl5. Но это жуткий костыль. Проще зафиксить gtk-doc, ибо он кривой. Если глянуть в соседние дистры, то там есть хаки, которые пытаются вырезать эту зависимость. Зафиксить сам gtk-doc - это час работы. Нужно всего-лишь сделать из gtkdoc-common.pl пакет и поправить скрипты. Честно говоря - это проще. (In reply to comment #1) > Можно добавить доп. логику и отрезать /usr/bin и /usr/lib/perl5. Но это жуткий > костыль. Проще зафиксить gtk-doc, ибо он кривой. Если глянуть в соседние дистры, > то там есть хаки, которые пытаются вырезать эту зависимость. Зафиксить сам > gtk-doc - это час работы. Нужно всего-лишь сделать из gtkdoc-common.pl пакет и > поправить скрипты. Честно говоря - это проще. На каждый чих не накрестишься. Насколько я помню, в предыдущей инкарнации perl.req в зависимости записывались только те файлы, которые находились в @INC по умолчанию. В этом оригинальный смысл зависимости perl(blahblah.pm): blahblah.pm должен включаться без модификации @INC. Вдобавок, это избавляло от зависимостей на модули, заведомо отсутствующие в дистрибутиве или на платформе (поскольку еще не было разработано надежного средства выявить условный use/require). Это ещё актуально? Это ещё актуально. Я не знаю, что с этим делать, и пока склонен оставить всё как есть. Зависимость на perl(gtkdoc-common.pl) генерируется правильно. Сейчас не существует хорошего способа узнать, что gtk-doc.pl на самом деле лежит в каком-то левом месте. Чтобы для gtkdoc-common.pl добавлялся также и provides, можно использовать _perl_lib_path. Hopefully fixed in rpm-build-perl-0.6.5. Please try to remove "Provides: perl(gtkdoc-common.pl)". |