Subject: Re: DEPENDS semantics changed silently
To: Hubert Feyrer <hubert@feyrer.de>
From: Alistair Crooks <agc@pkgsrc.org>
List: tech-pkg
Date: 02/09/2006 09:07:43
On Thu, Feb 02, 2006 at 02:28:38AM +0100, Hubert Feyrer wrote:
>
> Once upon a time, setting DEPENDS allowed an optional third value as the
> target that's executed, i.e.
>
> DEPENDS+= foobar:../../foos/foobar:extract
> ^^^^^^^^
>
> would only extract the foobar sources. Apparently this feature disappeared
> (including its documentation, as far as I've found?), but nothing was
> added to ensure either backward compatibility or an appropriate error
> message. Code relying on the old behaviour will just not work.
>
> Maybe whoever removed this feature wants to go and add the needed error
> message.
You have a good memory.
This was changed in revision 1.73 of bsd.pkg.mk:
revision 1.73
date: 1998/04/22 14:22:46; author: agc; state: Exp; lines: +27 -33
Remove the old deprecated DEPENDS definition from bsd.pkg.mk.
Implement a new DEPENDS definition, which looks for an installed
package, building it if not present, and use it in preference to
LIB_DEPENDS. This should make the package collection more useful on
NetBSD ELF ports.
If you still have packages around from before April 1998, I think you'll
be running into more problems than simple DEPENDS syntax ones.
Regards,
Alistair
PS. The comment in the code of rev 1.73 explained it:
@@ -196,9 +196,10 @@
# No special backslashes are needed to escape regular
# expression metacharacters in NetBSD, and the old backslash
# escapes are recognised for backwards compatibility.
-# DEPENDS - A list of other ports this package depends on being
-# made first. Use this for things that don't fall into
-# the above two categories.
+# DEPENDS - A list of prerequisite packages. The format of this
+# entry is "pkgname:dir". If the package is not
+# installed, then it will be built and installed from the
+# source package in "dir".
# EXTRACT_CMD - Command for extracting archive (default: tar).
# EXTRACT_SUFX - Suffix for archive names (default: .tar.gz).
# EXTRACT_BEFORE_ARGS -