summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install/NEWS3
-rw-r--r--perl-install/install/any.pm6
2 files changed, 8 insertions, 1 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index d99304511..c561ea099 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,3 +1,6 @@
+- media step:
+ o prevent selecting an update medium without its parent medium
+
Version 15.14 - 17 December 2012
- ugtk2: use new exceptions management
diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm
index 073163ed6..fe05557f5 100644
--- a/perl-install/install/any.pm
+++ b/perl-install/install/any.pm
@@ -8,6 +8,7 @@ our @EXPORT_OK = qw(addToBeDone);
#-######################################################################################
#- misc imports
#-######################################################################################
+use feature 'state';
use common;
use run_program;
use fs::type;
@@ -376,7 +377,10 @@ sub media_screen {
val => \$medium->{temp_enabled}, type => 'bool', text => $name,
help => $medium->{update} ? N("This medium provides package updates for medium \"%s\"", $parent) : $descriptions{$name},
# 'Core Release' cannot be unselected:
- disabled => sub { $name =~ /^(?:Core|Main) Release$/ },
+ disabled => sub {
+ state $parent_media = $parent && urpm::media::name2medium($urpm, $parent);
+ $name =~ /^(?:Core|Main) Release$/ || $parent_media ? !$parent_media->{temp_enabled} : 0;
+ },
};
} @{$urpm->{media}},
]);