You are not logged in.
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
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
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
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
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