[wpkg-users] [Bug 117] Dependencies ignore priority

bugzilla-daemon at bugzilla.wpkg.org bugzilla-daemon at bugzilla.wpkg.org
Fri May 9 18:47:45 CEST 2008


http://bugzilla.wpkg.org/show_bug.cgi?id=117





--- Comment #9 from Frank Lee <rl201 at cam.ac.uk>  2008-05-09 18:47:33 ---

> I clearly have to state here that a dependency clearly means to me that a
> package really does not work at all if the package it depends upon is not
> installed.

Aha, this is where the problem is then: we understand different things by the
same term.

> For example I use dependencies on a package called "shortcut" which itself has
> very low priority as it is not a user program important to be on the system for
> users. However the applications which depend on it will fail to install (or at
> least to create the shortcuts) if this program is not installed. So for me this
> is a dependency.

I would also call this a dependency. But I would say a tool which is used to
install programs ought to have a higher priority than the programs which use
it!

> Each time an application which depends on "shortcut" is installed it makes sure
> "shortcut" is actually installed properly (before).

So WPKG might end up doing lots of checks it didn't need to do? (Not a huge
problem I guess...)

> If it wouldn't do that then I could also simply omit the dependency. However I
> would have to add both packages to the profile then.
> In my eyes you're not talking about real dependencies. You're talking about
> includes! So you say that if a package is installed another one is
> automatically pulled to the profile (regarding its priority).

Okay, I'm happy to call them "includes".

> There is anyway an ongoing discussion for "chained installations" (see Bug
> 111).
> To me it looks like your goal would simply be to "pull" some packages to the
> profile which are not actually add to the profile. Each package should be able
> to pull some other packages while the install order completely depends on the
> package priorities.
> To allow this I would clearly add a new XML node like <include... />.

I'm happy to do that (again) - but perhaps I should be much clearer about what
I intend it for this time!

> I am absolutely against re-defining the meaning of dependencies as I totally
> disagree that dependencies should be related in any way to priorities.

So was I, but the meaning of dependencies has already changed from the original
meaning.

> In general I don't like priorities at all (almost all my packages have priority
> 50). Why? It's quite simple - if one uses a proper dependency management it
> would even be possible to install all packages in parallel. But this only works
> if you know all the dependencies between them because some of them have to wait
> until others are finished (no matter what their priority is).

I'm not so sure - none of my packages depend (in my meaning or yours!) on the
virus scanner. But I want the virus scanner to be installed first, so it has a
high priority.

> Hava a look at Unix init scripts. Older systems are based on priorities which
> are controlled by the file name. This does not allow to start multiple scripts
> in paralle. All newer systems (look at Gentoo or BSD) define dependencies
> between modules and allow to run them independently. This works perfectly if
> dependencies are inserted properly. OK, I have to admit that parallel package
> installation is not so easy (Windows installer does not work in parallel) but
> you get the idea.

I get the idea - it's a nice analogy.

> Bug 111 goes into a slightly different directory. It asks for chained
> installation. Therefore the algorithm using dependencies, includes and chained
> installations would be as follows (simplified):
> 
> - add included packages of all applying packages to the profile
> - sort packages
> - start installation
> - check for dependencies, install them if required
> - install actual package
> - run chained packages in order
> 
> Again, cheined packages will not regard priorities as a package with very high
> priority will also install a chained package even with lowest priority before
> proceeding to the next package.

I could find a use for what I think of as 'depends for installation', I'm sure!

> Again, dependencies are called dependencies since the package specifying the
> dependency really needs the specified package to run or even to install. So I
> will not change that as it will potentially break a lot of systems.

They're not! They're called dependencies because the debian package management
system uses the same syntax and at the time I wanted what the debian package
management provided. In fact, the first implementation of it even had a
comma-separated list of packageIDs, rather than XML entities, just as the
debian syntax! The debian equivalent of what they have become is 'Pre-Depends'.
(The terminology is unhelpful: I don't suggest we adopt it!)

Yours,

Frank


-- 
Configure bugmail: http://bugzilla.wpkg.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the wpkg-users mailing list