diff options
-rw-r--r-- | urpm.pm | 13 | ||||
-rwxr-xr-x | urpmf | 62 | ||||
-rw-r--r-- | urpmf.8 | 39 | ||||
-rwxr-xr-x | urpmi | 2 | ||||
-rw-r--r-- | urpmi.8 | 11 | ||||
-rw-r--r-- | urpmi.addmedia.8 | 13 | ||||
-rw-r--r-- | urpmi.removemedia.8 | 4 | ||||
-rw-r--r-- | urpmi.spec | 10 | ||||
-rw-r--r-- | urpmi.update.8 | 4 | ||||
-rw-r--r-- | urpmq.8 | 11 |
10 files changed, 131 insertions, 38 deletions
@@ -897,7 +897,7 @@ sub relocate_depslist { #- register local packages for being installed, keep track of source. sub register_local_packages { - my ($urpm, @files) = @_; + my ($urpm, $minimal, @files) = @_; my ($error, @names); #- examine each rpm and build the depslist for them using current @@ -920,8 +920,13 @@ sub register_local_packages { } $error and $urpm->{fatal}(1, _("error registering local packages")); - #- compute depslist associated. - $urpm->{params}->compute_depslist; + #- compute id or depslist associated. + #- minimal mode says dependencies will be resolved in a cleaner way. + if ($minimal) { + $urpm->{params}->compute_id; + } else { + $urpm->{params}->compute_depslist; + } #- return package names... @names; @@ -1495,7 +1500,7 @@ sub get_source_packages { $urpm->{error}(_("there are multiples packages with the same rpm filename \"%s\""), $1); next; } elsif (keys(%{$file2fullnames{$1} || {}}) == 1) { - my ($fullname) = keys(%{$file2fullnames{$2} || {}}); + my ($fullname) = keys(%{$file2fullnames{$1} || {}}); if (defined delete $fullname2id{$fullname}) { push @local_sources, "$urpm->{cachedir}/rpms/$1.rpm"; } else { @@ -7,19 +7,55 @@ ECHO=`which gettext 2> /dev/null` [ -z "$ECHO" ] && ECHO="echo" || ECHO="$ECHO -s" TEXTDOMAIN="urpmi" - -if [ "$#" -gt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then - $ECHO "usage: rpmf [<file>]" - exit 1 -fi +export TEXTDOMAIN dir="/var/lib/urpmi" +options= - -if /bin/ls $dir/hdlist.* >/dev/null 2>/dev/null; then - parsehdlist --files --quiet $dir/hdlist.* | grep -E "$1" -else - $ECHO "urpmi is not installed" - exit 1 -fi - +while true +do + case $1 in + -h|--help) + $ECHO "urpmf version" `rpm -q rpmtools --qf '%{VERSION}'` + $ECHO "Copyright (C) 1999,2000,2001 MandrakeSoft." + $ECHO "This is free software and may be redistributed under the terms of the GNU GPL." + echo + $ECHO "usage: urpmf [options] <file>" + $ECHO " --quiet - do not print tag name (default if no tag given on command" + $ECHO " line, incompatible with interactive mode)." + $ECHO " --all - print all tags." + $ECHO " --name - print tag name: rpm filename (assumed if no tag given on" + $ECHO " command line but without package name)." + $ECHO " --group - print tag group: group." + $ECHO " --size - print tag size: size." + $ECHO " --serial - print tag serial: serial." + $ECHO " --summary - print tag summary: summary." + $ECHO " --description - print tag description: description." + $ECHO " --provides - print tag provides: all provides (mutliple lines)." + $ECHO " --requires - print tag requires: all requires (multiple lines)." + $ECHO " --files - print tag files: all files (multiple lines)." + $ECHO " --conflicts - print tag conflicts: all conflicts (multiple lines)." + $ECHO " --obsoletes - print tag obsoletes: all obsoletes (multiple lines)." + $ECHO " --prereqs - print tag prereqs: all prereqs (multiple lines)." + exit 1 + ;; + --*) + options="$1 $options" + shift + ;; + *) + if [ $# -gt 1 ]; then + $ECHO "usage: urpmf [options] <file>" + $ECHO "try urpmf --help for more options" + exit 1 + fi + if /bin/ls $dir/hdlist.* >/dev/null 2>/dev/null; then + parsehdlist ${options:---files --quiet} $dir/hdlist.* | grep -E "$1" + exit $? + else + $ECHO "urpmi is not installed" + exit 1 + fi + ;; + esac +done @@ -1,18 +1,51 @@ -.TH urpmf 8 "10 Apr 2001" "Mandrakesoft" "Linux-Mandrake" +.TH urpmf 8 "05 Jul 2001" "MandrakeSoft" "Mandrake Linux" .IX urpmf .SH NAME urpmf \- RPMFind - Finds the RPM package providing the specified file .SH SYNOPSIS -.B urpmf [<\fIFile\fP>] +.B urpmf [\fIoptions\fP] <\fIfile\fP> .SH DESCRIPTION urpmf outputs a list of packages providing the file specified as an argument. .PP -<\fIFile\fP> is the name of the file you wish to know the package providing +<\fIfile\fP> is the name of the file you wish to know the package providing it. Note that you may type just a substring of the file you are looking for, \fBurpmf\fP will then print a list of matching files with their corresponding packages. .PP urpmf searches through installed and uninstalled packages. +.SH OPTIONS +.IP "\fB\--help\fP" +print an help message and exit. +.IP "\fB\--quiet\fP" +do not print tag name (default if no tag given on command line, incompatible +with interactive mode). +.IP "\fB\--all\fP" +print all tags. +.IP "\fB\--name\fP" +print tag name: rpm filename (assumed if no tag given on command line but +without package name). +.IP "\fB\--group\fP" +print tag group: group. +.IP "\fB\--size\fP" +print tag size: size. +.IP "\fB\--serial\fP" +print tag serial: serial. +.IP "\fB\--summary\fP" +print tag summary: summary. +.IP "\fB\--description\fP" +print tag description: description. +.IP "\fB\--provides\fP" +print tag provides: all provides (mutliple lines). +.IP "\fB\--requires\fP" +print tag requires: all requires (multiple lines). +.IP "\fB\--files\fP" +print tag files: all files (multiple lines). +.IP "\fB\--conflicts\fP" +print tag conflicts: all conflicts (multiple lines). +.IP "\fB\--obsoletes\fP" +print tag obsoletes: all obsoletes (multiple lines). +.IP "\fB\--prereqs\fP" +print tag prereqs: all prereqs (multiple lines). .SH FILES /usr/bin/urpmf .br @@ -151,7 +151,7 @@ if (@files) { $use_provides or $urpm->read_provides; #- build closure with local package and return list of names. - push @names, $urpm->register_local_packages(@files); + push @names, $urpm->register_local_packages($minimal, @files); } #- reparse whole internal depslist to match against newer packages only. @@ -1,9 +1,9 @@ -.TH urpmi 8 "10 Apr 2001" "Mandrakesoft" "Linux-Mandrake" +.TH urpmi 8 "05 Jul 2001" "MandrakeSoft" "Mandrake Linux" .IX urpmi .SH NAME urpmi \- rpm wrapper making installs easier for the user .SH SYNOPSIS -.B urpmi [options] [package_names|rpm_files...] +.B urpmi [\fIoptions\fP] [\fIpackage_names\fP | \fIrpm_files...\fP] .SH DESCRIPTION urpmi enables non-superuser install of rpms. In fact, it only authorizes well-known rpms to be installed. If you want to install local rpm file, you @@ -41,9 +41,12 @@ to launch, use autoirpm. .br To install all available menu entries of all known packages, use autoirpm-icons. -.SH OPTION +.SH OPTIONS .IP "\fB\--help\fP" print an help message and exit. +.IP "\fB\--update\fP" +use only update media. This means \fBurpmi\fP will search and resolve +dependencies only in media marked as update. .IP "\fB\--auto\fP" installs all required dependencies without asking. .IP "\fB\--auto-select\fP" @@ -69,6 +72,8 @@ upgrade all requires if they can be upgraded. if maximal closure is used, assume that a package listed mey have wrong or not up-to-date dependancies. This cause more package to be upgraded and may correct unresolved dependancies on the rpm database. +.IP "\fB\-p\fP" +allow search in provides to find package. .IP "\fB\-q\fP" proposes a quiet mode when calling rpm where no upgrade status are printed. .IP "\fB\-v\fP" diff --git a/urpmi.addmedia.8 b/urpmi.addmedia.8 index 5d751249..57e6de26 100644 --- a/urpmi.addmedia.8 +++ b/urpmi.addmedia.8 @@ -1,9 +1,9 @@ -.TH urpmi.addmedia 8 "10 Apr 2001" "Mandrakesoft" "Linux-Mandrake" +.TH urpmi.addmedia 8 "05 Jul 2001" "MandrakeSoft" "Mandrake Linux" .IX urpmi.addmedia .SH NAME urpmi.addmedia \- adds a new rpms media for use with urpmi .SH SYNOPSIS -.B urpmi.addmedia <\fIname\fP> <\fIurl\fP> +.B urpmi.addmedia [\fIoptions\fP] <\fIname\fP> <\fIurl\fP> .SH DESCRIPTION urpmi.addmedia tells urpmi that he can find new rpms at the specified location. Currently supported medias are: local drives, removable drives @@ -38,21 +38,24 @@ eg: urpmi.addmedia ftp ftp://a:a@leia//export/Mandrake/RPMS with ../base/hdlist .PP Local drive or NFS: .br -.IP "\fB urpmi.addmedia <\fIname\fP> file://<\fIpath\fP>\fP" +.IP "\fB urpmi.addmedia <\fIname\fP> file://<\fIpath\fP>\fP with <\fIrelative path of hdlist\fP>\fP" Where <\fIname\fP> is your reference for the media (e.g. Myrpms). .br <\fIpath\fP> is the location of the rpm directory on your machine. .PP Removable device: .br -.IP "\fB urpmi.addmedia removable_<\fIdevice\fP>://<\fIpath\fP>\fP" +.IP "\fB urpmi.addmedia removable_<\fIdevice\fP>://<\fIpath\fP>\fP with <\fIrelative path of hdlist\fP>\fP" <\fIdevice\fP> is the name of your media as specified in the /dev/ directory (e.g. cdrom, floppy, zip, ...). .br <\fIpath\fP> is the location of the rpm directory on your machine when media is mounted. .PP - +.SH OPTIONS +.IP "\fB\--update\fP" +add a medium which will be taken into account when updating only update media by +\fBurpmi\fP. .SH FILES /usr/bin/urpmi .br diff --git a/urpmi.removemedia.8 b/urpmi.removemedia.8 index e7aa7d84..6b348f44 100644 --- a/urpmi.removemedia.8 +++ b/urpmi.removemedia.8 @@ -1,4 +1,4 @@ -.TH urpmi.removemedia 8 "10 Apr 2001" "Mandrakesoft" "Linux-Mandrake" +.TH urpmi.removemedia 8 "05 Jul 2001" "MandrakeSoft" "Mandrake Linux" .IX urpmi.removemedia .SH NAME urpmi.removemedia \- remove a rpms media from the known medias of urpmi @@ -10,7 +10,7 @@ the named media and to rpms from that media. .PP <\fInames\fP> is a list of names you first told to urpmi.addmedia -.SH OPTION +.SH OPTIONS .IP "\fB\-a\fP" Select all media to remove them. .SH FILES @@ -2,12 +2,12 @@ Name: urpmi Version: 1.6 -Release: 11mdk +Release: 12mdk License: GPL Source0: %{name}.tar.bz2 Summary: User mode rpm install Requires: eject, wget -PreReq: perl-gettext, rpmtools >= 3.0-7mdk +PreReq: perl-gettext, rpmtools >= 3.0-8mdk BuildRequires: libbzip2-devel rpm-devel BuildRoot: %{_tmppath}/%{name}-buildroot @@ -106,6 +106,12 @@ rm -f /var/lib/urpmi/depslist %changelog +* Thu Jul 5 2001 François Pons <fpons@mandrakesoft.com> 1.6-12mdk +- fixed wrong dependencies resolution for local packages + in minimal mode. +- improved urpmf. +- updated man pages. + * Thu Jul 5 2001 François Pons <fpons@mandrakesoft.com> 1.6-11mdk - take care of local packages. diff --git a/urpmi.update.8 b/urpmi.update.8 index c6efcb8b..ef28a86f 100644 --- a/urpmi.update.8 +++ b/urpmi.update.8 @@ -1,4 +1,4 @@ -.TH urpmi.update 8 "10 Apr 2001" "Mandrakesoft" "Linux-Mandrake" +.TH urpmi.update 8 "05 Jul 2001" "MandrakeSoft" "Mandrake Linux" .IX urpmi.update .SH NAME urpmi.update \- Updates packages list for specified medias @@ -10,7 +10,7 @@ Usefull for ftp location for example. .PP <\fInames\fP> is a list of name you first told to urpmi.addmedia -.SH OPTION +.SH OPTIONS .IP "\fB\-a\fP" Select all media that are not using a removable device to update them. .IP "\fB\-c\fP" @@ -1,9 +1,9 @@ -.TH urpmq 8 "10 Apr 2001" "Mandrakesoft" "Linux-Mandrake" +.TH urpmq 8 "05 Jul 2001" "MandrakeSoft" "Mandrake Linux" .IX urpmq .SH NAME urpmq \- urpmi database query tool. .SH SYNOPSIS -.B urpmq [options] [package_names | rpm_files...] +.B urpmq [\fIoptions\fP] [\fIpackage_names\fP | \fIrpm_files...\fP] .SH DESCRIPTION urpmq allows querying the urpmi database. It is for you if want to list available packages in the various media of urpmi, or list dependancies of @@ -12,9 +12,12 @@ packages or packages that will be installed if you start urpmi. Output format of urpmq is the following according to command line options: .IP [group/]package_name[-version][-release] -.SH OPTION +.SH OPTIONS .IP "\fB\--help\fP" print an help message and exit. +.IP "\fB\--update\fP" +use only update media. This means \fBurpmq\fP will search and resolve +dependencies only in media marked as update. .IP "\fB\--auto-select\fP" automatically select all packages that have to be upgraded according to already installed packages and packages listed in various media registered. @@ -42,6 +45,8 @@ mode of \fBurpmi\fP. if maximal closure is used, assume that a package listed mey have wrong or not up-to-date dependancies. This cause more package to be upgraded and may correct unresolved dependancies on the rpm database. +.IP "\fB\-p\fP" +allow search in provides to find package. .IP "\fB\-g\fP" print group of each packages listed. .IP "\fB\-r\fP" |