diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MDV/Distribconf.pm | 29 |
1 files changed, 29 insertions, 0 deletions
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<hdlists> file whose path is given by the parameter $hdlist, |