Ошибки сборки пакетов rpm в домашних условиях

Ошибки сборки пакетов rpm в домашних условиях.
Последнее время участились сбои сборки пакета на домашнем компьютере.

Распаковка архива с исходным кодом прерывается:

[    5s] + /usr/lib/rpm/rpmuncompress -x /home/abuild/rpmbuild/SOURCES/<name>-<version>.tar.xz
[    6s] /usr/bin/tar: easy-switcher-20251025+git.b1af840/CMakeLists.txt: Cannot open: Function not implemented
...
[    6s] /usr/bin/tar: easy-switcher-20251025+git.b1af840/src: Cannot mkdir: Function not implemented
[    6s] /usr/bin/tar: easy-switcher-20251025+git.b1af840/src/main.cpp: Cannot open: Function not implemented
[    6s] /usr/bin/tar: Exiting with failure status due to previous errors

Архив целый, не повреждённый, и если переустановить [tar-1.35-7.1.x86_64.rpm](file:///var/tmp/osbuild-packagecache/openSUSE:Tumbleweed/dod/x86_64/tar-1.35-7.1.x86_64.rpm) на [tar-1.35-6.2.x86_64.rpm](file:///var/tmp/osbuild-packagecache/openSUSE:Tumbleweed/dod/x86_64/tar-1.35-6.2.x86_64.rpm) в окружении сборки, т.е.

cd /var/tmp/build-root/openSUSE_Tumbleweed-x86_64
sudo chroot .
rpm -e --nodeps tar
rpm -ihv ./tar-1.35-6.2.x86_64.rpm

затем перезапустить сборку пакета

osc build openSUSE_Tumbleweed <name>.spec --no-init

, то сборка пройдёт успешно до вывода RPMLINT

[   60s] RPMLINT report:
[   60s] ===============
[   67s] (none): E: fatal error while reading //home/abuild/rpmbuild/RPMS/x86_64/<name>-<version>-0.x86_64.rpm: Command 'rpm2archive - | tar -xz && chmod -R +rX .' returned non-zero exit status 2.
[   67s] Traceback (most recent call last):
[   67s]   File "/opt/testing/bin/rpmlint.real", line 6, in <module>
[   67s]     sys.exit(lint())
[   67s]              ~~~~^^
[   67s]   File "./rpmlint/cli.py", line 178, in lint
[   67s]   File "./rpmlint/lint.py", line 124, in run
[   67s]   File "./rpmlint/lint.py", line 92, in _run
[   67s]   File "./rpmlint/lint.py", line 270, in validate_files
[   67s]   File "./rpmlint/lint.py", line 296, in validate_file
[   67s]   File "./rpmlint/lint.py", line 285, in validate_file
[   67s]   File "./rpmlint/pkg.py", line 533, in __init__
[   67s]   File "./rpmlint/pkg.py", line 629, in _extract_rpm
[   67s]   File "./subprocess.py", line 472, in check_output
[   67s]   File "./subprocess.py", line 577, in run
[   67s] subprocess.CalledProcessError: Command 'rpm2archive - | tar -xz && chmod -R +rX .' returned non-zero exit status 2.

Совсем плохо, когда процесс прерывается даже не начавшись, на этапе подготовки.

osc build openSUSE_Slowroll <name>.spec --clean

Ошибки, ошибки, ОШИБКИ!!!

[  415s] Updating /etc/sysconfig/security ...
[  415s] can't open /etc/polkit-1/rules.d/90-default-privs.rules.new: No such file or directory
[  415s] warning: %post(polkit-default-privs-1550+20260428.f2a5d2e-1.1.noarch) scriptlet failed, exit status 2
...
[  452s] /usr/bin/systemd-sysusers --replace=/usr/lib/sysusers.d/dbus.conf -
[  452s] Failed to chase '/usr/lib/sysusers.d': Protocol driver not attached
[  452s] error: %prein(dbus-1-common-1.14.10-5.4.noarch) scriptlet failed, exit status 1
[  452s] error: dbus-1-common-1.14.10-5.4.noarch: install failed
...
[  453s] dbus-1-daemon-1.14.10-5.4             warning: group messagebus does not exist - using root
[  453s] ########################################
[  453s] dbus-broker-37-2.3                    ########################################
[  453s] Failed to preset units: Protocol driver not attached.
[  453s] Failed to preset units: Protocol driver not attached.
...
[  626s] Updating /etc/sysconfig/proxy ...
[  627s] Failed to resolve symlink /usr/lib/systemd/system/default.target pointing to /usr/lib/systemd/system/graphical.target: Protocol driver not attached
[  627s] Created symlink '/etc/systemd/system/default.target.wants/soft-reboot-cleanup.service' -> '/usr/lib/systemd/system/soft-reboot-cleanup.service'.
...
[  631s] WARNING could not set SOURCE_DATE_EPOCH, ensure mtime is in $TOPDIR/SOURCES/_scmsync.obsinfo or BUILD_CHANGELOG_TIMESTAMP is set in /.buildenv
[  631s] WARNING could not set SOURCE_DATE_EPOCH, ensure BUILD_RELEASE is set in /.buildenv
[  631s] WARNING could not set SOURCE_DATE_EPOCH, ensure mtime is in $TOPDIR/SOURCES/_scmsync.obsinfo or BUILD_CHANGELOG_TIMESTAMP is set in /.buildenv
[  631s] WARNING could not set SOURCE_DATE_EPOCH, ensure BUILD_RELEASE is set in /.buildenv
[  631s] Failed to resolve symlink /usr/lib/systemd/system/default.target pointing to /usr/lib/systemd/system/graphical.target: Protocol driver not attached
[  631s] Created symlink '/etc/systemd/system/default.target.wants/update-desktop-database.service' -> '/usr/lib/systemd/system/update-desktop-database.service'.
...
[  659s] kernel-obs-build-7.0.5-1.0.8.1.sr20260########################################
[  663s] hicolor-icon-theme-0.18-1.4           ########################################
[  671s] exit ...
[  671s]
[  671s] linux-euti failed "build <name>.spec" at Thu May 14 15:40:49 UTC 2026.

Приехали!

Буду признателен за какое-либо объяснение. Что происходит?

Хей. Пробовал удалять openSUSE_Tumbleweed-x86_64 и osc wipe? Может окружение сборки битое.

Удалил.
osc wipe openSUSE_Tumbleweed x86_64

Really wipe '/var/tmp/build-root/openSUSE_Tumbleweed-x86_64'? [y/N]: 
y
Wiping build root: '/var/tmp/build-root/openSUSE_Tumbleweed-x86_64'

Всё также - без изменений.

Наверно система устарела. Между 15.2 и Tumbleweed семь релизов, многое изменилось.

Скорее всего. Я обычно собираю в KVM (--vm-type kvm) и там таких ошибок не видел. Но я собираю под Leap 15.6, Leap 16.0 и Tumbleweed. Поддержка Leap 15.2 закончилась 31 декабря 2021. Пора задуматься про обновление системы.