[IDEA] How to represent package version dependencies?

Xin LI delphij at frontfree.net
Sat Feb 26 12:45:47 GMT 2005


Hi, folks,

It seems that we have some controllable knobs for ports that is very
commonly used, for instance, gcc.  We have:

USE_GCC=3.4

So the system will build gcc 3.4 when necessary.  However, it seems that
there is no way to represent package version dependencies, for example,
a software depends on gal 2.2.4+ to function correctly, we don't have
some mechanism to detect this earlier, and the build process bounces at
the configure stage.

Pros for having version dependencies:
 - More user friendly.  A `make depends', for instance, can tell the
user whether there are something that must be upgraded.  It's far better
than just bouncing from the configure process.
 - Better package.  Since we have the information, package tools can be
warned before installing/updating packages, and give useful advise.

Cons for having the feature:
 - Maintenance will need more work.  There is no apparent way to
determine whether the specified version is accurate (e.g. will lower
version work?)
 - Some more work must be done in the current package tools to make use
of the information.

My thought is that we add an optional component to the current DEPENDS
specifier.  The scheme might be:
	file:package[:least_version]

When building package, and least_version is omitted, then the
registration will use the version that is installed on the system.

Any suggestions?  Or is this totally not useful?

Thanks in advance!

Cheers,
-- 
Xin LI <delphij delphij net>  http://www.delphij.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: 
	=?UTF-8?Q?=E8=BF=99=E6=98=AF=E4=BF=A1=E4=BB=B6=E7=9A=84=E6=95=B0?=
	=?UTF-8?Q?=E5=AD=97=E7=AD=BE=E5=90=8D=E9=83=A8?= =?UTF-8?Q?=E5=88=86?=
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20050226/b0dc1011/attachment.bin


More information about the freebsd-ports mailing list