From 39cbed22c071aea381101a9612485118692144d0 Mon Sep 17 00:00:00 2001 From: Olivier Thauvin Date: Fri, 9 Jun 2006 21:20:47 +0000 Subject: - add settree() function --- lib/MDV/Distribconf.pm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'lib/MDV') diff --git a/lib/MDV/Distribconf.pm b/lib/MDV/Distribconf.pm index 0779db0..ecb58fb 100644 --- a/lib/MDV/Distribconf.pm +++ b/lib/MDV/Distribconf.pm @@ -219,6 +219,35 @@ sub loadtree { return 1; } +=head2 $distrib->settree($spec) + +Virtual set the internal structure of the distrib. + +$spec can be 'mandrake' or 'mandriva' to automatically load a know structure +(old and new fascion, or a hashref: + + mediadir => 'media', + infodir => 'media/media_info', + +=cut + +sub settree { + my ($distrib, $spec) = @_; + + if (ref($spec) eq 'HASH') { + foreach (qw(infodir mediadir)) { + $distrib->{$_} = $spec->{$_} || ''; + } + } elsif ($spec && $spec =~ /mandrake/i) { + $distrib->{infodir} = "Mandrake/base"; + $distrib->{mediadir} = "Mandrake"; + } else { # finally it can be everything, we do not care + $distrib->{infodir} = "media/media_info"; + $distrib->{mediadir} = "media"; + } +} + + =head2 $distrib->parse_hdlists($hdlists) Reads the F file whose path is given by the parameter $hdlist, -- cgit v1.2.1