A double-slash (//) in the kpathsea paths has a special interpretation, it

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 commit is contained in:
dsainty 2009-09-02 06:02:25 +00:00
parent 1b5c964d63
commit 27a1089f07

View file

@ -1,7 +1,8 @@
# $NetBSD: Makefile,v 1.7 2009/07/06 18:28:41 minskim Exp $
# $NetBSD: Makefile,v 1.8 2009/09/02 06:02:25 dsainty Exp $
DISTNAME= luatex-beta-0.40.2
PKGNAME= kpathsea-5.0.0
PKGREVISION= 1
CATEGORIES= print
MASTER_SITES= http://foundry.supelec.fr/gf/download/frsrelease/341/1275/
EXTRACT_SUFX= .tar.bz2
@ -28,14 +29,23 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/source/texk/kpathsea
MAKE_FLAGS+= LIBTOOL=${LIBTOOL:Q}
#
# A double-slash (//) in the kpathsea paths has a special
# interpretation, it 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 these
# variables, 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.
#
SUBST_CLASSES+= texmfdir
SUBST_MESSAGE.texmfdir= Setting texmf directories.
SUBST_STAGE.texmfdir= pre-configure
SUBST_FILES.texmfdir= texmf.cnf
SUBST_SED.texmfdir= -e 's,@PREFIX@,${PREFIX},'
SUBST_SED.texmfdir+= -e 's,@TEXMFLOCAL@,${TEXMFLOCAL},'
SUBST_SED.texmfdir+= -e 's,@VARBASE@,${VARBASE},'
SUBST_SED.texmfdir+= -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},'
SUBST_SED.texmfdir= -e 's,@PREFIX@,${PREFIX:C;///*;/;g:C;/$;;},'
SUBST_SED.texmfdir+= -e 's,@TEXMFLOCAL@,${TEXMFLOCAL:C;///*;/;g:C;/$;;},'
SUBST_SED.texmfdir+= -e 's,@VARBASE@,${VARBASE:C;///*;/;g:C;/$;;},'
SUBST_SED.texmfdir+= -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR:C;///*;/;g:C;/$;;},'
PKG_SYSCONFSUBDIR= texmf