Bug 225475

Summary: Need a QA check that dependency lines have the proper PKGNAME for the given port+FLAVOR.
Product: Ports & Packages Reporter: Bryan Drewery <bdrewery>
Component: Ports FrameworkAssignee: Port Management Team <portmgr>
Status: New ---    
Severity: Affects Only Me CC: ports-bugs
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224055

Description Bryan Drewery freebsd_committer 2018-01-27 00:01:42 UTC
For run/lib dependencies this can actually result in the package being incorrectly
created, or confusing poudriere's incremental rebuild handling.  Poudriere warns
about this but does not default to making it fatal, and ONLY does so for run/lib
depends.

A raw-ports/portmaster tree example would be if you make your python default to 3 and then a BUILD_DEPENDS had an incorrect line like:
    ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3
This might cause the py36-sqlite3 package to not be installed if py27-sqlite3
is already installed.

This bad line was fixed in www/firefox:

r455413 | jbeich | 2017-12-03 09:35:29 -0800 (Sun, 03 Dec 2017) | 11 lines

gecko: unbreak with non-default python version after r455210

$ make
[...]
Installing py36-sqlite3-3.6.3_7...
===>   firefox-57.0.1,1 depends on package: py27-sqlite3>0 - not found
*** Error code 1

PR:             224055
Submitted by:   Peter Wullinger

~/svn/ports # svn diff -c r455413 www/firefox
Index: www/firefox/Makefile
===================================================================
--- www/firefox/Makefile        (revision 455412)
+++ www/firefox/Makefile        (revision 455413)
@@ -22,7 +22,7 @@ BUILD_DEPENDS=        nspr>=4.17:devel/nspr \
                libvorbis>=1.3.5,3:audio/libvorbis \
                libvpx>=1.5.0:multimedia/libvpx \
                sqlite3>=3.20.1:databases/sqlite3 \
-               ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
+               ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
                v4l_compat>0:multimedia/v4l_compat \
                autoconf-2.13:devel/autoconf213 \
                yasm:devel/yasm \