summaryrefslogtreecommitdiffstats
path: root/urpmi
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2007-08-28 11:51:27 +0000
committerPascal Rigaux <pixel@mandriva.com>2007-08-28 11:51:27 +0000
commit6dc554230ca73e99fbc1ac5fdd2a3ccd0c9f32e0 (patch)
tree87f257079174e32f931205733ed1d97d20fad035 /urpmi
parent13258c86d966b9bf5abd71a4a892a2c7350d7ff0 (diff)
downloadurpmi-6dc554230ca73e99fbc1ac5fdd2a3ccd0c9f32e0.tar
urpmi-6dc554230ca73e99fbc1ac5fdd2a3ccd0c9f32e0.tar.gz
urpmi-6dc554230ca73e99fbc1ac5fdd2a3ccd0c9f32e0.tar.bz2
urpmi-6dc554230ca73e99fbc1ac5fdd2a3ccd0c9f32e0.tar.xz
urpmi-6dc554230ca73e99fbc1ac5fdd2a3ccd0c9f32e0.zip
- urpmi
o handle changes in priority-upgrade list between old and new urpmi (#32925) nb: keep --no-priority-upgrade since it is passed by older urpmi when restarting
Diffstat (limited to 'urpmi')
-rwxr-xr-xurpmi16
1 files changed, 8 insertions, 8 deletions
diff --git a/urpmi b/urpmi
index 6caf4ee1..998d351f 100755
--- a/urpmi
+++ b/urpmi
@@ -322,8 +322,8 @@ if ($logfile && !$INC{"Devel/Trace.pm"}) {
select STDERR; $| = 1;
select STDOUT; $| = 1;
-if (exists $urpm->{options}{'priority-upgrade'} && $urpm->{options}{'priority-upgrade'} eq '') {
- # we were run with --no-priority-upgrade (we were just restarted.)
+if ($options{previous_priority_upgrade}) {
+ # we were just restarted
# so, no need to update the media again
$auto_update = 0;
# temporary hack : if we were using an old version of URPM (eg: when
@@ -387,10 +387,7 @@ if ($bug) {
#- get back activated default values of boolean options.
exists $urpm->{options}{'split-level'} or $urpm->{options}{'split-level'} = $split_level;
exists $urpm->{options}{'split-length'} or $urpm->{options}{'split-length'} = $split_length;
-# comma-separated list of packages that should be installed first,
-# and that trigger an urpmi restart
-exists $urpm->{options}{'priority-upgrade'}
- or $urpm->{options}{'priority-upgrade'} = 'rpm,perl-URPM,perl-MDV-Distribconf,urpmi,meta-task,glibc';
+urpm::select::set_priority_upgrade_option($urpm, $options{previous_priority_upgrade});
my $state = {};
my %requested = $urpm->register_rpms(@files, @src_files);
@@ -677,14 +674,17 @@ if ($restart_itself && !$exit_code) {
print N("restarting urpmi"), "\n";
#- it seems to work correctly with exec instead of system, provided
#- STDOUT or STDERR are not closed before (else no output at all).
- #- added --no-priority-upgrade to make sure no restart will be done after this one.
+ #- added --previous-priority-upgrade to allow checking if yet if
+ #- priority-upgrade list has changed. and make sure we don't uselessly restart
#- renamed bug report dir as /restarted to avoid exit because it already exists
#- This permits to have in a same dir bug reports before and after the restart
@ARGV = @ARGVcopy;
my @arg = ($ARGV[0], map {
$ARGV[$_] . ($ARGV[$_ - 1] eq '--bug' ? "/restarted" : "");
} (1 .. $#ARGV));
- exec $0, '--no-priority-upgrade', @arg;
+ @arg = ('--previous-priority-upgrade=' . $urpm->{options}{'priority-upgrade'},
+ grep { !/^--no-priority-upgrade$|--previous-priority-upgrade=/ } @arg);
+ exec $0, @arg;
}
#- this help flushing correctly by closing this file before (piped on tee).