package MGA::DrakISO::Media; use strict; use MDK::Common; use POSIX; use common; use MGA::DrakISO::Storage; sub new { my ($media) = @_; bless $media, 'MGA::DrakISO::Media'; $media->{partitions} ||= [ { mntpoint => '/' } ]; foreach my $mntpoint (qw(/ OEM_RESCUE)) { my $part = find { $_->{mntpoint} eq $mntpoint } @{$media->{partitions}}; $part->{fs_type} ||= $media->get_media_setting('fs'); if (my $label = $mntpoint eq '/' && $media->get_media_label) { $part->{device_LABEL} ||= $label; } } $media->{boot_entries} ||= [ '' => '' ]; $media; } sub get_storage_setting { my ($media, $setting) = @_; $MGA::DrakISO::Storage::storage_types{$media->{storage}}{$setting}; } #- for user-customisable media setting, that can override storage setting sub get_media_setting { my ($media, $setting) = @_; $media->{$setting} || $media->get_storage_setting($setting); } sub get_media_label { my ($media) = @_; first($media->get_media_setting('source') =~ /^LABEL=(.*)$/); } 1;