Re: dependency hell
- From: Paul J Gans <gans@xxxxxxxxx>
- Date: Sat, 22 Dec 2007 02:12:28 +0000 (UTC)
David Bolt <blacklist-me@xxxxxxxxxx> wrote:
On Fri, 21 Dec 2007, Paul J Gans wrote:-
takeout <user@xxxxxxxxxxx> wrote:
But I don't want to debate.
Then why post? You're going to get a debate whether you wanted one or
not.
Of course. What was clearly meant was that I was not going to
write 10 posts saying the same thing over and over again.
Just curious. So you don't think its a problem.
Would you say most Linux developers agree with you?
I think it is a problem and just said so in a previous post.
Or a few dozen previous posts.
Over a period of a year or so.
If you look closely at the conflicts, the installation of *some*
packages causes real conflicts. But many of the other conflicts
are just bunk.
Like? Do be specific then we can look and see if the conflicts really
are a load of bunk, or not.
I was specific.
Was it 10.2 that would not let you remove Firefox because it was
*required* for tons of programs.
Yes it was 10.2, and it wasn't that it was required for a "tons of
programs" but that it was "required" for a couple of patterns. Selecting
all the packages you wanted that would have been installed by those
patterns, but not selecting the patterns themselves, allowed the removal
of Firefox.
If you recall, I even did a screenshot to show it was possible, as well
as telling you how I did it. I also did the same to show that it was
possible to not install Open Office as well. The images are still on my
server and, if you'd like a refresher, you can still find them here:
<URL:http://www.davjam.org/~davjam/images/yast_snapshot_no_firefox.png>
<URL:http://www.davjam.org/~davjam/images/yast_snapshot_no_oo.png>
All this with Knoqueror the
default system browser. It was all crap.
You're entitled to that opinion. I think it was a case of you not
thinking what the goal was and finding a way to it. There are many ways
to one point but none of them involve sitting there and bitching about
how the choices SUSE made for what they believed was the most likely
satisfy the most users were not the perfect ones for you.
I'm sorry, but you have missed the point. It is not that
it *can't* be done. It is that there is no reason to have
to do it.
You will admit, I think, that just because openSUSE bundled
unrelated things into "patterns" they are not necessarily
depenedent on each other.
That being true, then why does YAST insist that there is a
depedency there? This is a serious bug. The dependency
of program A on program B means that A will NOT run without
B being present. That is clearly not the case with programs
in openSUSE patterns.
Just stop and think about that. Patterns are NOT dependencies.
Further, I was not talking about my problems with Firefox. I
was noting that Firefox in 10.2 is an example of a program that
can't be removed because of dependency hell. The Gimp is another
example.
Yes, I can work around them. And you were of help by pointing
out to me that openSUSE considered members of a PATTERN to be
dependent on each other. Once that was understood, the rest
was easy.
But it is still a bug. Worse, it is a bug that many other
distros do NOT have.
I like openSUSE. That's why I use it. That does not mean
that it is above criticism or that it has not problems.
I do not think that there is a real dependency data base.
There is. Just look at packages.gz files in the repositories. Those list
the dependencies for each package in the repository, including all the
requires and provides, so the dependency solver can sort them out.
No. This is not true. As you just said pointed out ALL members
of a pattered are given as dependent on each other. That means
that it is not a true dependency data base.
Working out true dependencies is quite difficult. Some dependency
chains may be circular, thus in fact making removal of any one
member of the chain impossible.
Instead
the system depends on the install lists. If program X is in what
openSUSE callss a "pattern", then it assumes that all those programs
depend on each other.
Have you actually done any packaging? Have you looked at the spec files
within an rpm? Or looked at the specification for the pattern files? If
you had, you'd know that was a load of bovine excrement.
A pattern lists several packages that are required to install that
pattern. It also lists suggested packages, that would possibly enhance
one of the other packages. It also lists the conflicts, so you know that
you can't install that pattern if it conflicts with another. There's
nothing that stops you from installing any of the packages that are
listed in a pattern and not installing the pattern itself.
Huh? Of course you can do that. But *IF* you install the entire
pattern, openSUSE complains about the removal of any one of them.
That's dependency hell. You've been in it yourself.
Worse: during an initial install the system wants to autoinstall
a bunch of patterns. During that install, one has other things
on one's mind than going through several hundred programs to decide
if one wants them or not.
I have also suggested, long ago, that one install choice should
be to install a minimum setup automatically. This should result
in a bootable system able to do updates and further installs.
Now that one knows that the install worked (it doesn't always),
one can go ahead and select packages to install.
As it is with 10.3, which I've installed on four machines so far,
I did the first two in two stages. I made sure the install worked,
erased the install and redid it, this time being careful about my
selection of packages. I should not have to do that.
On the other hand, I think it would be difficult to build and
maintain a real dependency data base.
If you mean one that consist of every package available, you're not
going to see one of those. The closest you're going to get is the one
created by zypper from all the different repositories it's told about.
No. That is not what I mean. First, take out the core libraries
that must (or should) be present. They are needed by (almost)
everything. Beyond that most packages do not have very many
dependencies. The dependency database should list only those
needed dependencies.
There is, for example, nothing in 10.2 or 10.3 that NEEDS firefox.
Thus one should be able to remove it without any complaints. Yast
installed it, yast should be able to make it go away.
However, as I said above, it *is* possible to have circular chains
of dependencies. Those are impossible to break.
--
--- Paul J. Gans
.
- Follow-Ups:
- Re: dependency hell
- From: David Bolt
- Re: dependency hell
- References:
- dependency hell
- From: takeout
- Re: dependency hell
- From: houghi
- Re: dependency hell
- From: takeout
- Re: dependency hell
- From: Paul J Gans
- Re: dependency hell
- From: David Bolt
- dependency hell
- Prev by Date: Re: failed shields up test
- Next by Date: Re: failed shields up test
- Previous by thread: Re: dependency hell
- Next by thread: Re: dependency hell
- Index(es):
Relevant Pages
|
|