Rdiff-backup not currently updateable

Since it was moved from the repositories to AUR, rdiff-backup has been failing to package because of numerous errors in the check stage. While this is under discussion on the AUR site, I though it worth raising a flag here as well, and seeing if others have a problem.

In particular, I’d welcome thoughts on the advisability or otherwise of disabling the check phase.

I do not use rdiff-backup.

What error messages?
rdiff-backup is written in Python. It might have some problem with upstream change of Python in the official repo.


Edit://

I tested to build it in VM, rdiff-backup should work with the unstable branch.

I don’t think it’s a python version issue. It was suggested as a possibility on AUR as 3.10 is hardcoded in the PKGBUILD file and Arch has moved on to 3.11 (we haven’t, at least in stable).

FWIW here is the output from makepkg from the start of the check phase.

==> Starting check()...
/usr/lib/python3.10/site-packages/setuptools/__init__.py:85: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`.
  dist.fetch_build_eggs(dist.setup_requires)
running install
/usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running install_lib
writing byte-compilation script '/tmp/tmpofrlgxs4.py'
/usr/bin/python /tmp/tmpofrlgxs4.py
removing /tmp/tmpofrlgxs4.py
running install_data
running install_egg_info
running egg_info
writing src/rdiff_backup.egg-info/PKG-INFO
writing dependency_links to src/rdiff_backup.egg-info/dependency_links.txt
writing entry points to src/rdiff_backup.egg-info/entry_points.txt
writing requirements to src/rdiff_backup.egg-info/requires.txt
writing top-level names to src/rdiff_backup.egg-info/top_level.txt
adding license file 'COPYING'
writing manifest file 'src/rdiff_backup.egg-info/SOURCES.txt'
removing 'test-install/usr/lib/python3.10/site-packages/rdiff_backup-2.2.5-py3.10.egg-info' (and everything under it)
Copying src/rdiff_backup.egg-info to test-install/usr/lib/python3.10/site-packages/rdiff_backup-2.2.5-py3.10.egg-info
running install_scripts
Installing rdiff-backup script to test-install/usr/bin
Installing rdiff-backup-delete script to test-install/usr/bin
Installing rdiff-backup-statistics script to test-install/usr/bin
test_action_backup_errorcases (__main__.ActionBackupRestoreTest)
test the "backup" actions in error cases ... NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
ERROR:   The last backup is not in the past. Aborting.
ERROR:   Action backup failed on step setup
ERROR:   Fatal Error: The file specification 'b'not-in-from''
cannot match any files in the base directory 'b'/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from2''.
Useful file specifications begin with the base directory or some
pattern (such as '**') which matches the base directory
ERROR:   Fatal Error: Last selection expression Command-line include glob: b'**'
only specifies that files be included.  Because the default is to
include all files, the expression is redundant.  Exiting because this
probably isn't what you meant
ok
test_action_backuprestore (__main__.ActionBackupRestoreTest)
test the "backup" and "restore" actions ... NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from2
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to1
WARNING: POSIX ACLs file not found
WARNING: Extended Attributes file not found
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to2
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to3
WARNING: POSIX ACLs file not found
WARNING: Extended Attributes file not found
ok
test_action_backuprestore_quoted (__main__.ActionBackupRestoreTest)
test the backup and restore actions with quoted repository ... NOTE:    File system at
         '/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak'
         suggested quoting 'b''' but override quoting 'b'A:'' will be used. Assuming you know what you are doing
NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to1
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to2
ok
test_action_restore_errorcases (__main__.ActionBackupRestoreTest)
test the "restore" actions in error cases ... NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from2
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
ERROR:   Time string 'xyz' couldn't be parsed due to 'Bad time string "xyz"

The acceptable time strings are intervals (like "3D64s"), w3-datetime
strings, like "2002-04-26T04:22:01-07:00" (strings like
"2002-04-26T04:22:01" are also acceptable - rdiff-backup will use the
current time zone), or ordinary dates like 2/4/1997 or 2001-04-23
(various combinations are acceptable, but the month always precedes
the day).'
ERROR:   Action restore failed on step setup
ERROR:   Target path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to4
         exists and is not a directory, call with '--force' to overwrite
ERROR:   Action restore failed on step check
WARNING: Target path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to4
         exists but isn't a directory, and will be force deleted
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to4
usage: rdiff-backup restore [-h] [--create-full-path] [--compression | --no-compression]
                            [--not-compressed-regexp REGEXP] [--exclude GLOB] [--exclude-device-files]
                            [--exclude-fifos] [--exclude-filelist LIST_FILE] [--exclude-filelist-stdin]
                            [--exclude-symbolic-links] [--exclude-sockets]
                            [--exclude-globbing-filelist GLOBS_FILE] [--exclude-globbing-filelist-stdin]
                            [--exclude-other-filesystems] [--exclude-regexp REGEXP]
                            [--exclude-if-present FILENAME] [--exclude-special-files] [--max-file-size SIZE]
                            [--min-file-size SIZE] [--acls | --no-acls] [--carbonfile | --no-carbonfile]
                            [--compare-inode | --no-compare-inode] [--eas | --no-eas]
                            [--hard-links | --no-hard-links] [--resource-forks | --no-resource-forks]
                            [--never-drop-acls] [--group-mapping-file MAP_FILE] [--preserve-numerical-ids]
                            [--user-mapping-file MAP_FILE] [--at TIME | --increment]
                            [[USER@]SERVER::]PATH [[USER@]SERVER::]PATH
rdiff-backup restore: error: argument --increment: not allowed with argument --at
ERROR:   You can't use the --increment option and _not_ give an increment file
ERROR:   Action restore failed on step check
ERROR:   Path '/does-not-exist' couldn't be identified as being within an existing backup repository
ERROR:   Invalid restore directory 'b'/does-not-exist''
ERROR:   Path '/does-not-exist' couldn't be identified as being within an existing backup repository
ERROR:   Action restore failed on step check
ERROR:   Path
         '/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to4'
         couldn't be identified as being within an existing backup repository
ERROR:   Invalid restore directory
         'b'/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to4''
ERROR:   Path
         '/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to4'
         couldn't be identified as being within an existing backup repository
ERROR:   Action restore failed on step check
ERROR:   You can't combine restoring of a sub-path and file selection, result would be unpredictable and could
         lead to data loss
ERROR:   Action restore failed on step check
ok
test_wrong_connection (__main__.ConnectionHandlingTest) ... ssh: Could not resolve hostname doesnotexist: No address associated with hostname
ERROR:   Couldn't start up the remote connection by executing 'ssh -C doesnotexist rdiff-backup --terminal-verbosity 3 server'
due to exception 'Truncated header <b''> (problem probably originated remotely)'.

Remember that, under the default settings, rdiff-backup must be
installed in the PATH on the remote system.  See the man page for more
information on this.  This message may also be displayed if the remote
version of rdiff-backup is quite different from the local version (2.2.5)

ERROR:   Location 'doesnotexist::/some_dir' couldn't be connected.
ERROR:   Action backup failed on step connect
ok
test_pre_quoted_files (__main__.PreQuotingTest) ... NOTE:    File system at
         '/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak'
         suggested quoting 'b''' but override quoting 'b'A-Z:'' will be used. Assuming you know what you are
         doing
NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
NOTE:    File system at
         '/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak'
         suggested quoting 'b''' but override quoting 'b'A-Z:'' will be used. Assuming you know what you are
         doing
NOTE:    Starting backup operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from2
         to destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to1
WARNING: POSIX ACLs file not found
WARNING: Extended Attributes file not found
NOTE:    Starting restore operation from source path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak to
         destination path
         /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to2
WARNING: POSIX ACLs file not found
WARNING: Extended Attributes file not found
FAIL

Stdout:
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 --current-time 10000 --chars-to-quote A-Z: --remote-schema '{h}' backup 'cd /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/remote1 ; /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup server::/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1' 'cd /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/remote2 ; /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup server::/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak'
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 --current-time 20000 --chars-to-quote A-Z: backup /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from2 /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 --remote-schema '{h}' restore --at 10000 /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak 'cd /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/remote2 ; /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup server::/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to1'
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 restore --at 20000 /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to2

======================================================================
FAIL: test_pre_quoted_files (__main__.PreQuotingTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/testing/action_backuprestore_test.py", line 268, in test_pre_quoted_files
    self.assertEqual(set(os.listdir(self.to2_path)),
AssertionError: Items in the second set but not the first:
b'CODE.txt'

Stdout:
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 --current-time 10000 --chars-to-quote A-Z: --remote-schema '{h}' backup 'cd /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/remote1 ; /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup server::/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from1' 'cd /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/remote2 ; /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup server::/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak'
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 --current-time 20000 --chars-to-quote A-Z: backup /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/from2 /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 --remote-schema '{h}' restore --at 10000 /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak 'cd /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/remote2 ; /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup server::/home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to1'
Executing:  /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/test-install/usr/bin/rdiff-backup --api-version 201 restore --at 20000 /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/bak /home/james/.cache/yay/rdiff-backup/src/rdiff-backup-2.2.5/build/testfiles/action_backuprestore/to2

----------------------------------------------------------------------
Ran 6 tests in 15.574s

FAILED (failures=1)
==> ERROR: A failure occurred in check().
    Aborting...

Some of the errors do look to me like rank incompetance on the part of the writer of the test script, others I’m not sure.

But why it works for me when using Manjaro unstable branch (that uses python 3.11)

Manjaro stable branch still uses python 3.10, that is why rdiff-backup build failed.

https://packages.manjaro.org/?query=python

Of course, AUR is good for Arch Linux, not for Manjaro stable branch, but the unstable branch is okay.

Still get the same errors after stable updated to python 3.1 and running a clean build.

Sort of a solution. Not pretty but it gets it installed. Based on the discussion in the AUR page that suggested that there are some odd time-zone related issues.

  1. Set system time zone to UTC
  2. Build and install rdiff-backup
  3. Revert system to usual time zone (in my case UK time).

There is still a huge amount of gibberish spews through during the check phase of the build, but apparently nothing fatal. And it works after installing.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.