Bug 7315 - Dependencies out of established module paths
: Dependencies out of established module paths
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/rpm-build-perl)
: unstable
: all Linux
: P2 minor
Assigned To:
:
:
:
:
: 7253
  Show dependency tree
 
Reported: 2005-07-07 10:31 by
Modified: 2007-10-02 22:25 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-07-07 10:31:27
Сборка gtk-doc дает зависимость на perl(gtkdoc-common.pl).
gtkdoc-common.pl содержится в том же пакете и лежит в /usr/share/gtk-doc/data/



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