On Thu, 2003-07-31 at 12:22, Jos Vos wrote:
Hi,
I'm trying to package the Perl XML-SAX module. I'm using the
Perl __find_{requires,provides} redefines etc. in the spec file.
[snip]
error: Failed dependencies:
perl(XML::SAX::PurePerl::DTDDecls) is needed by perl-XML-SAX-0.12-XOS.1beta1
perl(XML::SAX::PurePerl::DocType) is needed by perl-XML-SAX-0.12-XOS.1beta1
perl(XML::SAX::PurePerl::EncodingDetect) is needed by perl-XML-SAX-0.12-XOS.1beta1
perl(XML::SAX::PurePerl::XMLDecl) is needed by perl-XML-SAX-0.12-XOS.1beta1
But thes things *are* included, but not seen by the find_provides script?
If you peek at the affected files, you'll see that they actually are not
"included" as far as rpm is concerned. rpm looks at the "package
foo"
statements when building the list of Provides, and "use/require foo" for
Requires.
Those files do not have a package of their own, instead they blend into
the XML::SAX::PurePerl package. And perl allows one to use() them using
the fully qualified, "fake" package name (based on the dir structure, I
believe).
The approach I took (see
http://cachalot.mine.nu/9/) was to manually add
the following to satisfy the deps (NoUnicodeExt and Unicode just for
consistency):
Provides: perl(XML::SAX::PurePerl::DocType)
Provides: perl(XML::SAX::PurePerl::DTDDecls)
Provides: perl(XML::SAX::PurePerl::EncodingDetect)
Provides: perl(XML::SAX::PurePerl::NoUnicodeExt)
Provides: perl(XML::SAX::PurePerl::UnicodeExt)
Provides: perl(XML::SAX::PurePerl::XMLDecl)
--
\/