Date: Tue, 31 Mar 2015 22:00:21 +0200 From: Antoine Brodin <antoine@FreeBSD.org> To: David Naylor <dbn@freebsd.org> Cc: Roland Smith <rsmith@xs4all.nl>, freebsd-python@freebsd.org Subject: Re: USE_PYTHON=concurrent Message-ID: <CAALwa8nhDR%2BaJj6jeXMdcaCeh_Saf6wBqM%2BDt0AJ1SgZ7v8BCg@mail.gmail.com> In-Reply-To: <3956416.IomzSLxEPG@dragon.local> References: <3945228.UPHqZybedq@dragon.local> <20150331184738.GA95383@slackbox.erewhon.home> <3956416.IomzSLxEPG@dragon.local>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 31, 2015 at 9:39 PM, David Naylor <dbn@freebsd.org> wrote: > On Tuesday, 31 March 2015 20:47:38 Roland Smith wrote: >> On Mon, Mar 30, 2015 at 09:14:40PM +0200, David Naylor wrote: >> > Hi, >> > >> > I am investigating converting my ports to concurrent however I am not = sure >> > how concurrent is supposed to work: >> > >> > I looked in /usr/ports/Mk and only found a documentation reference to >> > 'concurrent'. Setting USE_PYTHON=3Dconcurrent doesn't appear to actua= lly >> > change any behaviour. >> > >> > Please could you explain this for me? >> >> From =E2=80=9C/usr/ports/Mk/Uses/python.mk=E2=80=9D: >> >> concurrent - Indicates that the port can be installed for >> different python versions at the same time. The port >> is supposed to use a unique prefix for certain >> directories using USES=3Duniquefiles:dirs (see the >> uniquefiles.mk Uses for details about the >> directories), if set to yes. Binaries receive an >> additional suffix, based on ${PYTHON_VER}. >> >> The values for the uniquefiles USES are set as >> follows: >> >> UNIQUE_PREFIX=3D ${PYTHON_PKGNAMEPREFIX} >> UNIQUE_SUFFIX=3D -${PYTHON_VER} >> >> If the port is installed for the current default >> python version, scripts and binaries in >> >> ${PREFIX}/bin >> ${PREFIX}/sbin >> ${PREFIX}/libexec >> >> are linked from the prefixed version to the >> prefix-less original name, e.g. >> bin/foo-2.7 --> bin/foo. >> >> So it seems that any port that only installs modules in >> =E2=80=9C/usr/local/lib/pythonX.Y/site-packages/=E2=80=9D could be label= ed as concurrent >> as-is. >> >> If your port wants to put things in DOCSDIR, EXAMPLESDIR, DATADIR, WWWDI= R or >> ETCDIR, you should add =E2=80=9CUSES=3Duniquefiles:dirs=E2=80=9D to your= port's Makefile. >> >> Also read =E2=80=9C/usr/ports/Mk/Uses/uniquefiles.mk=E2=80=9D. > > Thank you for your explanation, to confirm: > > So 'concurrent' shouldn't actually change any logic, but act as a flag fo= r a > build tool at actually build multiple versions of the port based on avail= able > and supported python versions? (However one might need to use uniquefile= s to > prevent file conflicts with the multiple packages from this port.) Hi, No, it isn't used as a flag for build tools. USE_PYTHON=3Dconcurrent or USES=3Duniquefiles should be used to install simultaneously a port for 2 versions of python, when those 2 installations would conflict otherwise (e.g. would install files with the same name in ${PREFIX}/bin or same directory name for ${DOCSDIR}). Ports that only install in ${PREFIX}/lib/pythonX.Y don't need anything. Cheers, Antoine
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAALwa8nhDR%2BaJj6jeXMdcaCeh_Saf6wBqM%2BDt0AJ1SgZ7v8BCg>