PYTHON_SITELIBDIR gets parsed incorrectly
Scot Hetzel
swhetzel at gmail.com
Wed Dec 10 05:57:13 PST 2008
On 12/10/08, Silver Salonen <silver.salonen at gmail.com> wrote:
>
> Hello.
>
> I'm creating a port that uses python. I've set in Makefile:
> USE_PYTHON= yes
> PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR:S|^${PREFIX}/||g}
> PLIST_SUB+= PYTHON_SITELIBDIR="${PYTHON_SITELIBDIR}"
>
> And pkg-plist has entries a'la:
> %%BINDINGS%%%%PYTHON_SITELIBDIR%%/
>
> This %%BINDINGS%% gets replaced with "", so that should not be an issue.
>
> Anyway, when I install port, +CONTENTS contains lines a'la:
> /usr/local/lib/python2.5/site-packages/museek/__init__.py
>
> And when I try deinstalling it, I get errors a'la:
> pkg_delete: file
> '/usr/local//usr/local/lib/python2.5/site-packages/museek/__init__.py'
> doesn't exist
>
> Why do these files get prefixed with $LOCALBASE (or $PREFIX)?
>
The problem is that you are redefining PYTHON_SITELIBDIR in PLIST_SUB.
If you remove:
> PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR:S|^${PREFIX}/||g}
> PLIST_SUB+= PYTHON_SITELIBDIR="${PYTHON_SITELIBDIR}"
from your make file, and use 'make -V PLIST_SUB' and 'make -V
PYTHON_SITELIBDIR', you should get this:
$ make -V PLIST_SUB
PYVER=2.5 PYVER_WITHPAT=2.5.2 PYTHON_INCLUDEDIR=include/python2.5
PYTHON_LIBDIR=lib/python2.5 PYTHON_PLATFORM=freebsd8
PYTHON_SITELIBDIR=lib/python2.5/site-packages
PYTHON_VERSION=python2.5 IF_DEFAULT="" X86_ONLY="@comment "
32BIT_ONLY="@comment " NO_NIS="" OSREL=8.0 PREFIX=%D
LOCALBASE=/usr/local X11BASE=/usr/local PORTDOCS="" PORTEXAMPLES=""
PORTDATA="" LIB32DIR=lib XAWVER=8 PERL_VERSION=5.8.8 PERL_VER=5.8.8
PERL_ARCH=mach SITE_PERL=lib/perl5/site_perl/5.8.8
DOCSDIR="share/doc/python25" EXAMPLESDIR="share/examples/python25"
DATADIR="share/python25" WWWDIR="www/python25" ETCDIR="etc/python25"
$ make -V PYTHON_SITELIBDIR
/usr/local/lib/python2.5/site-packages
Scot
More information about the freebsd-ports
mailing list