From 144b2ddb191ce4ac7f76950dd9bda65402d474c2 Mon Sep 17 00:00:00 2001 From: Olivier Thauvin Date: Thu, 15 Jan 2004 23:41:45 +0000 Subject: - add --root in man/--help, --use-distrib in --help only - fix issue using virtual medium and --bug - update error message if --bug dir exist --- man/C/urpme.8 | 4 ++++ man/C/urpmi.8 | 4 ++++ man/C/urpmq.8 | 4 ++++ urpm.pm | 4 +++- urpme | 3 +++ urpmi | 11 ++++++++--- urpmi.spec | 5 ++++- urpmq | 2 ++ 8 files changed, 32 insertions(+), 5 deletions(-) diff --git a/man/C/urpme.8 b/man/C/urpme.8 index 9f7e494d..43af3268 100644 --- a/man/C/urpme.8 +++ b/man/C/urpme.8 @@ -21,6 +21,10 @@ machines). \fIalias\fP defines which extension module to use by urpmi (currently \fBurpmi-parallel-ka-run\fP or \fBurpmi-parallel-ssh\fP) and which machines should be updated, this alias is defined in the file /etc/urpmi/parallel.cfg as described below. +.IP "\fB\--root\fP \fIdirectory\fP" +Use the file system tree rooted for rpm install. All operations and scripts +will run after chroot(2). The rpm database in the rooted tree will be used but +urpmi configuration comes from normal system. .IP "\fB\-v\fP" Proposes a verbose mode with various messages. .IP "\fB\-a\fP" diff --git a/man/C/urpmi.8 b/man/C/urpmi.8 index 69fafa52..d43de1be 100644 --- a/man/C/urpmi.8 +++ b/man/C/urpmi.8 @@ -105,6 +105,10 @@ machines). \fIalias\fP defines which extension module to use by urpmi (currently \fBurpmi-parallel-ka-run\fP or \fBurpmi-parallel-ssh\fP) and which machines should be updated, this alias is defined in the file /etc/urpmi/parallel.cfg as described below. +.IP "\fB\--root\fP \fIdirectory\fP" +Use the file system tree rooted for rpm install. All operations and scripts +will run after chroot(2). The rpm database in the rooted tree will be used but +urpmi configuration comes from normal system. .IP "\fB\--wget\fP" Use wget only for downloading distant files. By default curl is used if available or wget instead. diff --git a/man/C/urpmq.8 b/man/C/urpmq.8 index ee062d65..d43e81e3 100644 --- a/man/C/urpmq.8 +++ b/man/C/urpmq.8 @@ -64,6 +64,10 @@ machines). \fIalias\fP defines which extension module to use by urpmi (currently \fBurpmi-parallel-ka-run\fP or \fBurpmi-parallel-ssh\fP) and which machines should be updated, this alias is defined in the file /etc/urpmi/parallel.cfg as described below. +.IP "\fB\--root\fP \fIdirectory\fP" +Use the file system tree rooted for rpm install. All operations and scripts +will run after chroot(2). The rpm database in the rooted tree will be used but +urpmi configuration comes from normal system. .IP "\fB\--wget\fP" Use wget only for downloading distant files. By default curl is used if available or wget instead. diff --git a/urpm.pm b/urpm.pm index aad3156a..98b64e4a 100644 --- a/urpm.pm +++ b/urpm.pm @@ -737,7 +737,9 @@ sub configure { my ($urpm, %options) = @_; $urpm->clean; - + + $options{parallel} && $options{usedistrib} and die N("Can't use parallele mode with use-distrib mode"); + if ($options{parallel}) { my ($parallel_options, $parallel_handler); #- handle parallel configuration, examine all module available that diff --git a/urpme b/urpme index 1d6efb9c..a28c0e9b 100644 --- a/urpme +++ b/urpme @@ -43,6 +43,9 @@ usage: ") . N(" --test - verify if the installation can be achieved correctly. ") . N(" --force - force invocation even if some packages do not exist. ") . N(" --parallel - distributed urpmi accross machines of alias. +") . N(" --root - use another root for rpm installation. +") . N(" --use-distrib - configure urpmi on the fly from a distrib tree, useful + to (un)install a chroot with --root option. ") . N(" -v - verbose mode. ") . N(" -a - select all packages matching expression. "); diff --git a/urpmi b/urpmi index c25b120c..6776d294 100755 --- a/urpmi +++ b/urpmi @@ -98,6 +98,9 @@ usage: ") . N(" --allow-force - allow asking user to install packages without dependencies checking and integrity. ") . N(" --parallel - distributed urpmi accross machines of alias. +") . N(" --root - use another root for rpm installation. +") . N(" --use-distrib - configure urpmi on the fly from a distrib tree, useful + to install a chroot with --root option. ") . N(" --wget - use wget to retrieve distant files. ") . N(" --curl - use curl to retrieve distant files. ") . N(" --limit-rate - limit the download speed. @@ -246,7 +249,7 @@ if ($install_src) { #- prepare bug report. if ($bug) { - mkdir $bug or $urpm->{fatal}(8, N("Unable to create directory [%s] for bug report", $bug)); + mkdir $bug or $urpm->{fatal}(8, N((-d $bug ? "Directory [%s] allready exist, please use another directory for bug report or delete it" : "Unable to create directory [%s] for bug report"), $bug)); #- copy all synthesis file used, along with configuration of urpmi system("cp", "-af", $urpm->{skiplist}, $urpm->{instlist}, $bug); #- allow log file. @@ -335,7 +338,7 @@ $urpm->configure(nocheck_access => $env || $uid > 0, root => $root, bug => $bug, parallel => $parallel, - usedistrib => $usedistrib, + usedistrib => $usedistrib, ); #- get back activated default values of boolean options. foreach (qw(post-clean verify-rpm)) { @@ -354,7 +357,9 @@ if ($bug) { foreach (@{$urpm->{media}}) { #- take care of virtual medium this way. $_->{hdlist} ||= "hdlist.$_->{name}.cz"; - delete $_->{virtual}; + + # Why to delete this flag ? This break rpm find process if list is need + # delete $_->{virtual}; #- now build directly synthesis file, this is by far the simplest method. if (defined $_->{start} && defined $_->{end}) { $urpm->build_synthesis(start => $_->{start}, end => $_->{end}, synthesis => "$bug/synthesis.$_->{hdlist}"); diff --git a/urpmi.spec b/urpmi.spec index e85a9fad..dc4f9cc8 100644 --- a/urpmi.spec +++ b/urpmi.spec @@ -252,8 +252,11 @@ $urpm->update_media(nolock => 1, nopubkey => 1); - From Pascal Terjan : - $root =~ s!/*!! to avoid root detection issue - From Olivier Thauvin : - - add --use-distrib code + - add --use-distrib - fix urpmq for virtual medium + - add --root in man/--help + - fix issue using virtual medium and --bug + - update error message if --bug dir exist * Mon Jan 12 2004 Guillaume Cottenceau 4.4.1-1mdk - add ability to cancel packages downloads from within rpmdrake diff --git a/urpmq b/urpmq index c7c0dbbb..745e2e72 100755 --- a/urpmq +++ b/urpmq @@ -58,6 +58,8 @@ usage: ") . N(" --sources - give all source packages before downloading (root only). ") . N(" --force - force invocation even if some packages do not exist. ") . N(" --parallel - distributed urpmi accross machines of alias. +") . N(" --use-distrib - configure urpmi on the fly from a distrib tree. + This permit to querying a distro. ") . N(" --wget - use wget to retrieve distant files. ") . N(" --curl - use curl to retrieve distant files. ") . N(" --proxy - use specified HTTP proxy, the port number is assumed -- cgit v1.2.1