The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
Problems found locating distfiles:
Package acroread7: missing distfile AdobeReader_enu-7.0.9-1.i386.tar.gz
Package acroread8: missing distfile AdobeReader_enu-8.1.7-1.sparc.tar.gz
Package cups-filters: missing distfile cups-filters-1.1.0.tar.xz
Package dvidvi: missing distfile dvidvi-1.0.tar.gz
Package lgrind: missing distfile lgrind.tar.bz2
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Changes:
* mktexlsr outputs normal msgs to stdout instead of stderr.
* do not ignore a non-terminated last line of a file.
* new texmf.cnf variables SELFAUTOGRANDPARENT, guess_input_kanji_encoding.
Changes:
* Trailing comments and whitespace omitted from config values.
* Add .tlu to type lua suffixes, and .dfont to truetype suffixes.
* Prefix program_invocation{,_short}_name with kpse_.
* Finally remove kpse_set_progname (deprecated since 1998).
will cause kpathsea to consider all subdirectories recursively at that point
in the path. Normally double-slashes and trailing slashes will not be present
in VARBASE, etc. But if they are there the resulting behaviour is so
unexpected, expensive, and difficult to diagnose that it is worth going to
extra effort to clean them out here.
The problem is easy to hit when using Pkgsrc installing under $HOME on a
system where the user's home directories contain a trailing slash.
Somewhat reluctantly bump PKGREVISION.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Kpathsea is a library to do path searching. It is used in the Web2C
implementation of TeX and friends. The library's fundamental purpose
is to return a filename from a list of directories specified by the
user, similar to what shells do when looking up program names to
execute.