summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@mandriva.com>2010-05-11 13:18:44 +0000
committerChristophe Fergeau <cfergeau@mandriva.com>2010-05-11 13:18:44 +0000
commit90c49434f0f59cf629bebcbc8565230df89b64f7 (patch)
tree2faba7819220e8a76a807d80b7d4f8d7c9054f8a
parent97455f556294ba4277bdb828d161343304f3a7e5 (diff)
downloadurpmi-90c49434f0f59cf629bebcbc8565230df89b64f7.tar
urpmi-90c49434f0f59cf629bebcbc8565230df89b64f7.tar.gz
urpmi-90c49434f0f59cf629bebcbc8565230df89b64f7.tar.bz2
urpmi-90c49434f0f59cf629bebcbc8565230df89b64f7.tar.xz
urpmi-90c49434f0f59cf629bebcbc8565230df89b64f7.zip
when using --update, allow to get dependencies from non-update media
Fixes #51268
-rw-r--r--NEWS5
-rw-r--r--urpm/media.pm14
2 files changed, 16 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 6d6e6fe4..e1a01b1d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,9 @@
- fix bash completion script (#55716)
+- urpmi.addmedia:
+ o disable non-free repository by default for Free edition (#40033)
+-urpmi:
+ o when using --update, allow package dependencies to be fetched from
+ non-update media (#51268)
- don't crash when parsing an invalid media.cfg file in
/etc/urpmi/mediacfg.d
- fix being unable to run a second transaction set in rpmdrake (#54842)
diff --git a/urpm/media.pm b/urpm/media.pm
index d6ce288d..bc7f6265 100644
--- a/urpm/media.pm
+++ b/urpm/media.pm
@@ -645,6 +645,14 @@ sub configure {
$_->{searchmedia} = 1;
}
}
+ if ($options{update}) {
+ foreach (grep { !$_->{ignore} && ($_->{update}) } @{$urpm->{media} || []}) {
+ #- Ensure update media are selected
+ $_->{modified} = 1;
+ _tempignore($_, 0);
+ $_->{searchmedia} = 1;
+ }
+ }
if ($options{excludemedia}) {
delete $_->{modified} foreach @{$urpm->{media} || []};
foreach (select_media_by_name($urpm, [ split /,/, $options{excludemedia} ])) {
@@ -660,7 +668,7 @@ sub configure {
}
_auto_update_media($urpm, %options);
- _pick_mirror_if_needed($urpm, $_, '') foreach non_ignored_media($urpm, $options{update});
+ _pick_mirror_if_needed($urpm, $_, '') foreach non_ignored_media($urpm);
parse_media($urpm, \%options) if !$options{nodepslist};
@@ -679,7 +687,7 @@ sub _auto_update_media {
$options{callback} = delete $options{download_callback};
foreach (grep { _is_remote_virtual($_) || $urpm->{options}{'auto-update'} }
- non_ignored_media($urpm, $options{update})) {
+ non_ignored_media($urpm)) {
_update_medium($urpm, $_, %options);
}
}
@@ -702,7 +710,7 @@ sub all_media_to_update {
sub parse_media {
my ($urpm, $options) = @_;
- foreach (non_ignored_media($urpm, $options->{update})) {
+ foreach (non_ignored_media($urpm)) {
delete @$_{qw(start end)};
_parse_synthesis_or_ignore($urpm, $_, $options->{callback});