diff options
author | Christophe Fergeau <cfergeau@mandriva.com> | 2010-05-11 13:18:44 +0000 |
---|---|---|
committer | Christophe Fergeau <cfergeau@mandriva.com> | 2010-05-11 13:18:44 +0000 |
commit | 90c49434f0f59cf629bebcbc8565230df89b64f7 (patch) | |
tree | 2faba7819220e8a76a807d80b7d4f8d7c9054f8a | |
parent | 97455f556294ba4277bdb828d161343304f3a7e5 (diff) | |
download | urpmi-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-- | NEWS | 5 | ||||
-rw-r--r-- | urpm/media.pm | 14 |
2 files changed, 16 insertions, 3 deletions
@@ -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}); |