summaryrefslogtreecommitdiffstats
path: root/lib/MGA
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MGA')
-rw-r--r--lib/MGA/DrakISO/BuildMedia.pm52
1 files changed, 26 insertions, 26 deletions
diff --git a/lib/MGA/DrakISO/BuildMedia.pm b/lib/MGA/DrakISO/BuildMedia.pm
index 1e545b9..10fe0ea 100644
--- a/lib/MGA/DrakISO/BuildMedia.pm
+++ b/lib/MGA/DrakISO/BuildMedia.pm
@@ -17,9 +17,9 @@
# SYNOPSIS
# --------
-# This package provides a function to create the installation media that will
-# be used by the classic installer and to collect together the various other
-# files that are needed on the installer ISO.
+# This package provides a function to create the urpmi media that will be used
+# by the classic installer and to generate the product.id and package.lst
+# files that will be included in the installer ISO image.
package MGA::DrakISO::BuildMedia;
@@ -99,7 +99,7 @@ sub prepare_media {
build_installer_media($build);
- check_installer_media($build, ${$build->{repo}{classes}}[0]);
+ check_installer_media($build, ${$build->{urpmi_media}{enabled_sections}}[0]);
check_installer_media($build, '*');
my $arch_dir = $build->get_build_dir('files/' . $build->{settings}{arch});
@@ -144,10 +144,10 @@ sub prepare_urpmi_media {
my %media_valid;
my $repo = $build->{settings}{repository};
my $arch = $build->{settings}{arch};
- foreach my $class (@{$build->{repo}{classes}}) {
- foreach my $type (@{$build->{repo}{types}}) {
- my $name = $class . '-' . $type;
- my $url = $repo . '/' . $arch . '/media/' . $class . '/' . $type;
+ foreach my $section (@{$build->{urpmi_media}{enabled_sections}}) {
+ foreach my $subsection (@{$build->{urpmi_media}{enabled_subsections}}) {
+ my $name = $section . '-' . $subsection;
+ my $url = $repo . '/' . $arch . '/media/' . $section . '/' . $subsection;
if ($media{$name} eq $url) {
# This medium already exists, so we just need to make sure it
# is up to date.
@@ -186,7 +186,7 @@ sub get_available_packages {
urpm::media::configure($urpm);
- my $base_class = ${$build->{repo}{classes}}[0];
+ my $base_section = ${$build->{urpmi_media}{enabled_sections}}[0];
$urpm->traverse(sub {
my ($pkg) = @_;
@@ -196,7 +196,7 @@ sub get_available_packages {
if (!defined $package{$name} || $pkg->compare_pkg($package{$name}{best_pkg}) > 0) {
$package{$name}{best_pkg} = $pkg;
}
- return if $medium[0]->{name} !~ /^$base_class/;
+ return if $medium[0]->{name} !~ /^$base_section/;
if (!defined $package{$name}{base_pkg} || $pkg->compare_pkg($package{$name}{base_pkg}) > 0) {
$package{$name}{base_pkg} = $pkg;
}
@@ -462,13 +462,13 @@ sub build_installer_media {
my $media_dir = $arch_dir . '/media/';
rm_rf($media_dir) if -e $media_dir;
mkdir_p($media_dir . 'media_info');
- mkdir_p($media_dir . $_ . '/media_info') foreach @{$build->{repo}{classes}};
+ mkdir_p($media_dir . $_ . '/media_info') foreach @{$build->{urpmi_media}{enabled_sections}};
print " adding RPMs\n" if $::verbose > 1;
# Find the URLs for the selected RPMs and add them to the appropriate
# media directory. Note that in the installation media there is only a
- # single medium for each class, so we ignore the source media type.
+ # single medium for each section, so we ignore the source media subsection.
my @packages = grep { defined $package{$_}{class} } keys %package;
foreach my $name (@packages) {
foreach my $pkg (uniq($package{$name}{best_pkg}, $package{$name}{base_pkg})) {
@@ -486,12 +486,12 @@ sub build_installer_media {
print " generating media info\n" if $::verbose > 1;
# Copy the pubkeys from the repository. Use the pubkeys from the first
- # media type in each class.
+ # media subsection in each section.
my $repo_media_dir = $build->{settings}{repository} . '/' . $arch . '/media/';
- my $prime_type = ${$build->{repo}{types}}[0];
- foreach my $class (@{$build->{repo}{classes}}) {
- my $pubkey = $repo_media_dir . $class . '/' . $prime_type . '/media_info/pubkey';
- copy_or_link($pubkey, $media_dir . $class . '/media_info/pubkey');
+ my $first_subsection = ${$build->{urpmi_media}{enabled_subsections}}[0];
+ foreach my $section (@{$build->{urpmi_media}{enabled_sections}}) {
+ my $pubkey = $repo_media_dir . $section . '/' . $first_subsection . '/media_info/pubkey';
+ copy_or_link($pubkey, $media_dir . $section . '/media_info/pubkey');
}
# Create the media config file.
@@ -526,26 +526,26 @@ sub create_media_cfg {
print $f "askmedia=1\n" if $build->{media_cfg}{askmedia};
print $f "suppl=1\n" if $build->{media_cfg}{suppl};
print $f "xml-info=1\n" if $build->{media_cfg}{xml_info};
- foreach my $class (@{$build->{repo}{classes}}) {
+ foreach my $section (@{$build->{urpmi_media}{enabled_sections}}) {
print $f "\n";
- print $f "[$class]\n";
- print $f "synthesis=../$class/media_info/synthesis.hdlist.cz\n";
- print $f "hdlist=../$class/media_info/hdlist.cz\n";
- print $f "pubkey=../$class/media_info/pubkey\n";
- print $f "name=" . ucfirst($class) . " Release (Installer)\n";
+ print $f "[$section]\n";
+ print $f "synthesis=../$section/media_info/synthesis.hdlist.cz\n";
+ print $f "hdlist=../$section/media_info/hdlist.cz\n";
+ print $f "pubkey=../$section/media_info/pubkey\n";
+ print $f "name=" . ucfirst($section) . " Release (Installer)\n";
}
close $f;
}
sub check_installer_media {
- my ($build, $class) = @_;
+ my ($build, $section) = @_;
- print "Checking installer media [$class]\n" if $::verbose;
+ print "Checking installer media [$section]\n" if $::verbose;
my $arch = $build->{settings}{arch};
my $media_dir = $build->get_build_dir('files/' . $arch . '/media');
my $log_file = $build->get_build_dir('tmp') . '/rpmcheck.log';
- run_("zcat -q $media_dir/$class/media_info/hdlist.cz | rpmcheck -explain -failures > $log_file")
+ run_("zcat -q $media_dir/$section/media_info/hdlist.cz | rpmcheck -explain -failures > $log_file")
or die "ERROR: failed to run rpmcheck\n";
if (system('grep', '-q', 'FAILED', $log_file) == 0) {