The problem is not explained... RPM is actually doing it's job.
What happened is the following: through the evolution of building
and upgrading to the latest level (I participate on Mandrake's
cooker distro, I build the cooker distro on my alpha) packages
have been installed that caused dependacy issues. I maybe --nodeps
once or twice.

When I do a rpm -V for a package it comes up with a dependancy error.
The way to go around this is simple: uninstall the package, rebuild
it on the same system, and install the newly built package. Then the
dependancies are in order again. But this is a tedious task.*

> > Maybe there are some RPM experts on the list that can help me out
> > with this one. I beleive I've got a corrupt rpm database on my
> > alpha system (it's happened to me once B4). It now doesn't know much
> > about dependancies anymore, making upgrading packages difficult.

> ... for this, as you mention, one can try:
>    rpm --rebuilddb
Doesn't help...

> > It complains that all the packages dependant of the package you're
> > trying to upgrade need some kind of library contained withing the
> > package (you're trying to upgrade).

> > The libs needed are really there, I mean, what is the difference
> > between gnome-libs-1.1.2-1mdk and 2mdk?.

> One release level.  Please review the MAN page for RPM to
> better understand the naming conventions.
True... but the difference in the actual package (I looked at
the changelog and the filelists) is almost 0. The main difference
is that it was compiled at a different time on my system, while
other packages had been updated.*
 
> It does not appear that the databases are corrupt at all ---
> the small size databases are just all small (i.e., of a
> minimum allocation size.)
OK.

> Solving the rest of your installation Upgrade issue is a
> garden-variety cross-dependency issue --- run:

>   rpm -Uvh (several packages which are a cross-dependant)
 
> Start with one package listed -- add the others listed in the
> error message.  Eventually, you'll have all simultaneous
> cross-dependant packages on a single line, and it will
> work.  This is how RPM works.
Yup, I'm aware of this (and use it daily).

> We see this a lot in hot-version upgrades.  The method above
> works, but is a bit labor intensive.
True*

> Beyond that, any remaining missing packages are properly a
> Mandrake support question, and is Off Topic for this list.
;-) Well, I'd just like to look at it from a general rpm
point of view. When you do this while recompiling redhat's
rawhide (or any rpm-based distro that changeds alot) on a 
regular basis you'll probably get these problems.

>  I would confirm your caution that if one _starts_ using
> --nodeps and --force, RPM cannot protect the system.
This is what happened.

> Implicitly by using those options, you are saying that you
> know more than RPM as to whether a false dependency
> exists.  You are well advised to avoid that path.
;-)

> Good Luck.
Thanks!

* One more word on package building. When working on a distro
it's tough keeping everything consitant. What I'm actually 
looking for is a utility that does the following:

- Detects if a new src.rpm is found
- Removes the installed rpm of this src.rpm and all the packages
  that depend on it.
- Builds each of these packages in the order of dependancy and
  installs them when they're built.

I beleive somthing like this is the only way to combat dependancy 
issues when building... Redhat & Mandrake & SuSE probably have 
something like this already...

Thanks,

Stefan

Reply via email to