[packagers] help with auto dependencies
Christoph Maser
cmr at financial.com
Tue Aug 28 13:54:45 CEST 2007
Hello
i am packaging a perl tool i'd like to use (SQL::Parser) but i have a
problem with rpmbuilds dependency detection. (Centos4)
If i go straight forward i will get a package with a dependecy on
"perl(:)" because some code has "use: " inside a {} wich ist just text.
If i disable internal dependency generation i get a much smaller
dependency-set. Here is the difference:
straight forward:
----
Requires: /usr/bin/perl perl perl >= 0:5.004 perl(:) perl(Carp)
perl(Class::Base) perl(Class::Base) perl(Class::MakeMethods)
perl(Class::MakeMethods::Template::Hash)
perl(Class::MakeMethods::Utility::Ref) perl(Config) perl(Cwd) perl(DBI)
perl(Data::Dumper) perl(Exporter) perl(File::Basename)
perl(File::Basename) perl(File::Find) perl(File::Path) perl(File::Spec)
perl(File::Spec::Functions) perl(File::Temp) perl(GD) perl(Getopt::Long)
perl(GraphViz) perl(IO::Dir) perl(IO::Handle) perl(IO::Scalar)
perl(Log::Log4perl) perl(Log::Log4perl) perl(Parse::RecDescent)
perl(Parse::RecDescent) perl(Pod::Usage) perl(SQL::Translator)
perl(SQL::Translator::Diff) perl(SQL::Translator::Parser::DB2::Grammar)
perl(SQL::Translator::Parser::DBI::DB2)
perl(SQL::Translator::Parser::DBI::MySQL)
perl(SQL::Translator::Parser::DBI::Oracle)
perl(SQL::Translator::Parser::DBI::PostgreSQL)
perl(SQL::Translator::Parser::DBI::SQLServer)
perl(SQL::Translator::Parser::DBI::SQLite)
perl(SQL::Translator::Parser::DBI::Sybase)
perl(SQL::Translator::Parser::MySQL)
perl(SQL::Translator::Parser::SQLite)
perl(SQL::Translator::Parser::XML::SQLFairy)
perl(SQL::Translator::Producer::XML::SQLFairy)
perl(SQL::Translator::Schema) perl(SQL::Translator::Schema::Constants)
perl(SQL::Translator::Schema::Constraint)
perl(SQL::Translator::Schema::Field)
perl(SQL::Translator::Schema::Graph)
perl(SQL::Translator::Schema::Graph::CompoundEdge)
perl(SQL::Translator::Schema::Graph::Edge)
perl(SQL::Translator::Schema::Graph::HyperEdge)
perl(SQL::Translator::Schema::Graph::Node)
perl(SQL::Translator::Schema::Graph::Port)
perl(SQL::Translator::Schema::Index)
perl(SQL::Translator::Schema::Procedure)
perl(SQL::Translator::Schema::Table)
perl(SQL::Translator::Schema::Trigger)
perl(SQL::Translator::Schema::View) perl(SQL::Translator::Utils)
perl(Spreadsheet::ParseExcel) perl(Storable) perl(Template)
perl(Test::Differences) perl(Test::Exception) perl(Test::More)
perl(Test::More) >= 0.6 perl(Text::ParseWords) perl(Text::RecordParser)
perl(XML::XPath) perl(XML::XPath::XMLParser) perl(YAML) perl(YAML) >=
0.39 perl(base) perl(constant) perl(strict) perl(vars) perl(warnings)
perl-Template-Toolkit
----
With these 2 defines added:
%define __find_requires "%{__find_requires}
%define _use_internal_dependency_generator 0
Result:
----
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(VersionedDependencies) <=
3.0.3-1
Requires: perl perl(Test::Differences) perl(File::Basename)
perl(Test::Exception) perl(File::Spec) perl(Class::Base)
perl(Log::Log4perl) perl(Parse::RecDescent) perl(Class::MakeMethods)
perl(Test::More) >= 0.6 perl(YAML) >= 0.39 perl-Template-Toolkit
----
So what does the internal dependency-generator actually do? how can a
use it and just remove that unwanted "perl(:)" dependency?
Chris
financial.com AG
Munich head office/Hauptsitz München: Maria-Probst-Str. 19 | 80939 München | Germany
Frankfurt branch office/Niederlassung Frankfurt: Messeturm | Friedrich-Ebert-Anlage 49 | 60327 Frankfurt | Germany
Management board/Vorstand: Dr. Steffen Boehnert (CEO/Vorsitzender) | Dr. Alexis Eisenhofer | Dr. Yann Samson | Matthias Wiederwach
Supervisory board/Aufsichtsrat: Dr. Dr. Ernst zur Linden (chairman/Vorsitzender)
Register court/Handelsregister: Munich – HRB 128 972 | Sales tax ID number/St.Nr.: DE205 370 553
More information about the packagers
mailing list