diff options
author | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2004-10-05 06:39:40 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2004-10-05 06:39:40 +0000 |
commit | 295a08c8c3326669e64f500935d45c8d72e0462d (patch) | |
tree | fa4d23ffd0d3055d74511f289e6e5ef6ae5b6eb5 | |
parent | dab2df82beaa06784e17f752ad5e614d1c6b6814 (diff) | |
download | rpmdrake-295a08c8c3326669e64f500935d45c8d72e0462d.tar rpmdrake-295a08c8c3326669e64f500935d45c8d72e0462d.tar.gz rpmdrake-295a08c8c3326669e64f500935d45c8d72e0462d.tar.bz2 rpmdrake-295a08c8c3326669e64f500935d45c8d72e0462d.tar.xz rpmdrake-295a08c8c3326669e64f500935d45c8d72e0462d.zip |
Adaptation to the new update mirror architecture, for community, official
and cooker distributions. synthesis is now to be found in a media_info
subdirectory, and RPMs in <version_number>/main_updates if the mirror url
doesn't already end in media/main.
-rwxr-xr-x | rpmdrake | 2 | ||||
-rw-r--r-- | rpmdrake.pm | 14 |
2 files changed, 10 insertions, 6 deletions
@@ -1144,7 +1144,7 @@ updates' medium. Then, restart Mandrakeupdate.")), myexit(-1); add_medium_and_check($urpm, {}, - $update_name, make_url_mirror($m), '../base/synthesis.hdlist.cz', update => 1); + $update_name, make_url_mirror($m), 'media_info/synthesis.hdlist.cz', update => 1); @update_medias = { name => $update_name }; #- hack to simulate a medium for parsing of descriptions } diff --git a/rpmdrake.pm b/rpmdrake.pm index 933e56d4..bc8e696b 100644 --- a/rpmdrake.pm +++ b/rpmdrake.pm @@ -347,9 +347,10 @@ my %sites2countries = ('proxad.net' => 'fr', sub distro_type { - $mandrake_release =~ /community/i ? 'community' - : $mandrake_release =~ /cooker/i ? 'cooker' - : 'updates'; + return 'cooker' if $mandrake_release =~ /cooker/i; + return 'updates' if $mandrake_release !~ /community/i; + (my $v) = split / /, cat_('/etc/version'); + return $v =~ /\.0$/ ? 'community' : 'updates'; } sub compat_arch_for_updates($) { @@ -363,6 +364,7 @@ sub compat_arch_for_updates($) { sub mirrors { my ($cachedir) = @_; my $distro_type = distro_type(); + warn "distro_type=$distro_type\n"; $cachedir = '/root'; my $mirrorslist = "$cachedir/mirrorsfull.list"; unlink $mirrorslist; @@ -453,13 +455,15 @@ by Mandrakelinux Official Updates.")), return ''; sub make_url_mirror { my ($mirror) = @_; - if ($mirror =~ m!/RPMS$!) { + if ($mirror =~ m!/(?:RPMS|media/main)\Z!) { #- esp. for distro_type() =~ /cooker|community/ + warn "m=$mirror/"; "$mirror/"; } else { my ($class, $release) = $mandrake_release =~ /(\S+)\s+release\s+(\S+)/; $class !~ /linux/i and $release = lc($class) . "/$release"; #- handle subdirectory for corporate/clustering/etc - "$mirror/$release/RPMS/"; + warn "m=$mirror/$release/main_updates/"; + "$mirror/$release/main_updates/"; } } |