Mandrake/Mandriva dependancy handeling...

CLIFFORD ILKAY clifford_ilkay-biY6FKoJMRdBDgjK7y7TUQ at public.gmane.org
Mon Aug 29 17:30:17 UTC 2005


On August 29, 2005 12:44, Lance F. Squire wrote:
> My Wife is running a Mandriva desktop, and is trying to install a
> program she downloaded.

From where? If it is not a Mandriva RPM, I would hesitate to install 
it.

> The program is having dependency issues. Is there a program on
> Mandriva that will sort this out for her?

urpmi

Set up urpmi repositories using <http://urpmi-addmedia.org> as a 
guide.

urpmi.update -a # to update the local metadata for all the 
repositories, in case you had some previously set up

urpmi --auto-select # updates all packages but the kernel to the 
latest release from the repos that you had previously configured. 
Will prompt you for dependencies.

After doing that, assuming you want to install a package named foo, 
type:

urpmi foo

and if the package exists in any of the repos, it will either install 
or prompt you if it has unsatisfied dependencies. If you are notified 
of a missing dependency for a file as opposed to a package name, e.g. 
"need bar.so.1", type:

urpmf bar.so.1

This will return a list of packages that contain that file. Using 
urpmi, install the one that makes sense. This does not happen very 
often. Usually, you will be notified of a package dependency, not a 
file dependency.

If no such package is found, it is possible that it exists but with a 
different name. Use a substring of the name, e.g. urpmi kde will 
return all package names containing "kde". You might also try 
searching the package headers, which takes much longer by typing:

urpmi --fuzzy foo # same as urpmi -y foo

There is a GUI front end to all of the above in the Mandrake Control 
Center, if you prefer.

What happens if you find no such package in the repositories? You can 
try installing from tarball, which I avoid not because I do not know 
how but because it breaks the whole idea of dependency management 
that urpmi is intended to address. The better option is to see if 
there is an RPM for another distro or for Cooker, the development 
version of Mandriva, download the SRPM, modify the SPEC file as 
necessary, and rebuild it for the version of Mandriva on which you 
intend to install. That is my preferred choice so I have a small 
private urpmi repository with some packages that are not available in 
contrib either due to licensing restrictions, e.g. the Sun JDK, or 
simply because no one had packaged them for Mandriva, e.g. Webware 
for Python.

I am quite excited about the next generation of package management 
that is now in Cooker, Smart Package Manager <http://smartpm.org/>. 
It will not only resolve dependencies, which many package managers 
do, but work out the optimal combinations of versions to arrive at a 
desired goal.

> I usually use YUM or Apt-Get on my FC4 systems to avoid this, but
> was unable to locate such for Mandrake in the past...

That is a shame as urpmi does at least as good a job as them and is 
much faster than YUM.

> Lance F. Squire
>
> P.S.
>
> Don't even think of suggesting she change to a different Linux.

Wouldn't dream of it as I think it is one of the most polished distros 
out there:)
-- 
Regards,

Clifford Ilkay
Dinamis Corporation
3266 Yonge Street, Suite 1419
Toronto, ON
Canada  M4N 3P6

+1 416-410-3326
--
The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml





More information about the Legacy mailing list