Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Dec 2013 01:06:02 +0100
From:      Michael Gmelin <freebsd@grem.de>
To:        freebsd-ports@freebsd.org
Subject:   Re: Staging, poudriere and PYTHON_SITELIBDIR => package won't build
Message-ID:  <20131202010602.1f3ade40@bsd64.grem.de>
In-Reply-To: <20131201211617.4c9c784b@bsd64.grem.de>
References:  <20131201211617.4c9c784b@bsd64.grem.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 1 Dec 2013 21:16:17 +0100
Michael Gmelin <freebsd@grem.de> wrote:

> I'm in the process of converting a port to staging, it works ok when
> run in my normal environment, but when run using poudriere testport
> the package step falls apart (staging is all ok, without violations),
> e.g.
> 
> pkg-static:lstat(/wrkdirs/usr/ports/devel/py-ice/work/stage/prefix/py27-Ice-3.5.1/lib/python2.7/site-packages/Ice.pth):
> No such file or directory
> 
> Corresponding entry in pkg-plist:
> %%PYTHON_SITELIBDIR%%/Ice.pth
> 
> The actual file is in:
> /wrkdirs/usr/ports/devel/py-ice/work/stage/usr/local/lib/python2.7/site-packages/Ice.pth
> 
> Which makes sense, since the port installs it (and all its other
> files) there:
> 
>         ${ECHO} "Ice" > ${STAGEDIR}${PYTHON_SITELIBDIR}/Ice.pth
> 
> The port installs a lot more files of course.
> 
> Is this a general problem when PREFIX != LOCALBASE for python ports?
> 
> Using poudriere testport -n it works as expected.
> 
> Thanks,
> Michael
> 

To answer my own question:
This also happened without poudriere and PREFIX != LOCALBASE and
staging enabled.

I worked around the issue by putting this into Makefile

.if ${PREFIX} != ${LOCALBASE} && !defined(NO_STAGE)
PYSITEDIR=      ${PREFIX}${PYTHON_SITELIBDIR:S|^${LOCALBASE}||}
.else
PYSITEDIR=      ${PYTHON_SITELIBDIR}
.endif

and replacing ${PYTHON_SITELIBDIR} with ${PYSITEDIR}, e.g.

        ${ECHO} "Ice" > ${STAGEDIR}${PYSITEDIR}/Ice.pth

-- 
Michael Gmelin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131202010602.1f3ade40>