Subject: pkg/32422: depends bin-installed automatically not flagged as automatic
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <nbgnats@anastigmatix.net>
List: pkgsrc-bugs
Date: 12/31/2005 07:10:00
>Number:         32422
>Category:       pkg
>Synopsis:       depends bin-installed automatically not flagged as automatic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Dec 31 07:10:00 +0000 2005
>Originator:     Chapman Flack
>Release:        pkgsrc-2005Q4
>Organization:
>Environment:
NetBSD lundestad.anastigmatix.net 2.0 NetBSD 2.0 (lundestad) #12: Thu Dec  8 18:40:35 EST 2005  xxx@xxx:/usr/src/sys/arch/i386/compile/lundestad i386

>Description:
A new feature in pkgsrc-2005Q4 and the latest pkg_install tools
should flag automatically-installed dependent packages.  For the
bin-install case, that should be done by these lines:

.if defined(_AUTOMATIC) && !empty(_AUTOMATIC:Myes)
_BIN_INSTALL_FLAGS+=	-a
.endif

Two problems. First, pkg_add doesn't have a -a flag; the new
flag for "automatic" is -A (upper case).

So why is no error message produced?  That's because the variable
_AUTOMATIC does not get set to the value yes; it's set to YES; so
the above code isn't executed anyway and that's why nobody caught
the -a.
>How-To-Repeat:
bin-install a package that is not available in binary form but whose
depends are. Observe that the depends (those installed by pkg_add)
are not flagged automatic (they show up in pkg_info -u, which they
shouldn't).
>Fix:
--- bsd.pkg.mk	2005-12-05 17:07:07.000000000 -0500
+++ bsd.pkg.mk	2005-12-31 01:57:32.000000000 -0500
@@ -3471,8 +3471,8 @@
 PKG_ARGS_ADD=		-W ${LOCALBASE} -w ${DEFAULT_VIEW}
 .endif
 _BIN_INSTALL_FLAGS=	${BIN_INSTALL_FLAGS}
-.if defined(_AUTOMATIC) && !empty(_AUTOMATIC:Myes)
-_BIN_INSTALL_FLAGS+=	-a
+.if defined(_AUTOMATIC) && !empty(_AUTOMATIC:MYES)
+_BIN_INSTALL_FLAGS+=	-A
 .endif
 _BIN_INSTALL_FLAGS+=	${PKG_ARGS_ADD}