diff options
-rw-r--r-- | urpm.pm | 21 | ||||
-rwxr-xr-x | urpmi | 2 | ||||
-rw-r--r-- | urpmi.spec | 6 | ||||
-rwxr-xr-x | urpmi.update | 3 |
4 files changed, 22 insertions, 10 deletions
@@ -469,23 +469,30 @@ sub update_media { #- build list file according to hdlist used. #- make sure group and other does not have any access to this file. unless ($error) { - local *LIST; - my $mask = umask 077; - open LIST, ">$urpm->{cachedir}/partial/$medium->{list}" - or $error = 1, $urpm->{error}("unable to write list file of \"$medium->{name}\""); - umask $mask; + #- sort list file contents according to depslist.ordered file. + my %list; if (@files) { foreach (@files) { - print LIST "$prefix:/$_\n"; + /\/([^\/]*)-[^-\/]*-[^-\/]*\.[^\/]*\.rpm/; + $list{"$prefix:/$_\n"} = ($urpm->{params}{info}{$1} || { id => 1000000000 })->{id}; } } else { local (*F, $_); open F, "parsehdlist '$urpm->{cachedir}/partial/$medium->{hdlist}' |"; while (<F>) { - print LIST "$medium->{url}/$_"; + /\/([^\/]*)-[^-\/]*-[^-\/]*\.[^\/]*\.rpm/; + $list{"$medium->{url}/$_"} = ($urpm->{params}{info}{$1} || { id => 1000000000 })->{id}; } close F; } + + #- write list file. + local *LIST; + my $mask = umask 077; + open LIST, ">$urpm->{cachedir}/partial/$medium->{list}" + or $error = 1, $urpm->{error}("unable to write list file of \"$medium->{name}\""); + umask $mask; + print LIST sort { $list{$a} <=> $list{$b} } keys %list; close LIST; #- check if at least something has been written into list file. @@ -80,7 +80,7 @@ my @nextargv; for (@ARGV) { /^--help$/ and do { usage; next }; /^--auto$/ and do { $auto = 1; next }; - /^--auto-select$/ and do { $auto_select = 1; next }; + /^--auto-select$/ and do { $auto_select = 1; $minimal = 0; next }; /^--force$/ and do { $force = 1; next }; /^--X$/ and do { $X = 1; next }; /^--best-output$/ and do { $X ||= $ENV{DISPLAY} && system('/usr/X11R6/bin/xtest', '') == 0; next }; @@ -2,7 +2,7 @@ Name: urpmi Version: 1.5 -Release: 24mdk +Release: 25mdk License: GPL Source0: %{name}.tar.bz2 Summary: User mode rpm install @@ -114,6 +114,10 @@ autoirpm.uninstall %changelog +* Mon Mar 26 2001 François Pons <fpons@mandrakesoft.com> 1.5-25mdk +- sort list file so that rpm are sorted when installed. +- increase speed for --auto-select: implies -M by default. + * Mon Mar 26 2001 François Pons <fpons@mandrakesoft.com> 1.5-24mdk - fixed annoying message when adding a medium (cp). diff --git a/urpmi.update b/urpmi.update index 530dd892..a5ff2627 100755 --- a/urpmi.update +++ b/urpmi.update @@ -57,7 +57,8 @@ sub main { $_->{modified} and delete $_->{ignore}; } } - + + $urpm->read_depslist; $urpm->update_media(%options); } |