[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFC] managing dependencies with levels



On Fri, May 18, 2001 at 02:00:30PM +0200, Arthur Korn wrote:
> Thierry Laronde schrieb:
> > level of package = max {level of dependencies} + 1
> 
> > The install tools simply has to install packages in increasing level
> > numbers. All packages having the same level can not, by definition, have any
> > circular dependencie, since this will mean that they depend on a package of
> > the same level thus that they have at a level of a greater value.
> 
> And that's exactly the problem, because dpkg allows circular
> dependencies. The following works:
> 
> Package: msyslog
> Depends: syslog-common
> 
> Package: syslog-common
> Depends: msyslog

No, because the verification is made when the package is created, not by the
installation tool.

If a Level is not set, the Level computed which depends on that level is not
set neither :

Level=
maxlevel=
for package in dependencies
  do
    level=`get_Level $package`
	if [ -z "$level" ]
	  then
	    echo "Package has unmet dependencies"
		break;
	  else
	    maxlevel=`max $maxlevel $level`
	fi
  done
[ ! -z "$maxlevel" ] && Level=$(($maxlevel + 1))

So the Level is computed _at build time_. A package depending on packages
that can be built (they depend on packages which Level can not be computed)
can not be built.
-- 
Thierry LARONDE, Centre de Ressources Informatiques, Archamps - France
http://www.cri74.org
PingOO, serveur de com sur distribution GNU/Linux: http://www.pingoo.org



Reply to: