head 1.1; access; symbols pkgsrc-2026Q3:1.1.0.2; locks; strict; comment @# @; 1.1 date 2026.11.06.11.52.39; author wiz; state Exp; branches 1.1.2.1; next ; commitid NQiFHjZ5Q0xMxo2H; 1.1.2.1 date 2026.11.06.11.52.39; author maya; state dead; branches; next 1.1.2.2; commitid UuXVghLTB0AvL13H; 1.1.2.2 date 2026.11.11.10.00.38; author maya; state Exp; branches; next ; commitid UuXVghLTB0AvL13H; desc @@ 1.1 log @rsync: update to 3.5.2nb1. add upstream patch fixing a problem with receiving symlinks. Bump PKGREVISION. Add test status. @ text @$NetBSD$ https://github.com/RsyncProject/rsync/commit/ea645201fefbba7f6b6b22b621856dba3c01cdd3 --- testsuite/symlink-receiver-perms_test.py.orig 2026-11-06 11:47:24.607409717 +0000 +++ testsuite/symlink-receiver-perms_test.py @@@@ -0,0 +1,41 @@@@ +#!/usr/bin/env python3 + +import os +import stat +import struct + +from rsyncfns import SCRATCHDIR, makepath, run_rsync, test_fail + +source = SCRATCHDIR / 'source' +destination = SCRATCHDIR / 'destination' +makepath(source) +makepath(destination) +target = destination / 'target' +target.write_text('target contents\n') +target.chmod(0o640) +links = [('link', 'target'), ('dangling', 'missing')] +for name, link in links: + os.symlink(link, source / name) + +batch = SCRATCHDIR / 'symlinks.batch' +run_rsync('-rlp', '--checksum-seed=1', f'--only-write-batch={batch}', + f'{source}/', f'{destination}/') + +# Supply BSD-style link modes without relying on the source filesystem +mode = stat.S_IMODE((source / 'link').lstat().st_mode) +wanted = 0o400 if mode != 0o400 else 0o755 +encoded_mode = struct.pack('