Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id AFDCB7A266
for
# Download vulnerabilities file @@ -1337,7 +1337,7 @@ fetch_pkg_vulnerabilities=YES check_pkg_vulnerabilities=YES
- see daily.conf(5) and security.conf(5) for more details. + see daily.conf(5) and security.conf(5) for more details.
If you invoke the make(1) command with +
If you invoke the make(1) command with
PKG_DEBUG_LEVEL=2
, then a huge amount of
information will be displayed. For example,
make patch PKG_DEBUG_LEVEL=2
@@ -1536,10 +1536,10 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10
including the “patch” stage.
If you want to know the value of a certain make(1) +
If you want to know the value of a certain make(1)
definition, then the VARNAME
definition
should be used, in conjunction with the show-var
- target. e.g. to show the expansion of the make(1)
+ target. e.g. to show the expansion of the make(1)
variable LOCALBASE
:
%
make show-var VARNAME=LOCALBASE
@@ -1552,11 +1552,11 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10 created yourself (see next section), that you put into pkgsrc/packages manually or that is located on a remote FTP server, you can use the "bin-install" target. This target will - install a binary package - if available - via pkg_add(1), + install a binary package - if available - via pkg_add(1), else do a make package. The list of remote FTP sites searched is kept in the variableBINPKG_SITES
, which defaults to - ftp.NetBSD.org. Any flags that should be added to pkg_add(1) + ftp.NetBSD.org. Any flags that should be added to pkg_add(1) can be put intoBIN_INSTALL_FLAGS
. Seepkgsrc/mk/defaults/mk.conf
for more details. @@ -1595,7 +1595,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10The whole pkgsrc system is configured in a single file, usually called
@@ -1741,7 +1741,7 @@ uid=1000(myusername) gid=100(users) groumk.conf
. In which directory pkgsrc looks for that file depends on the installation. On NetBSD, when you use -make(1) from the base system, it is in the directory +make(1) from the base system, it is in the directory/etc/
. In all other cases the default location is${PREFIX}/etc/
, depending on where you told the bootstrap program to install the binary packages.For the following command, you must be able to gain root - privileges using su(1) + privileges using su(1)
@@ -1982,7 +1982,7 @@ PKG_OPTIONS.apache= suexec6.1. Building a single binary package
Once you have built and installed a package, you can create a binary package which can be installed on - another system with pkg_add(1). This saves having to build + another system with pkg_add(1). This saves having to build the same package on a group of hosts and wasting CPU time. It also provides a simple means for others to install your package, should you distribute it.
@@ -2573,7 +2573,7 @@ but downloading the entire directory mayThe answer here is to do a make fetch-list in
/usr/pkgsrc
or one of its subdirectories, carry the
resulting list to your machine at work/school and use it there. If you
-don't have a NetBSD-compatible ftp(1) (like tnftp) at work, don't
+don't have a NetBSD-compatible ftp(1) (like tnftp) at work, don't
forget to set FETCH_CMD
to something that fetches a
URL:
At home:
@@ -2625,7 +2625,7 @@ the one that corresponds to your releaseWhen installing packages as non-root user and using the just-in-time
-su(1) feature of pkgsrc, it can become annoying to type in the root
+su(1) feature of pkgsrc, it can become annoying to type in the root
password for each required package installed. To avoid this, the sudo
package can be used, which does password caching over a limited time. To
use it, install sudo (either as binary package or from
@@ -2699,7 +2699,7 @@ perform a security check before building
CFLAGS
variable in your
mk.conf
, these flags are passed in
environment variables to the ./configure
- scripts and to make(1). Some package authors ignore the
+ scripts and to make(1). Some package authors ignore the
CFLAGS
from the environment variable by
overriding them in the Makefile
s of their
package.
PATCHFILES
above) if not found locally.
PATCH_DIST_STRIP
:
- an argument to patch(1) that sets the pathname strip count to
+ an argument to patch(1) that sets the pathname strip count to
help find the correct files to patch. It defaults to
-p0.
MAINTAINER
is the email
address of the person who feels responsible for this package,
and who is most likely to look at problems or questions regarding
- this package which have been reported with send-pr(1).
+ this package which have been reported with send-pr(1).
Other developers may contact the MAINTAINER
before making changes to the package, but are not required to
do so. When packaging a new program, set MAINTAINER
@@ -3856,13 +3856,13 @@ monitor_file(...)
INSTALL
This shell script is invoked twice by pkg_add(1). +
This shell script is invoked twice by pkg_add(1).
First time after package extraction and before files are
moved in place, the second time after the files to install
are moved in place. This can be used to do any custom
procedures not possible with @exec commands in
- PLIST
. See pkg_add(1) and
- pkg_create(1) for more information. See also Section 15.1, “Files and directories outside the installation prefix”.
+ PLIST
. See pkg_add(1) and
+ pkg_create(1) for more information. See also Section 15.1, “Files and directories outside the installation prefix”.
Please note that you can modify variables in it easily by using
FILES_SUBST
in the package's
Makefile
:
INSTALL
file.MESSAGE
Pkgsrc consists of many Makefile
fragments,
each of which forms a well-defined part of the pkgsrc system. Using
- the make(1) system as a programming language for a big system
+ the make(1) system as a programming language for a big system
like pkgsrc requires some discipline to keep the code correct and
understandable.
The basic ingredients for Makefile
programming are variables (which are actually macros) and shell
commands. Among these shell commands may even be more complex ones
- like awk(1) programs. To make sure that every shell command runs
+ like awk(1) programs. To make sure that every shell command runs
as intended it is necessary to quote all variables correctly when they
are used.
This chapter describes some patterns, that appear quite often in @@ -4042,7 +4042,7 @@ FILESDIR=${.CURDIR}/../xemacs/files target of a rule, always write the data to a temporary file first and finally rename that file. Otherwise there might occur an error in the middle of generating the file, and when the user runs - make(1) for the second time, the file exists and will not be + make(1) for the second time, the file exists and will not be regenerated properly. Example:
wrong: @@ -4060,11 +4060,11 @@ correct:wrong
will exist, although there was an error message in the first run. On the other hand, running make correct gives an error message twice, as expected. -You might remember that make(1) sometimes removes +
You might remember that make(1) sometimes removes
+ when one of the commands fails (like false(1) above).${.TARGET}
in case of error, but this only happens when it is interrupted, for example by pressing^C
. This does not happen - when one of the commands fails (like false(1) above).
Makefile
variables contain strings that
can be processed using the five operators ``='', ``+='', ``?='',
- ``:='', and ``!='', which are described in the make(1) man
+ ``:='', and ``!='', which are described in the make(1) man
page.
When a variable's value is parsed from a
Makefile
, the hash character ``#'' and the
@@ -4092,7 +4092,7 @@ correct:
In the other cases, it is evaluated lazily.
Some of the modifiers split the string into words and then operate on the words, others operate on the string as a whole. When - a string is split into words, it is split like in sh(1).
+ a string is split into words, it is split like in sh(1).There are several types of variables that should be handled differently. Strings and two types of lists.
Example 2 quotes the string so that the shell interprets it correctly. But the echo command may additionally interpret strings with a leading dash or those containing backslashes.
-Example 3 can handle arbitrary strings, since printf(1) only +
Example 3 can handle arbitrary strings, since printf(1) only interprets the format string, but not the next argument.
In example 4, the EXAMPLE_ENV
does not
need to be quoted because the quoting has already been done
@@ -4216,7 +4216,7 @@ install-examples: # produces a syntax
done
The shell only sees the text for egfile in ; do
, since
-${EGFILES}
is replaced with an empty string by make(1).
+${EGFILES}
is replaced with an empty string by make(1).
To fix this syntax error, use one of the snippets below.
EMPTY= # empty
@@ -4266,7 +4266,7 @@ the following code: $
“packing list”, i.e. a list of files that belong to
the package (relative to the ${PREFIX}
directory it's been installed in) plus some additional statements
- - see the pkg_create(1) man page for a full list.
+ - see the pkg_create(1) man page for a full list.
This chapter addresses some issues that need attention when
dealing with the PLIST
file (or files, see
below!).
@@ -4280,7 +4280,7 @@ the following code: $
An artificial space has been added between NetBSD and $, this is a workaround here to prevent CVS expanding to the filename of the guide. When -adding the RCS ID the space should be ommited.
+adding the RCS ID the space should be omitted.To use one or more files as source for the PLIST
used
in generating the binary package, set the variable
PLIST_SRC
to the names of that file(s).
- The files are later concatenated using cat(1), and the order of things is
+ The files are later concatenated using cat(1), and the order of things is
important. The default for PLIST_SRC
is
${PKGDIR}/PLIST
.
PKG_OPTIONS_VAR
is the name of the
-make(1) variable that the user can set to override the default
+make(1) variable that the user can set to override the default
options. It should be set to
PKG_OPTIONS.pkgbase
. Do not set it to
PKG_OPTIONS.${PKGBASE}, since PKGBASE
is not defined
@@ -5714,36 +5714,8 @@ details.
X11-based packages using imake must set
USE_IMAKE
to be installed correctly under
LOCALBASE
.
To determine the prefix of an
- installed package, the EVAL_PREFIX
- definition can be used. It takes pairs in the format
- “DIRNAME=<package>”, and the make(1)
- variable DIRNAME
will be set to the prefix
- of the installed package <package>, or
- “${PREFIX}” if the package is not
- installed.
This is best illustrated by example.
-The following lines are taken from
- pkgsrc/wm/scwm/Makefile
:
-EVAL_PREFIX+= GTKDIR=gtk+ -CONFIGURE_ARGS+= --with-guile-prefix=${LOCALBASE:Q} -CONFIGURE_ARGS+= --with-gtk-prefix=${GTKDIR:Q} -CONFIGURE_ARGS+= --enable-multibyte --
Specific defaults can be defined for the packages
- evaluated using EVAL_PREFIX
, by using a
- definition of the form:
-GTKDIR_DEFAULT= ${LOCALBASE} --
where GTKDIR
corresponds
- to the first definition in
- the EVAL_PREFIX
pair.
Within ${PREFIX}
, packages should
- install files according to hier(7), with the exception that
+ install files according to hier(7), with the exception that
manual pages go into ${PREFIX}/man
, not
${PREFIX}/share/man
.
.gz
are uncompressed before they are
applied, files ending in .orig
or
.rej
are ignored. Any special options to
- patch(1) can be handed in
+ patch(1) can be handed in
PATCH_DIST_ARGS
. See Section 11.3, “patches/*
” for more details.
-By default patch(1) is given special args to make +
By default patch(1) is given special args to make it fail if the patches apply with some lines of fuzz. Please fix (regen) the patches so that they apply cleanly. The rationale behind this is that patches that don't apply cleanly @@ -6205,7 +6177,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site defined.
In the install phase, the following
variables are useful. They are all variations of the
- install(1) command that have the owner, group and
+ install(1) command that have the owner, group and
permissions preset. INSTALL
is the plain
install command. The specialized variants, together with their
intended use, are:
Some other variables are:
INSTALL_UNSTRIPPED
If set to yes
, do not run strip(1)
+
If set to yes
, do not run strip(1)
when installing binaries. Any debugging sections and symbols present in
binaries will be preserved.
This target does a pkg_delete(1) in the +
This target does a pkg_delete(1) in the current directory, effectively de-installing the package. The following variables can be used to tune the behaviour:
PKG_VERBOSE
Add a "-v" to the pkg_delete(1) command.
Add a "-v" to the pkg_delete(1) command.
DEINSTALLDEPENDS
Remove all packages that require (depend on)
the given package. This can be used to remove any
@@ -6343,7 +6315,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site
DEINSTALLDEPENDS=1 is done in
pkgsrc/x11/kde
, this is
likely to remove whole KDE. Works by adding
- “-R” to the pkg_delete(1)
+ “-R” to the pkg_delete(1)
command line.
This target invokes pkg_info(1) for the current +
This target invokes pkg_info(1) for the current package. You can use this to check which version of a package is installed.
PLIST
. On upgrades, it's useful to
diff the output of this command against an already
existing PLIST
file.
-If the package installs files via tar(1) or +
If the package installs files via tar(1) or
other methods that don't update file access times, be
sure to add these files manually to your
Used during bulk-installs to install required
packages. If an up-to-date binary package is available,
- it will be installed via pkg_add(1). If not,
+ it will be installed via pkg_add(1). If not,
make bulk-package will be executed,
but the installed binary won't be removed. A binary package is considered
“up-to-date” to be installed via
- pkg_add(1) if:PLIST
, as the “find
@@ -6638,12 +6610,12 @@ builds)).
None of the package's files
(Makefile
, ...) were modified
@@ -6828,7 +6800,7 @@ TOOLS_PLATFORM.true?= true
variables in the file pointed to by MAKECONF
,
which is mk.conf
by default. When you
want to use those variables in the preprocessor directives of
- make(1) (for example .if
or
+ make(1) (for example .if
or
.for
), you need to include the file
../../mk/bsd.prefs.mk
before, which in turn
loads the user preferences.
Please note that the “pre-req-package-name” may include any of the wildcard version numbers recognized by - pkg_info(1).
+ pkg_info(1).If your package needs another package's binaries or @@ -7222,7 +7194,7 @@ CONFLICTS= bar-[0-9]* be set in the package Makefile. This will be carried into any binary package that is made from this pkgsrc entry. A “preserved” package will - not be deleted using pkg_delete(1) unless the + not be deleted using pkg_delete(1) unless the “-f” option is used.
WRKSRC
directory.
SUBST_SED.*
is a list of arguments to
- sed(1) that specify the actual substitution. Every sed
+ sed(1) that specify the actual substitution. Every sed
command should be prefixed with -e
, so that
all SUBST blocks look uniform.
There are some more variables, but they are so seldomly @@ -7554,7 +7526,7 @@ dynamic linker chooses the library with
When linking shared object (.so
)
- files, i.e. files that are loaded via dlopen(3), NOT
+ files, i.e. files that are loaded via dlopen(3), NOT
shared libraries, use “-module
-avoid-version” to prevent them getting version
tacked on.
When linking programs that depend on these libraries before they are installed, preface - the cc(1) or ld(1) line with “${LIBTOOL} + the cc(1) or ld(1) line with “${LIBTOOL} --mode=link”, and it will find the correct libraries (static or shared), but please be aware that libtool will not allow you to specify a relative path in @@ -7581,8 +7553,8 @@ ${LIBTOOL} --mode=link ${CC} -o and it will do the right thing with the libraries.
When installing libraries, preface the install(1)
- or cp(1) command with “${LIBTOOL}
+ When installing libraries, preface the install(1)
+ or cp(1) command with “${LIBTOOL}
--mode=install”, and change the library name to
This will install the static .la
. e.g.
@@ -7590,7 +7562,7 @@ ${LIBTOOL} --mode=install ${BSD_INSTALL_
.a
,
shared library, any needed symlinks, and run
- ldconfig(8).
In your PLIST
, include only
the .la
@@ -8642,10 +8614,10 @@ builds).
First, check that your package is complete, compiles and
runs well; see Chapter 20, Debugging and the rest of this
- document. Next, generate an uuencoded gzipped tar(1)
+ document. Next, generate an uuencoded gzipped tar(1)
archive that contains all files that make up the package.
Finally, send this package to the pkgsrc bug tracking system,
- either with the send-pr(1) command, or if you don't have
+ either with the send-pr(1) command, or if you don't have
that, go to the web page
http://www.NetBSD.org/support/send-pr.html,
which contains some instructions and a link to a form where you
@@ -8801,7 +8773,7 @@ instead of “PREV_PKGPATH to the previous category/package
pathname. The PREV_PKGPATH
can be used by tools
for doing an update using pkgsrc building; for example, it can
-search the pkg_summary(5) database for PREV_PKGPATH
+search the pkg_summary(5) database for PREV_PKGPATH
(if no SUPERSEDES
) and then use the corresponding
new PKGPATH
for that moved package. Note that
it may have multiple matches, so the tool should also check on the
@@ -8837,7 +8809,7 @@ place.
pkgsrc-users
mailing list.
22.1.
+22.1.
What is the difference between
MAKEFLAGS
, .MAKEFLAGS
and
@@ -8891,14 +8863,14 @@ do?
MAKEFLAGS
are the flags passed
- to the pkgsrc-internal invocations of make(1), while
+ to the pkgsrc-internal invocations of make(1), while
MAKE_FLAGS
are the flags that are passed to
the MAKE_PROGRAM
when building the
package. [FIXME: What is .MAKEFLAGS for?]
22.2.
+22.2.
What is the difference between
MAKE
, GMAKE
and
@@ -8907,7 +8879,7 @@ do?
MAKE
is the path to the
- make(1) program that is used in the pkgsrc
+ make(1) program that is used in the pkgsrc
infrastructure. GMAKE
is the path to GNU
Make, but you need to say USE_TOOLS+=gmake
to
use that. MAKE_PROGRAM
is the path to the
@@ -8916,7 +8888,7 @@ do?
22.3.
+22.3.
What is the difference between
CC
, PKG_CC
and
@@ -8934,7 +8906,7 @@ do?
22.4.
+22.4.
What is the difference between
BUILDLINK_LDFLAGS
,
@@ -8947,7 +8919,7 @@ do?
22.5.
+22.5.
Why does make show-var
VARNAME=BUILDLINK_PREFIX.foo
@@ -8963,7 +8935,7 @@ do?
22.6.
+22.6.
What does
${MASTER_SITE_SOURCEFORGE:=package/}
mean? I
@@ -8976,7 +8948,7 @@ do?
assignment operator, although it looks like it.
Instead, it is a degenerate form of
${LIST:
,
- which is documented in the make(1) man page and which is
+ which is documented in the make(1) man page and which is
commonly used in the form old_string
=new_string
}${SRCS:.c=.o}
. In the
case of MASTER_SITE_*
,
old_string
is the empty string and
@@ -8987,7 +8959,7 @@ do?
22.7.
+22.7.
Which mailing lists are there for package developers?
All bug reports in category "pkg" sent with - send-pr(1) appear here. Please do not report your bugs here + send-pr(1) appear here. Please do not report your bugs here directly; use one of the other mailing lists.
22.8.
+22.8.
Where is the pkgsrc documentation?
22.9.
+22.9.
I have a little time to kill. What shall I do?
GNU version of yacc. Can make re-entrant parsers, and numerous other -improvements. Why you would want this when Berkeley yacc(1) is part +improvements. Why you would want this when Berkeley yacc(1) is part of the NetBSD source tree is beyond me.Index: pkgsrc/doc/pkgsrc.txt diff -u pkgsrc/doc/pkgsrc.txt:1.236 pkgsrc/doc/pkgsrc.txt:1.237 --- pkgsrc/doc/pkgsrc.txt:1.236 Mon Feb 20 23:43:31 2017 +++ pkgsrc/doc/pkgsrc.txt Fri May 26 18:01:07 2017 @@ -3619,7 +3619,7 @@ Be sure to add a RCS ID line as the firs An artificial space has been added between NetBSD and $, this is a workaround here to prevent CVS expanding to the filename of the guide. When adding the RCS -ID the space should be ommited. +ID the space should be omitted. 13.2. Semi-automatic PLIST generation @@ -4775,27 +4775,6 @@ When choosing which of these variables t * X11-based packages using imake must set USE_IMAKE to be installed correctly under LOCALBASE. - * To determine the prefix of an installed package, the EVAL_PREFIX definition - can be used. It takes pairs in the format "DIRNAME=