Page MenuHomeFreeBSD

textproc/py-sphinx: Fix build
AbandonedPublic

Authored by jrm on Mar 24 2023, 7:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 22, 4:04 AM
Unknown Object (File)
Sat, Nov 16, 11:36 PM
Unknown Object (File)
Wed, Nov 13, 12:09 PM
Unknown Object (File)
Sun, Nov 10, 4:37 AM
Unknown Object (File)
Mon, Nov 4, 8:25 PM
Unknown Object (File)
Sep 26 2024, 8:46 AM
Unknown Object (File)
Sep 26 2024, 12:04 AM
Unknown Object (File)
Sep 25 2024, 7:27 AM

Details

Reviewers
mandree
antoine
Group Reviewers
portmgr
Summary

poudirere testport and poudriere bulk -t were failing with

=>> Checking for filesystem violations... done
=>> Error: Filesystem touched during build:
extra: usr/local/lib/python3.9/site-packages/build/__pycache__
extra: usr/local/lib/python3.9/site-packages/packaging/__pycache__
extra: usr/local/lib/python3.9/site-packages/flit_core/vendor/__pycache__
extra: usr/local/lib/python3.9/site-packages/flit_core/vendor/tomli/__pycache__
extra: usr/local/lib/python3.9/site-packages/flit_core/__pycache__
extra: usr/local/lib/python3.9/site-packages/tomli/__pycache__
extra: usr/local/lib/python3.9/site-packages/pyproject_hooks/__pycache__
extra: usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/__pycache__

Work around this by not writing byte code.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 50573
Build 47464: arc lint + arc unit

Event Timeline

jrm requested review of this revision.Mar 24 2023, 7:16 PM

I believe there was a recent, possibly contraversial, change to generate .pyc files dynamically at pkg install time using a pkg script, rather than including those in the main package. This apparently parallels the way python wheels work, and has a number of advantages.

One side effect has been that all of the pycache directories now show up as "checksum mismatch" in the daily security e-mails.

mandree requested changes to this revision.EditedMar 24 2023, 9:21 PM
mandree added a subscriber: mandree.

I believe there was a recent, possibly contraversial, change to generate .pyc files dynamically at pkg install time using a pkg script, rather than including those in the main package. This apparently parallels the way python wheels work, and has a number of advantages.

One side effect has been that all of the pycache directories now show up as "checksum mismatch" in the daily security e-mails.

That change is being discussed in https://reviews.freebsd.org/D34739.
It was not controversial but premature, it caused regressions more severe than that poudriere bickering about extra __pycache__ folders.

I would propose that we fix the Mk/Uses/python.mk to generate proper pkg lists, and NOT add code that causes checksum errors because something is listing files behind pkg's back. This may require some feature extension of pkg so that it can record proper checksums for post-install/trigger script modifications.

This change (setting MAKE_ENV+=PYTHONDONTWRITEBYTECODE=1 MAKE_ENV) however only passes the blame down to ports that use sphinx during their build, because they will then trigger fs violation warnings inside poudriere, so I find should not be made. We are really looking at a general flaw and fixing individual ports is wasted effort.

In the meanwhile, poudriere-devel (not sure if the stable version, too) supports a PORTTESTING_FATAL=no in /usr/local/etc/poudriere.conf or $PREFIX/etc/poudriere.conf for that matter.

This revision now requires changes to proceed.Mar 24 2023, 9:21 PM
antoine requested changes to this revision.Mar 25 2023, 7:17 AM
antoine added a subscriber: antoine.

Please don't do this.
This has to be fixed in the framework, not in individual ports.

No problem. I'll wait for the framework fix and ignore poudriere testport failures for now.