NAME

YUM::Config - Perl extension for parsing yum.conf

SYNOPSIS

  use YUM::Config;

  my $yp = new YUM::Config;
  my $yum_conf = $yp->parse();

  foreach(keys %{$yum_conf}) {
	print "Section: $_ is called " . $yum_conf->{$_}->{name} . "\n";
  }

  $yum_conf will be a a hash, all INI sections are the primary hash keys.
  include= will be automatically downloaded merged with the local yum.conf
  mirrorlists will also be downloaded and saved as an array in $yum_conf->{somerepo}->{baseurls}
  the first url in mirrorlists will be safed as $yum_conf->{somerepo}->{baseurl}.
  exclude statements will be splited and safed to $yum_conf->{somerepo}->{exclude_hash}. Note that we
  safe a perl regex string as keys here.

  To say it with one sentence. YUM::Config automatically parses a yum.conf does the downloading and provides you
  with a ready to use perl hash. :-)

  You can define a few things @ new:
	
	- use_cache: 0/1 (1 will enable, default: 0; Uses Cache::File)
	
	- yum_conf: path to your yum.conf (default: /etc/yum.conf)
	
	- yum_repos_d: path to your yum.repos.d (default: /etc/yum.repos.d)
	
	- agent: You LWP::UserAgent agent string (default: YUM::Config/$VERSION)
	
	- releasever: Define your RH/FC release version (rpm -qf --queryformat %{VERSION} /etc/redhat-release; Default: automatically queried)
	
	- basearch: Define your basearch (uname -i; Default: automatically discovered)
	
	- download_primary: Define if we should download/parse the primary.xml.gz
  
  These arguments can be specified this way (don't forget the '{'!)
  my $yp = new YUM::Config({
	  use_cache        => 1,
	  yum_conf         => '/etc/yum.conf',
	  yum_repos_d      => '/etc/yum.repos.d',
	  agent            => 'MyProgram/$VERSION',
	  relasever        => 4,
	  basearch         => 'i386',
	  download_primary => 1
  });
	

DESCRIPTION

This module provides you with a few functions,

parse() will return a hash containing the allready parsed local/remote yum.conf.

yumconf_local() will return a hash containing the allready parsed local yum.conf (Will run parse(), if you didn't yet)

yumconf_remote() will return a hash containing the allready parsed remote yum.conf (Will run parse(), if you didn't yet)

EXPORT

Nothing.

BUGS

None, that I'm aware of.

TODO

Let me know, I like it as it is - currently.

SEE ALSO

Config::IniHash Hash::Merge RPM2 LWP::UserAgent FreezeThaw File::Temp File::Remove Cache::File XML::LibXML Sort::Versions PerlIO::gzip

AUTHOR

Oliver Falk, <oliver@linux-kernel.at> linux-kernel.at

COPYRIGHT AND LICENSE

Copyright (C) 2005 by Oliver Falk

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.