You are not logged in.

#1 2023-08-10 20:34:18

rwd3
Member
Registered: 2023-08-10
Posts: 7

python-setuptools errors when building rdiff-backup from aur

Hi all 

I have been useing rdiff-backup from the Arch32 repository as my backup tool for years. But the package in the repository is old and about to be deleted. So i tried compiling the latest version from the AUR for my pentium4 architecture home server.

In the PKGBUILD I changed arch=arch=(x86_64) to arch=(x86_64 pentium4). But when compiling with 'makepkg -rs' I get errors that seem to be about the build environment (python-setuptools) rather than rdiff-backup: 

AttributeError: 'Distribution' object has no attribute 'exclude_package_data'. Did you mean: 'exclude_package'?

Full output at https://pastebin.com/5gPwG9Z1

The maintainer from Aur is willing to help but has no 32 bit system to test on. And cross compiling from Arch does not seem a viable option since they obviously dropped 32 bit support.

What can I try to compile without these errors?

Last edited by rwd3 (2023-08-10 20:41:46)

Offline

#2 2023-08-11 06:51:47

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 990
Website

Re: python-setuptools errors when building rdiff-backup from aur

You need the devtools32 with `core-staging-pentium4-build` for doing this, this is technically not cross-compiling, but it installs a 32-bit chroot with Arch32 so you can
build your package against.

devtools32 is an adapted version of upstream devtools and is available at https://git.archlinux32.org/devtools32/.

The are various difficutlies here at the moment:

1) Python differs between stable, testing and staging

2) Python on staging is heavily broken:

patching file src/rdiff_backup/Time.py
==> Starting build()...
* Getting build dependencies for wheel...

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.11/site-packages/setuptools/__init__.py", line 17, in <module>
    from setuptools.dist import Distribution
  File "/usr/lib/python3.11/site-packages/setuptools/dist.py", line 41, in <module>
    from . import _reqs
  File "/usr/lib/python3.11/site-packages/setuptools/_reqs.py", line 3, in <module>
    import jaraco.text as text
  File "/usr/lib/python3.11/site-packages/jaraco/text/__init__.py", line 11, in <module>
    from jaraco.functools import compose, method_cache
ModuleNotFoundError: No module named 'jaraco.functools'

ERROR Backend 'setuptools.build_meta:__legacy__' is not available.

Pointing into the direction of python-bootstrap and setuptools.

3) rdiff-backup might have portability issues itself (as you mention, and they have to be sorted out with the developer or on your own)

Offline

#3 2023-08-11 08:07:31

rwd3
Member
Registered: 2023-08-10
Posts: 7

Re: python-setuptools errors when building rdiff-backup from aur

Thanks for the reply. But if I build rdiff-backup using devtools32  on my arch (x86_64)) system, wouldn't that have the same  python-bootstrap and setuptools. problems that I encountered when compiling directly on my arch32 system?

I realise I keep writing compile, but rdiff-backup is written in python 3 so i assume there is no compiling required, only building a package.

Would filing a bug for the python-bootstrap and setuptools packages be a good idea, or is python so generally borked on arch32 that it is useless?

Last edited by rwd3 (2023-08-11 08:31:24)

Offline

#4 2023-08-11 09:34:27

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 990
Website

Re: python-setuptools errors when building rdiff-backup from aur

I was maybe a little bit unclear here: yes, I fear Python is totally borked currenctly on Arch32, at least for quite some modules. The python main package and the basic
modules are likely ok.

There is not much you can do, we have to fix things, broken Python is on the todo list for a while now.. :-)

Offline

#5 2023-08-13 11:13:51

rwd3
Member
Registered: 2023-08-10
Posts: 7

Re: python-setuptools errors when building rdiff-backup from aur

As a workaround I downgraded a bunch of packages that depend on python 3.11 to their latest python 3.10 one. After that I was able to build and run rdiff-backup 2.2.5-3 from aur.

Offline

Board footer

Powered by FluxBB