makeinfo commands.
The goal of the new framework is twofold:
- reduce the number of '@exec' and '@unexec' in PLIST by
using INSTALL/DEINSTALL scripts to handle entries addition/removal
Info directory file.
- achieve lighter dependencies by avoiding unnecessary run-time
dependency on the gtexinfo package and if needed with the help of the
standalone install-info command provided by the recently imported package
pkgtools/pkg_install-info.
A package must be sightly updated to use this new framework and
must define the variable USE_NEW_TEXINFO. This variable will
be removed from the pkgsrc tree when all package would have been
updated.
For details see section 10.24 of Packages.txt, comments in
mk/{texinfo.mk,buildlink2/bsd.buildlink2.mk} and upcoming mail to
<tech-pkg at netbsd dot org>.
archives for better tracking and archiving:
11.1 Submitting your packages
=============================
...
* packages:
First, check that your package is complete, compiles and runs well; see
section 9 and the rest of this document. Next, generate an uuencoded
gzipped tar(1) archive, preferably with all files in a single directory.
Finally, send-pr(1) with category "pkg", a synopsis which includes the
package name and version number, a short description of your package
(contents of the COMMENT variable or DESCR file are OK) and attach the
archive to your PR.
If you want to submit several packages, please send a separate PR for
each one, it's easier for us to track things that way.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
=================================================
There are several reasons why a package might be instructed to not
build under certain circumstances. If the package builds and runs
on most platforms, the exceptions should be noted with NOT_FOR_PLATFORM.
If the package builds and runs on a small handful of platforms,
set ONLY_FOR_PLATFORM instead. If the package should be skipped
(for example, because it provides functionality already provided
by the system), set PKG_SKIP_REASON to a descriptive message. If
the package should fail because some preconditions are not met,
set PKG_FAIL_REASON to a descriptive message.
IGNORE is deprecated because it didn't provide enough information
to determine whether the build should fail.
The logic is:
- if package defines USE_PKGLOCALEDIR and PKGLOCALEDIR is not 'share' as GNU
autotools expects then
- fix variables 'localedir', 'gnulocaledir' and define coorect 'LOCALEDIR' in
the Makefile.in.* files
From Packages.txt:
10.29 Packages providing locale catalogues
==========================================
If the package provides its own locale catalogues, the variable
USE_PKGLOCALEDIR should be defined. It will ensure that the package's
Makefile template files are fixed and point to the correct locale directories
(which may vary, depending on OS), if necessary. See also section 5.1 for
details about ${PKGLOCALEDIR}. This functionality is buildlink2-only.
the example mk.conf for bulk builds, since these are now set by the
bulk build machinery itself. This allows an /etc/mk.conf file to be
shared between ordinary builds and bulk builds.
definition.
INTERACTIVE_STAGE can take any of the values: fetch, configure, build and
install
Multiple values are allowed: e.g. INTERACTIVE_STAGE= configure install
Explain INTERACTIVE_STAGE and its use in documentation.
Patches provided by Chris Pinnock (cjep@netbsd.org).
(1) Admins want to create users/groups on their own (pkg/17183).
(2) Admins don't want packages to setup an initial configuration.
The bsd.pkg.install.mk-generated INSTALL/DEINSTALL scripts have been
modified to check certain PKG_* environment variables to tune their
behaviour. This works whether installing from "make install" or from a
binary package.
PKG_CREATE_USERGROUP indicates whether the INSTALL script should
automatically add any needed users/groups to the system using
useradd/groupadd. It is either YES or NO, and defaults to YES.
PKG_CONFIG indicates whether the INSTALL/DEINSTALL scripts should do
automatic config file and directory handling, or if it should
merely inform the admin of the list of required files and
directories needed to use the package. It is either YES or NO,
and defaults to YES.
The make(1) variable INSTALL_RCD_SCRIPTS is removed. The package rc.d
script is now handled like other config files for the package, and is
copied into place if PKG_CONFIG=YES.
The default values above reflect the current behaviour. Setting
PKG_CREATE_USERGROUP=NO solves problem (1), and setting PKG_CONFIG=NO
solves problem (2).
To simply matters for users installing directly from pkgsrc, these
variables may also be defined in /etc/mk.conf, but behaviour at deinstall
time may be surprising. It is *HIGHLY* recommended that these values be
set in the shell environment instead.