[Bug 253907] archivers/py-borgbackup: Check for devel/py-llfuse via PYTHON_PKGNAMEPREFIX

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Feb 28 12:42:05 UTC 2021


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253907

            Bug ID: 253907
           Summary: archivers/py-borgbackup: Check for devel/py-llfuse via
                    PYTHON_PKGNAMEPREFIX
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs at FreeBSD.org
          Reporter: dim at FreeBSD.org
                CC: jjuanino at gmail.com
                CC: jjuanino at gmail.com

Created attachment 222873
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=222873&action=edit
Fix RUN_DEPENDS to check for llfuse packages instead of shared library

Recently in ports r559094 a lot of Python port Makefiles had their path checks
relaxed because newer versions of Python changed the dynamic library naming
scheme:

"Since ports r558913 Python 3.8 incorporates BPO-42604 [1] which changed the
shared libs naming scheme.  This means "EXT_SUFFIX" is now derived from
SOABI and yields with Python 3.8 to ".cpython-38.so" instead of ".so".

The affected ports strip the libaries in the "post-install" target via
hardcoded path(s) and the build fails at the end because the new extension
is not expected at this place."

Indeed my poudriere failed to find the py-llfuse package, even though it just
installed it: 

=======================<phase: run-depends    >============================
===>   py39-borgbackup-1.1.15 depends on file:
/usr/local/lib/python3.9/site-packages/llfuse.so - not found
===>   Installing existing package /packages/All/py39-llfuse-1.3.8.txz
[stable12-r367684-default-job-01] Installing py39-llfuse-1.3.8...
[stable12-r367684-default-job-01] `-- Installing fusefs-libs-2.9.9_2...
[stable12-r367684-default-job-01] `-- Extracting fusefs-libs-2.9.9_2:
.......... done
[stable12-r367684-default-job-01] Extracting py39-llfuse-1.3.8: ......... done
=====
Message from fusefs-libs-2.9.9_2:

--
Install the FUSE kernel module (kldload fusefs) to use this port.
===>   py39-borgbackup-1.1.15 depends on file:
/usr/local/lib/python3.9/site-packages/llfuse.so - not found
*** Error code 1

Actually the .so file is now named
/usr/local/lib/python3.9/site-packages/llfuse.cpython-39.so.

Instead of attempting to guess the file extension, I propose to simply check
for the existence of the py-llfuse package itself, as is done in many other
ports, e.g.:

FUSE_DESC=     Support to mount locally borg backup files
FUSE_RUN_DEPENDS=     
${PYTHON_PKGNAMEPREFIX}llfuse>0:devel/py-llfuse@${PY_FLAVOR}

(Of course, if a minimum version is required, we can always put "> x.y.z" in
the comparison).

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list