files. These variables are currently usable if ${SETGIDGAME} == yes.
These variables should be used when describing ownership of files
and directories to the pkginstall framework, e.g.
SPECIAL_PERMS= bin/foogame ${GAMES_USER} ${GAMES_GROUP} 2555
+ Rename SETGID_GAME_PERMS to SETGID_GAMES_PERMS because the default
group name is "games".
+ Define SETGID_GAMES_PERMS in terms of GAMES_USER and GAMES_GROUP so
that these names are protected from the normal flow of unprivileged.mk.
This fixes the +INSTALL scripts in "user-destdir" packages to
correctly refer to the games:games instead of the user:group of the
user that built the packages.
terminal library other than the one we specify.
+ Also look for "termlib" as some systems have that. Note that we need to
make the library search more sophisticated to work correctly on more
exotic platforms.
always be used in other builtin.mk files.
+ In the USE_BUILTIN.* == "yes" case, set BUILDLINK_LIBNAME.* to the
corresponding BUILTIN_LIBNAME.* value so that BUILDLINK_LIBNAME.*
can always be used in other buildlink3.mk files.
that need basic termlib functionality, i.e. tgetent(), tgoto(),
tputs(), etc. Together with the termlib.builtin.mk file, they will
use either a built-in termcap library, a built-in X/Open "enhanced"
curses library, or ncurses to provide these functions.
+ Add BUILDLINK_LIBNAME.* definitions to the various curses buildlink3.mk
and builtin.mk files that give the "base" library name of the curses
library, e.g. curses, ncurses, etc. These are used by the termlib
files to set BUILDLINK_LIBNAME.termlib.
that include curses.buildlink3.mk. Generally, the rule is not to set
CURSES_DEFAULT unless it's to set it to "ncurses" or "pdcurses".
# Example mk.conf settings and their results.
# Use the system curses.
PREFER_NATIVE= yes # default value
CURSES_DEFAULT= curses # default value
# Use system "ncurses" if it's available, otherwise use devel/ncurses
# from pkgsrc.
#
PREFER_NATIVE= yes # default value
CURSES_DEFAULT= ncurses
# Use devel/ncurses from pkgsrc.
PREFER_PKGSRC= yes
# Use devel/pdcurses from pkgsrc.
PREFER_PKGSRC= yes
CURSES_DEFAULT= pdcurses
# This causes a package build failure because there is no pkgsrc
# curses.
#
PREFER_PKGSRC= yes
CURSES_DEFAULT= curses
used by packages that need curses. From curses.buildlink3.mk:
CURSES_DEFAULT
This value represents the type of curses we wish to use on the
system. Setting this to "curses" means that the system curses
implementation is fine.
Possible: curses, ncurses, pdcurses
+ Move all code to detect a built-in version of curses into a
curses.builtin.mk file.
+ Add code to {n,pd}curses/buildlink3.mk so make the headers and
libraries usable as <curses.h> and -lcurses if _PKG_USE_CURSES is
defined. _PKG_USE_CURSES is only defined by curses.buildlink3.mk.
+ Improve the detection of native ncurses in ncurses/builtin.mk and
allow headers and libraries to be usable as <ncurses.h> and -lncurses.
in the feature test.
This should fix PR pkg/33012 and PR pkg/35293.
It maybe fixes PR pkg/37941 and PR pkg/37409.
I will go through the packages mentioned and see if any of them are
shared libraries (then they cannot use static nbcompat getopt_long but
must use libgetopt instead.)
the INSTALL_UNSTRIPPED variable. By default, this check is disabled, so
that it does not cause any breakage.
NB: The file(1) command needs the explicit locale to prevent translated
messages. This file is copied from check-interpreter.mk.
embedded path to the HOME directory can be a security problem if, say,
the package looks in the HOME directory of an unprivileged user for
configuration files.
Note that this has the potential to cause some short-term fallout.
Just because a package has BSD style Makefile doesn't mean it has manpages.
A sweep of packages with USE_BSD_MAKEFILE=yes is forthcoming;
USE_TOOLS+=groff nroff will be added where appropriate.
Also, change the logic so that the construct:
USE_TOOLS+= groff nroff
means:
"iff groff is to be provided by textproc/groff, then nroff is
also to be provided by textproc/groff".
This provides a sane mechanism to express need for GNU nroff.
This is part one of fixing packages that set USE_BSD_MAKEFILE=yes
on SunOS. (bsd.man.mk needs an nroff that understands -mandoc)
name which isn't correct, and the "Value of SrcDir" that is used is not
important to any pkgsrc user. Instead, let the pkgsrc infrastructure
print the package name.
PATH, in which it is not directly preceded by a quote character:
#define GDM_USER_PATH "/usr/bin:/bin:${exec_prefix}"
Catch this by complaining about "${" also when it appears after a colon.
Since this check is still disabled by default, it will not surprise anyone.
This way, file modifications cannot go unnoticed and at least appear in
the build logs. While here, fixed an ambiguity in the description of
SUBST_MESSAGE.
has proven too unreliable in the past. For example, some Makefile.in
files were classified as "Quake I or II world or extension", just
because they happen to start with the letters "PACK". This method was
also subject to subtle differences in the locale.
The new method counts the number of NUL bytes in the file. It does not
depend on the locale settings. The -c option of wc(1) counts bytes, not
characters, and tr(1), which may interpret multibyte sequences, is
protected by LC_ALL. It should also work with the historical
implementations of tr(1) that could not handle NUL bytes and discarded
them, since this is exactly the intention.
See also:
* http://mail-index.netbsd.org/tech-pkg/2006/07/05/0000.html
* PR 37793
ago ...
XXX: I would enable /bin/ksh as bmake's default shell but it fails on
one of the bmake unit tests. Will need to figure out why ...
Maybe some day we can provide a posixly correct shell as part
of the bootstrap process.
possible to create the package file using a temporary file first, and if
everything has succeeded, to rename it to the real name. This time, I
tested it creating various binary packages and installing them
afterwards, so I'm pretty sure it works now.
running "bmake help topic=:index" now. This change is in preparation of
importing this help into the pkgsrc guide. There are still too many
false positives to be useful.
it had severe consequences: pkg_create gets lots of information from the
filename into which the package is written. The extension decides what
compression to apply, and the basename gets recorded as the @name. This
part needs more work.
Noticed by stoned@.
everything went well, rename it to the real name. That way, it is less
likely that broken binary packages are created. It is a common
assumption that binary package files, if they exist, are usable.
An example for a broken binary package is security/sudo-1.6.9p10, in
which sbin/visudo wasn't readable when creating the package as an
unprivileged user.
* Add DOWNLOAD_VULN_LIST var
* Get AUDIT_PACKAGES and DOWNLOAD_VULN_LIST to point to the right binaries
taking into consideration OPSYS and pkg_install version
* Replace all references to audit-packages and download-vulnerability-list
with AUDIT_PACKAGES and DOWNLOAD_VULN_LIST
and netbsd32_compat40 packages. The compat40 packages are currently
built by comparing the 4.0 release against the 20071230 version of
HEAD.
Commit approved by <agc>.
depended on because it is not used. Work around it for now by checking
that the target is actually non-empty explicitly. This is still simpler
than the original code. After the branch, this will be reordered so that
it only gets set to non-default values when it will be used.
There are three types Mozilla mirrors.
(http://www.mozilla.org/mirroring.html)
* mozilla-current
contains only the current version of Firefox and Thunderbird
* mozilla-release
contains Firefox, Thunderbird, and Sunbird releases
* mozilla-all
complete archive
Define following variables for mozilla master sites:
MASTER_SITE_MOZILLA_ALL = mozilla-all
MASTER_SITE_MOZILLA = mozilla-release
and change some packages to use appropriate variable.
Update contents of MASTER_SITE_MOZILLA with master and primary mirrors
taken from http://www.mozilla.org/mirrors.html and add some sample definitions.
variable is much more comfortable than specifying all the directories in
INSTALLATION_DIRS that using such a long name for it feels like a
punishment. It also doesn't look nice in the package Makefiles, for
example:
old:
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man8
new:
AUTO_MKDIRS= yes
The variable INSTALLATION_DIRS_FROM_PLIST will be deprecated slowly.
CONF_FILES, CONF_FILES_PERMS, REQD_FILES, REQD_FILES_PERMS is wrong.
NB: The code doesn't read like "shift 5 || error_out" since NetBSD's
shell exits if a shift fails in this case, instead of just reporting an
error.
Fixes PR 37489.
I didn't fix the code in pkglint (which was suggested in the PR) since
it seems too complicated to me. There is no support for a
"MultipleShellWords" data type by now, and pkglint would have to know
that SETUID_ROOT_PERMS is of type "ThreeShellWords: Username, Groupname,
Filemode". That's too much work and doesn't look nicely.
and then call it as a shell function. Note that the shell function is
not called "cache", since some shells have problems when a function has
the same name as a variable.
This speeds up the wrapper by as little as 75 percent for the final link
command of editors/abiword on SunOS-5.10-sparc (before: 20 seconds,
after: 5 seconds).
As proposed on pkgsrc-users@...
- Introduce NAGIOSDIR, defaults to VARBASE/spool/nagios, for log
and status files.
- Drop unused(?) 'nagadmin' user and group.
- Sync user and group handling with Nagios install
documentation/recommendations. Introduce the Nagios "external
command" group, NAGIOSCMD_GROUP, defaults to APACHE_GROUP. The
Nagios user should be manually added after package installation to
the NAGIOSCMD_GROUP group. Add this recommandation to the MESSAGE
file. Make the "external command directory", NAGIOSDIR/rw, owned
by NAGIOS_USER:NAGIOSCMD_GROUP.
- Use /var/run/nagios.lock as pidfile.
- Only install existing example configuration files.
- Put default values of NAGIOSDIR, NAGIOS_USER, NAGIOS_GROUP and
NAGIOSCMD_GROUP in mk/defaults/mk.conf and allow MAKECONF to
override them.
- Miscellaneous clean up and sync with the changes mentionned above.
- When deleting the package allow removal of directories shared
with other Nagios packages to fail.
The later is shell script which tries to execute "<current-dir>/flex"
under Mac OS X Leopard. This resulted in an endless loop caused by
the buildlink wrappers.
This is backward compatible with at least Mac OS X Tiger where
"/usr/bin/lex" and "/usr/bin/flex" are identical.
CONF_FILES and similar exist, since the pkginstall framework skips them
silently, which is not a good idea.
For example I just installed dovecot, and there was neither a
configuration file installed nor a message that a configuration file
exists at all.