Why some python ports fail with build_fs_violation like this: usr/local/lib/python3.6/site-packages/dbus/__pycache__ ?

Jason E. Hale jhale at freebsd.org
Mon Mar 5 15:24:37 UTC 2018


On Mon, Mar 5, 2018 at 5:24 AM, Emanuel Haupt <ehaupt at freebsd.org> wrote:
> Yuri <yuri at rawbw.com> wrote:
>> Examples:
>>
>> http://package21.nyi.freebsd.org/data/111amd64-default-qat/463452/logs/errors/py36-notify2-0.3.1.log
>>
>> http://package21.nyi.freebsd.org/data/111amd64-default-qat/463452/logs/errors/Carla-1.9.8.log
>>
>>
>> Yuri
>
> I run into the same problem trying to update the nagstamon port (both
> poudriere and poudriere-devel).
>
> In my case the port is heavily reliant on python36 flavoured
> dependencies.
>
> Here is my build log:
> http://people.freebsd.org/~ehaupt/misc/7DB621161F-672C5B551B-0F0958D74F-E60E451E4E/nagstamon-3.0.2.log
>
> In my case the following files are modified during the build stage:
>
> extra: usr/local/lib/python3.6/site-packages/dbus/mainloop/__pycache__
> extra: usr/local/lib/python3.6/site-packages/dbus/__pycache__
>
> I'm not sure why that happens.
>
> Emanuel

The problem looks to be in the devel/py-dbus port. It uses a script
called ${WRKSRC}/py-compile to compile the Python bytecode, but it is
not PEP 3147 compliant. I.e., it is writing out .pyc and .pyo files in
Python < 3.2 style. Therefore, whenever the ports you are trying to
build are loading the dbus module, it is creating the bytecode in the
correct location on the fly and touching the filesystem.

-Jason


More information about the freebsd-ports mailing list