Package Details: rdiff-backup 2.2.6-2

Git Clone URL: https://aur.archlinux.org/rdiff-backup.git (read-only, click to copy)
Package Base: rdiff-backup
Description: Reverse differential backup tool, over a network or locally
Upstream URL: https://github.com/rdiff-backup/rdiff-backup
Licenses: GPL-2.0-only
Submitter: arojas
Maintainer: carsme
Last Packager: carsme
Votes: 17
Popularity: 0.126642
First Submitted: 2023-04-01 17:24 (UTC)
Last Updated: 2024-01-28 22:56 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

rwd2 commented on 2023-08-08 19:22 (UTC)

Would it be possible to add i686 support as well? I am running an old version of rdiff-backup on arch32, and the package is about to be dropped from the repository.

carsme commented on 2023-07-25 13:32 (UTC)

Thank you for reporting and investigating the issues, @apocalyptech and @muesli4. Appreciate it!

To mitigate these I've:

  • confirmed that building in a tmpfs causes some tests to fail and disabled these (testing/eas_aclstest.py and testing/fs_abilitiestest.py).
  • applied the patch that should solve the timezone issue.

See be9bc4c16760 for further details.

Hopefully the package is buildable for you now, if not let me know.

muesli4 commented on 2023-07-04 20:28 (UTC)

I have test whether my filesystem does support them and can confirm. But I found that these are not the only errors. I created an issue in the project: https://github.com/rdiff-backup/rdiff-backup/issues/897

apocalyptech commented on 2023-07-04 03:24 (UTC) (edited on 2023-07-04 03:24 (UTC) by apocalyptech)

I see that those errors are both extended-attribute related. Do you happen to be building on a filesystem which doesn't support EAs / ACLs?

FWIW, after figuring out the timezone-related problems below, all the tests succeeded fine on my own machine, at least.

muesli4 commented on 2023-07-03 23:25 (UTC)

I got these test failures when building.

======================================================================
FAIL: testBasic (__main__.EATest.testBasic)
Test basic writing and reading of extended attributes
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/makepkg/rdiff-backup/src/rdiff-backup-2.2.5/testing/eas_aclstest.py", line 79, in testBasic
    self.assertEqual(new_ea.attr_dict, self.sample_ea.attr_dict)
AssertionError: {} != {b'user.empty': b'', b'user.not_empty': b'[1417 chars]xb1'}
Diff is 2186 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: testIterate (__main__.EATest.testIterate)
Test writing several records and then reading them back
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/makepkg/rdiff-backup/src/rdiff-backup-2.2.5/testing/eas_aclstest.py", line 194, in testIterate
    self.assertEqual(sample_ea_reread, self.sample_ea)
AssertionError: <rdiff_backup.eas_acls.ExtendedAttributes object at 0x7fc415d85490> != <rdiffbackup.meta.ea.ExtendedAttributes object at 0x7fc416efbed0>

----------------------------------------------------------------------
Ran 20 tests in 11.944s

It is really scary to get these from a backup utility, especially when you needed a backup.

apocalyptech commented on 2023-06-26 20:26 (UTC)

@LA-MJ - Ah yeah, the tests are very noisy and the output definitely includes some filenames with which they seemed to be testing various unicode-related conditions. I'd seen some filenames scroll past with some wild series-of-unintelligible-characters on 'em. On an en_US.UTF-8 console it doesn't actually screw up the whole terminal, but I'm not surprised that it could do so for other terms

@simon.wiles - Yeah, the path of least resistance is difficult to turn away from, for sure. :) Also makes sense why it was never caught before -- presumably the build machines for the main developers are all set to UTC (or postitive offsets), and I'm sure many folks building it manually either don't run the tests or ignore their output.

LA-MJ commented on 2023-06-26 20:13 (UTC)

Tests seem to corrupt my terminal with some horrendous output.

Solved it by doing the following:

{
  fakeroot tar --extract <...>
  <...>
  python testing <...>
  <...>
} > /dev/null 2>/dev/null

simon.wiles commented on 2023-06-26 17:08 (UTC)

@apocalyptech Thanks for looking into this -- good find! It'd been bothering me for a while (UTC-8), but I'd not found the time to look into it and I confess I'd just installed rdiff-backup with pipx...

apocalyptech commented on 2023-06-26 16:22 (UTC)

Submitted an Issue to upstream @ https://github.com/rdiff-backup/rdiff-backup/issues/892 btw

apocalyptech commented on 2023-06-26 16:10 (UTC)

Aha, interesting -- the actual failure at the end there, which I was running into as well, appears to be system-timezone related:

FAIL: test_action_listincrements (__main__.ActionListTest.test_action_listincrements)
test the list increments action, without and with size
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/zany130/.git/rdiff-backup/src/rdiff-backup-2.2.4/testing/action_list_test.py", line 131, in test_action_listincrements
    self.assertRegex(comtst.rdiff_backup_action(
AssertionError: Regex didn't match: b'---\n- base: increments.1970-01-0[12]T[0-9][0-9][:-][14]6[:-]40.*.dir\n  time: 10000\n  type: directory\n- base: bak\n  time: 20000\n  type: directory\n...\n\n' not found in b'---\n- base: increments.1969-12-31T21:46:40-05:00.dir\n  time: 10000\n  type: directory\n- base: bak\n  time: 20000\n  type: directory\n...\n\n'

It's checking for a datetime in January 1970, but if you're in a timezone that's sufficiently negative of GMT (maybe starting at about -2), the date shows up in 1969 instead, which doesn't match their regex. It looks like that can be fixed by setting TZ=utc inside check, a la:

  # Needed for at least one test in testing/action_list_test.py
  # test_action_listincrements will fail if the system timezone is
  # negative enough; something like GMT-2 or less will fail.
  export TZ=utc

  # Must be the first command to setup the test environment
  python testing/commontest.py

Putting that in place lets the build process get through all the tests.