| 25.1. | What is the difference between
	MAKEFLAGS,.MAKEFLAGSandMAKE_FLAGS? | 
|  | MAKEFLAGSare the flags passed
	to the pkgsrc-internal invocations of make(1).
 MAKE_FLAGSare the flags that are
	passed to theMAKE_PROGRAMwhen building the
	package.
 .MAKEFLAGSis an internal variable of
	bmake and should not be used by
	packages.
 | 
| 25.2. | What is the difference between
	MAKE,GMAKEandMAKE_PROGRAM? | 
|  | MAKEis the path to the
	make(1) program that is used in the pkgsrc
	infrastructure.
 GMAKEis the path to GNU Make, but you
	need to sayUSE_TOOLS+=gmaketo use
	that.
 MAKE_PROGRAMis the path to the Make
	program that is used for building the package.
 | 
| 25.3. | What is the difference between
	CC,PKG_CCandPKGSRC_COMPILER? | 
|  | CCis the path to the real C
	compiler, which can be configured by the pkgsrc user.
 PKG_CCis the path to the compiler
	wrapper.
 PKGSRC_COMPILERis
	not a path to a compiler, but the type of
	compiler that should be used. Seemk/compiler.mkfor more information about
	the latter variable.
 | 
| 25.4. | Why does make show-var
	VARNAME=BUILDLINK_PREFIX.foosay it's empty? | 
|  | For optimization reasons, some variables are only
	available in the “wrapper” phase and later. To
	“simulate” the wrapper phase, append
	PKG_PHASE=wrapper to the above
	command. | 
| 25.5. | What does
	${MASTER_SITE_SOURCEFORGE:=package/}mean? I
	don't understand the:=inside
	it. | 
|  | The :=is not an
	assignment operator, even though it may look like one.
	Instead, it is a degenerate form of${LIST:,
	which is documented in the make(1) man page and which is
	commonly used in the formold_string=new_string}${SRCS:.c=.o}. In the
	case ofMASTER_SITE_*,old_stringis the empty string andnew_stringispackage/. That's where the:and the=fall
	together. | 
| 25.6. | Which mailing lists are there for package
	developers? | 
|  | 
tech-pkgThis is a list for technical discussions related
	to pkgsrc development, e.g. soliciting feedback for changes to
	pkgsrc infrastructure, proposed new features, questions related
	to porting pkgsrc to a new platform, advice for maintaining a
	package, patches that affect many packages, help requests moved
	from pkgsrc-users when an infrastructure bug is found,
	etc.pkgsrc-bugsAll bug reports in category "pkg" sent with
	send-pr(1) appear here. Please do not report your bugs here
	directly; use one of the other mailing
	lists. | 
| 25.7. | Where is the pkgsrc
	documentation? | 
|  | There are many places where you can find
	documentation about pkgsrc: 
The pkgsrc guide (this document) is a collection
	of chapters that explain large parts of pkgsrc, but some
	chapters tend to be outdated. Which ones they are is hard to
	say.On the mailing list archives (see https://mail-index.NetBSD.org/), you can find discussions
	about certain features, announcements of new parts of the pkgsrc
	infrastructure and sometimes even announcements that a certain
	feature has been marked as obsolete. The benefit here is that
	each message has a date appended to it.Many of the files in the
	mk/directory start with a comment that
	describes the purpose of the file and how it can be used by the
	pkgsrc user and package authors. An easy way to find this
	documentation is to run bmake
	help.The CVS log messages are a rich source of
	information, but they tend to be highly abbreviated, especially
	for actions that occur often. Some contain a detailed
	description of what has changed, but they are geared towards the
	other pkgsrc developers, not towards an average pkgsrc user.
	They also only document changes, so if you
	don't know what has been before, these messages may not be worth
	too much to you.Some parts of pkgsrc are only “implicitly
	documented”, that is the documentation exists only in the
	mind of the developer who wrote the code. To get this
	information, use the cvs annotate command
	to see who has written it and ask on the
	tech-pkgmailing list, so that others can
	find your questions later (see above). To be sure that the
	developer in charge reads the mail, you may CC him or
	her. | 
| 25.8. | I have a little time to kill.
What shall I do? | 
|  | This is not really an FAQ yet, but here's the answer
anyway. 
Run pkg_chk -N (from the
    pkgtools/pkg_chkpackage).  It
    will tell you about newer versions of installed packages that are
    available, but not yet updated in pkgsrc.Browse pkgsrc/doc/TODO— it contains a list of suggested new packages and a list of
    cleanups and enhancements for pkgsrc that would be nice to
    have.Review packages for which review was requested on
    the tech-pkg
    mailing list. |