This is something I added in 2011 (I think) to bsd.port.subdir.mk
if FULLPATH=Yes, a FULLPKGPATH like
SUBDIR=cat/location
will give you the EMPTY flavor for that location instead of the DEFAULT flavor.
I'm now questionning whether this actually makes senses considering the changes
I was making at the time.
Specifically: after setting up everything for a dependency, I started calling
"make _print-metadata" on each dependency, which yields the triplet:
"FULLPKGNAME PKGSPEC FULLPKGPATH"
(where FULLPKGPATH is normalized, so there are no "default flavors" whatsoever
but everything is fully spelled out everytime instead)
I'm now thinking that this is a useless remnant of a former age: most stuff
(if not all) that asks for dependencies is going to get through this.
The main entry point to look for this is "print-package-args" in bsd.port.mk
whiche yields the run-depends-args dependency, and "lib-depends-args" +
"wantlib-args"
(both go through variables for various reasons, the main one being that
lib-depends-args trims stuff to actually needed libs, whereas check-lib-depends
needs a "fuller" gamut just in case).
The following patch will completely neuter FULLPATH.
There are a few uses of this in the ports tree. The main one being pkg_create.
If this actually breaks, register-plist will be very unhappy in a bulk build.
It's also used in update-plist (FULLPATH=No, lol) and in check-lib-depends
and pkg_outdated, so it might be that some usage will break.
I do remember changing all this over a short period of time, but I can't
seem to recall any reason FULLPATH should still be relevant.
So, if possible I would very much like to get rid of it along with some of
the added complexity.
If I don't get any negative reports under (say) a week, I will consider
committing this and waiting for the shit to hit the fan.
Index: bsd.port.subdir.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/bsd.port.subdir.mk,v
retrieving revision 1.111
diff -u -p -r1.111 bsd.port.subdir.mk
--- bsd.port.subdir.mk 17 Dec 2018 18:06:05 -0000 1.111
+++ bsd.port.subdir.mk 5 Jul 2022 14:10:09 -0000
@@ -56,13 +56,6 @@ ARCH ?!= uname -m
ECHO_MSG ?= echo
-FULLPATH ?= No
-.if ${FULLPATH:L} == "yes"
-_FULLPATH = true
-.else
-_FULLPATH = false
-.endif
-
# create a full list of SUBDIRS...
.if empty(PKGPATH)
_FULLSUBDIR := ${SUBDIR}
@@ -113,7 +106,7 @@ _subdir_fragment = \
esac; \
fi; \
${_SKIP_STUFF}; \
- sawflavor=${_FULLPATH}; \
+ sawflavor=false; \
if ${_pflavor_fragment}; then \
eval $${echo_msg} "===\> $$subdir"; \
if ! (eval $$toset exec ${MAKE} $$target); then \