Bug 7315 - Dependencies out of established module paths
Summary: Dependencies out of established module paths
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build-perl (show other bugs)
Version: unstable
Hardware: all Linux
: P2 minor
Assignee: at@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 7253
  Show dependency tree
 
Reported: 2005-07-07 10:31 MSD by Mikhail Zabaluev
Modified: 2007-10-02 22:25 MSD (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Zabaluev 2005-07-07 10:31:27 MSD
Сборка gtk-doc дает зависимость на perl(gtkdoc-common.pl).
gtkdoc-common.pl содержится в том же пакете и лежит в /usr/share/gtk-doc/data/



Expected Results:  
Зависимость на скрипт вне путей поиска модулей perl не должна возникать.
Comment 1 Kachalov Anton 2005-07-07 11:00:54 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 пакет и
поправить скрипты. Честно говоря - это проще.
Comment 2 Mikhail Zabaluev 2005-07-07 23:52:55 MSD
(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).
Comment 3 Dmitry V. Levin 2007-04-07 20:49:06 MSD
Это ещё актуально?
Comment 4 at@altlinux.org 2007-04-07 22:26:07 MSD
Это ещё актуально.
Я не знаю, что с этим делать, и пока склонен оставить всё как есть.
Зависимость на perl(gtkdoc-common.pl) генерируется правильно.
Сейчас не существует хорошего способа узнать, что gtk-doc.pl на самом деле лежит
в каком-то левом месте.  Чтобы для gtkdoc-common.pl добавлялся также и provides,
можно использовать _perl_lib_path.
Comment 5 at@altlinux.org 2007-10-02 22:25:47 MSD
Hopefully fixed in rpm-build-perl-0.6.5.
Please try to remove "Provides: perl(gtkdoc-common.pl)".