diff options
author | Thierry Vignaud <tv@mageia.org> | 2013-05-17 12:35:04 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2013-05-17 12:35:04 +0000 |
commit | 0de497b50811cfa096871eff490dc77ec1f35450 (patch) | |
tree | c441c9237028a7737adfd1670513cbe860314b5d /urpm | |
parent | 0131e1455c3a365872ff97006ea777adc56024ed (diff) | |
download | urpmi-0de497b50811cfa096871eff490dc77ec1f35450.tar urpmi-0de497b50811cfa096871eff490dc77ec1f35450.tar.gz urpmi-0de497b50811cfa096871eff490dc77ec1f35450.tar.bz2 urpmi-0de497b50811cfa096871eff490dc77ec1f35450.tar.xz urpmi-0de497b50811cfa096871eff490dc77ec1f35450.zip |
enable to see if nonfree/tained packages are installed (mga#8368, #8379 & #9758)
Diffstat (limited to 'urpm')
-rw-r--r-- | urpm/media.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/urpm/media.pm b/urpm/media.pm index 6148d680..81da468d 100644 --- a/urpm/media.pm +++ b/urpm/media.pm @@ -755,6 +755,27 @@ sub _auto_update_media { } } + +=item needed_extra_media($urpm) + +Return 2 booleans telling whether nonfree & tainted packages are installed respectively. + +=cut + +sub needed_extra_media { + my ($urpm) = @_; + my $db = urpm::db_open_or_die_($urpm); + my ($nonfree, $tainted); + $db->traverse(sub { + my ($pkg) = @_; + return if $nonfree && $tainted; + my $rel = $pkg->release; + $nonfree ||= $rel =~ /nonfree$/; + $tainted ||= $rel =~ /tainted$/; + }); + ($nonfree, $tainted); +} + sub non_ignored_media { my ($urpm, $b_only_marked_update) = @_; |