Quick guide for compiling packages:
- set KERBEROS=4 or KERBEROS=5 in /etc/mk.conf
Quick guide for configuring Kerberos support in a package Makefile:
- test for KERBEROS value and enable the appropriate version with
CONFIGURE_ARGS or other means and set USE_KERBEROS=yes
- make sure to disable Kerberos support otherwise (especially if
using configure, which might automatically detect it)
- BUILD_DEFS and RESTRICTED are set automatically in bsd.pkg.mk
when USE_KERBEROS=yes is set
and will substitute ${VAR} with the value of VALUE in the PLIST.
This implementation was taken from FreeBSD.
Default PLIST_SUB:
OPSYS=${OPSYS} OS_VERSION=${OS_VERSION}
MACHINE_ARCH=${MACHINE_ARCH} MACHINE_GNU_ARCH=${MACHINE_GNU_ARCH}
MACHINE_GNU_PLATFORM=${MACHINE_GNU_PLATFORM}
LOWER_VENDOR=${LOWER_VENDOR} LOWER_OPSYS=${LOWER_OPSYS}
PKGNAME=${PKGNAME}
way we can finally use pattern dependences in the package sources without
breaking "pkg_add" - "pkg_add" will attempt to install the version
available at build time.
denote that the package uses libXaw.
Introduce an XAW_TYPE definition, which is defined in /etc/mk.conf by
the user, to denote the type of libXaw to use. Possible values are:
standard, 3d and xpm.
Define USE_XAW in relevant Makefiles.
Set default XAW_TYPE in Makefiles which previously did a DEPENDS+= Xaw3d...
This means that package builds should not fail because of conflicting
Xaw packages being installed on machines.
(taken from the patch-sum file), plus any local patches, in the
BuildVersion file (which can be viewed with the -b option to
pkg_info(1)), rather than simply recording the contents of any patches
directory.
command was split into two specific commands: ${RM} -f, then ${LN} -s, for
Solaris ln(1) behaviour, and, as pointed out by Julian Coleman, this can
have an unfortunate side-effect on read-only filesystems.
yesterday.
#DIST_PATH= /cdrom/0/distfiles:${HOME}/distfiles
(DIST_PATH allows multiple directories for distfiles to be defined,
although distfiles will still be downloaded into DISTDIR. For
example, this allows a CD to be used as a basic repository for
distfiles, with additional distfiles to be found in other directories,
and, if the distfile is not found in any of these, it will be
downloaded into DISTDIR. A symbolic link is created in DISTDIR,
pointing to the local distfile.)
(a) if the patch file does not exist in the patch-sum file, then
print a warning to the user, and ignore the patch file. In particular,
do not exit with an error.
(b) if the patch file's calculated checksum does not match the one
recorded in the patch-sum file, print a warning to the user, and try the
other patch files. Once all patch files have been attempted, exit with
an error.
Also, don't bother to check for patch-local-* files inside the checksum
logic - they're already ignored at the head of the loop.