[Rule-list] scripts for RPM dependencies analysis

Marco Fioretti m.fioretti at inwind.it
Sat Jul 27 00:41:31 EEST 2002


On Fri, Jul 26, 2002 01:13:39 at 01:13:39AM +0200, Martin Stricker wrote:
> 
> > Another output I'd like from it is to say: you need to install this
> > RPM, but only 50% of its files are actually needed by other packages,
> > you can safely remove the rest.
> 
> While this can be very useful, there is danger in this direction. One
> problem is updating RPMs, another (and possibly very serious!) one is
> installing additional packages later - one of them might need one of the
> deleted files. So the RPM database needs to be fixed, too. But then a
> normal user (remember, one of our targets are schools and poor people!)
> would ask "where do I find /usr/local/lib/foo.so?" and gets
> "foo-1.0.0-i386.rpm", only to discover that it's already installed.

Absolutely correct.

I see two uses of this yet to be written tool. The first is to build
ISO images (i.e. *not* run *during* the installation, but before, to
create comps files and such. Of course, this creates exactly the
problems that you mention, and should have written in big letters "do
it only if you really know what you are doing, and at your risk,
otherwise stick to standard (RULE or Red Hat) images".

The second use, (the first I am interested in) is as analysis tool.
Something like that would make possible:

	to make decisions after install about what could be removed

	(even more important) "quality" checks of packages. If we
	find out that X.rpm carries on after itself 30 more megs of
        disk because (is the only package wich) requires Y.rpm,
        Z.rpm and W.rpm while actually needing only one file from
        each of them, we can contact the maintainer and ask him to
	patch the spec file of X.rpm.
	Similarly, if someBIGlib.rpm contains 100 files, but the first 50
        are only needed by gcc and the others only by Xfree, or only
	for Japanese support, we contact the maintainer and suggest
	splitting someBIGlib.rpm in two small pieces.

I have the feeling that both cases are quite frequent today. I can
personally report that the Xemacs rpm for RH 7.2 on www.rpmfind.net
gives a binary that will crash on an english system if the canna lib
for Japanese fonts are not on the system.

About how to do it, I was thinking to something like:

1) run rpm -q --requires, --whatrequires and others option on every
RPM in the three standard RH disks, dumping everything to a flat file.

2) Chew that file with Perl until it produces for every package the
information we need.

Of course I have still to figure out part 2.... OK, too late
tonight...

	Ciao,
		Marco Fioretti


-- 
They can't stop us... we're on a mission from God!
                -- The Blues Brothers

_______________________________________________
Rule Project HOME PAGE:  http://www.rule-project.org/rule/
Original Rule Development Site http://savannah.gnu.org/projects/rule/Rule-list at mail.freesoftware.fsf.org
http://mail.freesoftware.fsf.org/mailman/listinfo/rule-list



This full static mirror of the Run Up to Date Linux Everywhere Project mailing list, originally hosted at http://lists.hellug.gr/mailman/listinfo/rule-list, is kept online by Free Software popularizer, researcher and trainer Marco Fioretti. To know how you can support this archive, and Marco's work in general, please click here