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>