summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2001-07-05 14:55:55 +0000
committerFrancois Pons <fpons@mandriva.com>2001-07-05 14:55:55 +0000
commita7d8af5f49a599f4eecdd157586722e6414dbd96 (patch)
treebd53a889546ef1eadd2c6b630f5805250d781407
parent8da0fb2c7218443243777a30964c1695c579e68c (diff)
downloadurpmi-a7d8af5f49a599f4eecdd157586722e6414dbd96.tar
urpmi-a7d8af5f49a599f4eecdd157586722e6414dbd96.tar.gz
urpmi-a7d8af5f49a599f4eecdd157586722e6414dbd96.tar.bz2
urpmi-a7d8af5f49a599f4eecdd157586722e6414dbd96.tar.xz
urpmi-a7d8af5f49a599f4eecdd157586722e6414dbd96.zip
fixed wrong dependencies resolution on local rpm.
improved urpmf. updated man pages.
-rw-r--r--urpm.pm13
-rwxr-xr-xurpmf62
-rw-r--r--urpmf.839
-rwxr-xr-xurpmi2
-rw-r--r--urpmi.811
-rw-r--r--urpmi.addmedia.813
-rw-r--r--urpmi.removemedia.84
-rw-r--r--urpmi.spec10
-rw-r--r--urpmi.update.84
-rw-r--r--urpmq.811
10 files changed, 131 insertions, 38 deletions
diff --git a/urpm.pm b/urpm.pm
index ee7bf9d5..1be92fc4 100644
--- a/urpm.pm
+++ b/urpm.pm
@@ -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 {
diff --git a/urpmf b/urpmf
index 4101df4f..dc1e471f 100755
--- a/urpmf
+++ b/urpmf
@@ -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
diff --git a/urpmf.8 b/urpmf.8
index 265566ae..8b49d6ad 100644
--- a/urpmf.8
+++ b/urpmf.8
@@ -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
diff --git a/urpmi b/urpmi
index 3e01be08..c3b8f2ae 100755
--- a/urpmi
+++ b/urpmi
@@ -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.
diff --git a/urpmi.8 b/urpmi.8
index f2549ab3..d9bb9326 100644
--- a/urpmi.8
+++ b/urpmi.8
@@ -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
diff --git a/urpmi.spec b/urpmi.spec
index 58634d21..fe82ef49 100644
--- a/urpmi.spec
+++ b/urpmi.spec
@@ -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"
diff --git a/urpmq.8 b/urpmq.8
index c56d45ee..b347f2e9 100644
--- a/urpmq.8
+++ b/urpmq.8
@@ -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"