On Sun, Aug 01, 2004 at 09:13:02AM +0200, Yosef Leibovich wrote:
> I'm currently installing Fedora mono's rpms on mandrake system as there
> are non (of mono version 1) for mandrake.

In such a case consider rebuilding from SRPM. It may prove faster.

> This is a hell on earth as the creator of  both fedora and mandrake has
> decided to call gtkhtml mozilla libcroco etc. with different names,
> therefor my already installed libcroco seems unavailible to fedora's rpms.

Two possible solutions, IMHO:

1. rebuild the mono package and rename the library names in the manual
dependency names.

Some of the dependency names are created automatically. Those are
typically not wise to override (--nodeps) as it means that the libraries
are named differently and a certain binary will probably fail to load.

When you rebuild the source rpm, the automatic dependencies will be
created for the correct names for your system.

If all the different dependencies are manual ones , you can use a
different trick: create an empty rpm (a minimal spec file with Name,
Group, License, Version, Revision, %description and empty %file, as well
as Requires, Provides etc. as required). Make it Requires the name
Mandrake give the library and Provides the name the mono package wants.

> I thought that dependecy check should be per-file (that is I need
> package mozilla is translated to I need mozilla-gecko-1.*.so) and
> dependecy check will simply detect if the needed files are reachable.

This is indeed true for the automatic dependecies. Sometimes there are
good reasons for wanting specific versions of libraries and manual
dependencies are used for that. But in your case it seems that the
manual dependencies are incorrect for your case.

> Don't get me wrong. The developer won't need to specify that, he'll
> specify the required packages, and one rpm tool will automatically
> generate the needed files list.

Basically, this is already done. There are a number of scripts that
generate automatic dependencies at package creation time. However if
your package needs libpie.so.3 it can use /usr/lib/libar.so.3.1 from the
package libpie-good-enough , /lib/libpie.3.14 from libpie-better and
/usr/knuth-old/libpie.so.3.141.56 from libpie-web . Provided that you
can guarantee that /usr/knuth-old is on ld.so.conf or on the user's
LD_LIBRARY_PATH . 

Thuas the dependencies are on libraries, and on as most general version
as possible.

> This is much more exact measure (if dependecies are checked this is 100%
> working, otherwise there's no chance it's gonna work) and allow
> cross-distribution installations.

Libraries names should be cross-distroes. The names of the packages that
contain them are not guaranteed. The versions ofthose libraries are also
not guaranteed.

-- 
Tzafrir Cohen                       +---------------------------+
http://www.technion.ac.il/~tzafrir/ |vim is a mutt's best friend|
mailto:[EMAIL PROTECTED]       +---------------------------+

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to