Re: git: 16a6fecb4ff8 - main - python.mk: use script to process RECORD for the first pass
- In reply to: Charlie Li : "git: 16a6fecb4ff8 - main - python.mk: use script to process RECORD for the first pass"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 09 Mar 2023 07:56:39 UTC
On Thu, Mar 09, 2023 at 03:44:08AM +0000, Charlie Li wrote: > The branch main has been updated by vishwin: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=16a6fecb4ff8b051ba1b238267b7cd15b19cda75 > > commit 16a6fecb4ff8b051ba1b238267b7cd15b19cda75 > Author: Charlie Li <vishwin@FreeBSD.org> > AuthorDate: 2023-03-09 03:33:57 +0000 > Commit: Charlie Li <vishwin@FreeBSD.org> > CommitDate: 2023-03-09 03:33:57 +0000 > > python.mk: use script to process RECORD for the first pass > > RECORD is a CSV file [0] containing more data than our plist format > accepts. The original processing method used sed(1) exclusively, > but paths containing quotes, spaces and commas throw it off. Process > the CSV properly instead for the first pass. > > References: https://packaging.python.org/en/latest/specifications/recording-installed-packages/#the-record-file [0] > --- > Mk/Uses/python.mk | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk > index d0754dc02097..6e25d0427cb2 100644 > --- a/Mk/Uses/python.mk > +++ b/Mk/Uses/python.mk > @@ -870,7 +870,9 @@ do-build: > do-install: > @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} > @cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${PEP517_INSTALL_CMD} > - @${SED} -e 's|^|${PYTHONPREFIX_SITELIBDIR}/|' \ > + @${PYTHON_CMD} -B ${PORTSDIR}/Tools/scripts/strip_RECORD.py \ > + ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C/[-_]+/_/g}-${PORTVERSION}.dist-info/RECORD >> ${_PYTHONPKGLIST} Any script that is used by the framework must be put in Mk/scripts. The scripts in Tools are user contributed and not supported. > + @${REINPLACE_CMD} -e 's|^|${PYTHONPREFIX_SITELIBDIR}/|' \ > -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../etc/|etc/|' \ > -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../bin/|bin/|' \ > -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../include/|include/|' \ > @@ -880,8 +882,7 @@ do-install: > -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../man/|man/|' \ > -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../sbin/|sbin/|' \ > -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../share/|share/|' \ > - -e 's|\,.*$$||' \ > - ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C/[-_]+/_/g}-${PORTVERSION}.dist-info/RECORD >> ${_PYTHONPKGLIST} > + ${_PYTHONPKGLIST} > . endif > . endif # defined(_PYTHON_FEATURE_PEP517) > > -- Mathieu Arnold