tech-pkg: Thoughts on dependency information

Subject: Thoughts on dependency information
To: None <tech-pkg@netbsd.org>
From: Masao Uebayashi <uebayasi@soum.co.jp>
List: tech-pkg
Date: 03/05/2002 15:45:30
Now dependency information of an installed package is very limited and
insufficient to describe the real dependency of the package.
IMO, there are three relations of packages in the current Pkgsrc
framework.
 1) What package/version is required to use a package. This
 information is used while running make(1). The version
 information may have range. For example, gdk-pixbuf-gnome
 (graphics/gdk-pixbuf-gnome) has a dependency to gdk-pixbuf
 (graphics/gdk-pixbuf). The line looks
 BUILDLINK_DEPENDS.gdk-pixbuf= gdk-pixbuf>=0.10.1
 Meaning the requirement to gdk-pixbuf has version range >=0.10.1.
 2) What package/version a binary package is built with. A package is
 built with a certain version of another. After build, the version
 requirement has no range. For example, if gdk-pixbuf-gnome is
 built with gdk-pixbuf-0.10.2, the resulting binary package
 `gdk-pixbuf-gnome-X.Y.Z.tgz' is built with gdk-pixbuf-0.10.2.
 I think that information described in building procedures
 (makefiles) is kind of ``type'' and each binary package is an
 instance. If you have an introductory book on object oriented
 methodology, you may be able to find some statements that a
 relation of types (classes) is called an ``association'' and a
 relation of instances a ``link''.
 I'm not claiming I'm an expert of OO. The point is, the above two
 are distinct.
 3) What package a installed package requires. An installed package
 may have some links to other installed ones. This is used for
 administrative purpose. This is what +REQUIRED_BY holds.
I think current binary package format has poor information, it has
only 3). I guess adding 1) and 2) in binary packages is not so hard
(and not so big), alhough they have no real purpose now.
Regards,
Masao

AltStyle によって変換されたページ (->オリジナル) /