From 3dea187456e97810484f7ae788be7e23ffd1dad8 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 21 Dec 2012 17:37:47 +0000 Subject: prevent selecting an update medium without its parent medium --- perl-install/install/NEWS | 3 +++ perl-install/install/any.pm | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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}}, ]); -- cgit v1.2.1