summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2001-03-26 13:39:58 +0000
committerFrancois Pons <fpons@mandriva.com>2001-03-26 13:39:58 +0000
commit8500b9980c2778fbce2fcb050d1049cee81809f8 (patch)
tree17e5cb204fb20ca49ddbc7d1fc338f3c75f99501
parentf09adc5ead5dfa93ea5c46086c4a6540600302fb (diff)
downloadurpmi-8500b9980c2778fbce2fcb050d1049cee81809f8.tar
urpmi-8500b9980c2778fbce2fcb050d1049cee81809f8.tar.gz
urpmi-8500b9980c2778fbce2fcb050d1049cee81809f8.tar.bz2
urpmi-8500b9980c2778fbce2fcb050d1049cee81809f8.tar.xz
urpmi-8500b9980c2778fbce2fcb050d1049cee81809f8.zip
*** empty log message ***
-rw-r--r--urpm.pm21
-rwxr-xr-xurpmi2
-rw-r--r--urpmi.spec6
-rwxr-xr-xurpmi.update3
4 files changed, 22 insertions, 10 deletions
diff --git a/urpm.pm b/urpm.pm
index cdbd7aec..5df42b2a 100644
--- a/urpm.pm
+++ b/urpm.pm
@@ -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.
diff --git a/urpmi b/urpmi
index a47e12e5..64a0c3e5 100755
--- a/urpmi
+++ b/urpmi
@@ -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 };
diff --git a/urpmi.spec b/urpmi.spec
index 8164a107..8b9b79f8 100644
--- a/urpmi.spec
+++ b/urpmi.spec
@@ -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);
}