From 50bd675340eaa74634b1d6d86162ec4d6b52dca1 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 24 Feb 2010 17:51:05 +0000 Subject: (add_distrib_media) do not add non-free repository by default for Free edition (#40033) --- NEWS | 3 +++ urpm/media.pm | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/NEWS b/NEWS index 8a4ae910..50b62d92 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +- urpmi.addmedia: + o do not add non-free repository by default for Free edition (#40033) + Version 6.34 - 25 January 2010 - don't crash when parsing an invalid media.cfg file in diff --git a/urpm/media.pm b/urpm/media.pm index ecec63e4..b2cbf192 100644 --- a/urpm/media.pm +++ b/urpm/media.pm @@ -929,9 +929,20 @@ sub add_distrib_media { #- and create all necessary media according to it. my $medium_index = $options{initial_number} || 1; + require urpm::mirrors; + my $product_id = urpm::mirrors::parse_LDAP_namespace_structure(cat_('/etc/product.id')); + foreach my $media ($distribconf->listmedia) { my $media_name = $distribconf->getvalue($media, 'name') || ''; + my @media_types = split(':', $distribconf->getvalue($media, 'media_type')); + if ($product_id->{product} eq 'Free') { + if (member('non-free', @media_types)) { + $urpm->{log}(N("skipping non-free medium `%s'", $media)); + next; + } + } + if (my $media_arch = $distribconf->getvalue($media, 'arch')) { if (!URPM::archscore($media_arch)) { $urpm->{log}(N("skipping non compatible media `%s' (for %s)", -- cgit v1.2.1