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.
db1 was failing (on NetBSD-current 4.99.36) using rev. 1.19.
If this causes any issues, please do let me know; I committed
this because I didn't want this to be broken--and it definitely
seems less broken, i.e. it works, now than it was.
pkgs needing scrollkeeper compatible .omf install scripts get directed
to the replacement pkg (currently: rarian) even if scrollkeeper itself
is removed
duplicate them into the list of libraries. Someone may want to mix
static and dynamic linking.
Fixes PR#37228, approved by jlam.
jlam says that a better long-term fix would be to ensure that all
the -L specifications come before the -l specifications, instead
of moving all the -l specifications to the end of the command line.
one, via "make replace OLDNAME=oldpkgname".
Enhance replace-names to use OLDNAME if present. Move replace-names
target before replace-tarup, and change replace-tarup to use the
computed oldname. Make deinstall respect OLDNAME.
Tested on netbsd-current with standard make replace and with OLDNAME.
REPLACE_INTERPRETER takes place before the portability check. Shell
scripts that will use bash anyway do not need to be checked for
portability problems.
has not been supported by pkgsrc up to now.
This changes adds a PLIST macro @imake-man that expands to zero, one or
two lines, depending on the value of IMAKE_MANINSTALL. Packages must
explicitly have the macro in the PLIST files to use this feature. Since
currently no package has that, this change doesn't affect anything at
all by now.
TODO: The platforms' definitions for IMAKE_MANINSTALL and the other
definitions like IMAKE_MAN_SUFFIX need to be adjusted.
checked, which is handled the same by every implementation of test(1).
Removed the comment saying that absolute directories can be handled. It
doesn't work.
This works very straightfoward; create set of symbolic links of *.el / *.elc
files under ${BUILDLINK_DIR}/share/emacs. At configure and build stage,
emacs / xemacs binaries run with the EMACSLOADPATH pointed to there. This
should work because those EmacsLisp packages assume the Emacs / XEmacs program
running at build time and that running after installation are identical and
the task looking for other *.el / *.elc files is Emacs / XEmacs's business.
I have tested only Emacs 21 and Emacs 22. XEmacs should work ... at least
XEmacs supports EMACSLOADPATH too if grep worked correctly.
While here change the following:
* Provide {FOR,NOTFOR}_emacs_{x,nox} switches to be used in PLIST.
* Add the xemacs214nox entry.
* Clean up "leim" handling code; avoid .if ... .endif as far as possible.
as reported in PR 29620 and compatible version have unresolved security issues.
Drop dependency on ns-flash and remove NS_NO_FLASH variable.
Bump PKGREVISION of navigator/communicator.
then automatically generate a PLIST that says "${PKGNAME} has no files".
* If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile,
and no PLIST files exist, then fail during the package build with
PKG_FAIL_REASON.
* Remove "intentionally empty" PLISTs again.
Now, the easy way to say that a package installs no files is to just
add the following to the package Makefile:
PLIST_SRC= # empty
that directly manipulate empty PLISTs.
Modify plist/plist.mk so that if the PLIST files are missing and no
GENERATE_PLIST is defined, then the package fails to build.
(new) UNPRIVILEGED_GROUPS list.
In addition, the value of UNPRIVILEGED_GROUPS is defaulted to all the
groups the installing user is a member of, in a similar mold to
UNPRIVILEGED_GROUP and UNPRIVILEGED_USER.
This allows non-root installations of packages that have special group
requirements but no special user requirements, so long as the installation
user has been given the necessary group membership.
Raised on tech-pkg @ 2007/10/14.
usually the same on the supported platforms.
The reason for having duplicate code in these files is to make it easier
to port pkgsrc to a new platform: You just have to copy one of the
existing platform files and edit the values in it. With some values
factored out, you would have to look at one more file.
Pointed out by agc@.
platforms, mainly because it wouldn't have made sense to document the
variables in one of those files, but they need to be documented
somewhere.
Added the file defaults.mk, which now serves as the reference document
which provides useful default values and _explains_ the variables.
using the += operator, not the simple = operator, in mk.conf. That way
we can mark packages as having open source licenses without disturbing
the users.
separating LOWER_OPSYS and LOWER_OPSYS_VERSUFFIX, since numbers are now
removed from LOWER_OPSYS when forming MACHINE_GNU_PLATFORM.
Fix the remaining to platforms: Interix and IRIX.
into ${LOWER_OPSYS_VERSUFFIX}.
When assigning GNU_MACHINE_PLATFORM, strip numerical characters from
LOWER_OPSYS. (final component is eg. osf5.1 not osf15.1)
installed by devel/ccache can be used. This is especially important for
cross-builds.
Documented IGNORE_CCACHE.
Fixed the double use of the directory ${WRKDIR}/.ccache, which was used
both as wrapper directory and as cache directory.