[1m[32m==>[m[1m Building on electivire[m
[1m[32m==>[m[1m Checking for remote environment...[m
[1m[32m==>[m[1m Syncing package to remote host...[m
sending incremental file list
./
.SRCINFO
          1,100 100%    0.00kB/s    0:00:00            1,100 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=3/5)
.nvchecker.toml
             46 100%   44.92kB/s    0:00:00               46 100%   44.92kB/s    0:00:00 (xfr#2, to-chk=2/5)
PKGBUILD
          2,239  35%    2.14MB/s    0:00:00            6,291 100%    6.00MB/s    0:00:00 (xfr#3, to-chk=1/5)
python-redis-6.2.0-1.log
            502 100%  490.23kB/s    0:00:00              502 100%  490.23kB/s    0:00:00 (xfr#4, to-chk=0/5)

sent 2,771 bytes  received 155 bytes  1,950.67 bytes/sec
total size is 7,634  speedup is 2.61
[1m[32m==>[m[1m Running pkgctl build --arch riscv64 --repo extra on remote host...[m
[1m[33m==> WARNING:[m[1m unsupported architecture: riscv64[m
[1m[32m==>[m[1m Building python-redis[m
[1m[34m  ->[m[1m   repo: extra[m
[1m[34m  ->[m[1m   arch: riscv64[m
[1m[34m  ->[m[1m worker: felix-1[m
[1m[32m==>[m[1m Building python-redis for [extra] (riscv64)[m
[22;2t]2;🔵 Container arch-nspawn-1586193 on electivire.felixc.at\[?25l:: Synchronizing package databases...
 core downloading...
 extra downloading...
error: restricting filesystem access failed because landlock is not supported by the kernel!
:: Starting full system upgrade...
 there is nothing to do
[?25h[0m[J[23;2t[1m[32m==>[m[1m Building in chroot for [extra] (riscv64)...[m
[1m[32m==>[m[1m Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-1]...[m[1mdone[m
[1m[32m==>[m[1m Making package: python-redis 6.2.0-1 (Wed Jun 18 11:40:36 2025)[m
[1m[32m==>[m[1m Retrieving sources...[m
[1m[34m  ->[m[1m Updating python-redis git repo...[m
From https://github.com/redis/redis-py
 - [deleted]           (none)                                            -> dependabot/github_actions/pypa/gh-action-pip-audit-1.1.0
 - [deleted]           (none)                                            -> dependabot/github_actions/rojopolis/spellcheck-github-actions-0.42.0
 - [deleted]           (none)                                            -> vv-full-coverage-bug-fix
 - [deleted]           (none)                                            -> vv-tba-support
 - [deleted]           (none)                                            -> refs/pull/1485/merge
 - [deleted]           (none)                                            -> refs/pull/2930/merge
 - [deleted]           (none)                                            -> refs/pull/2964/merge
 - [deleted]           (none)                                            -> refs/pull/2989/merge
 - [deleted]           (none)                                            -> refs/pull/3000/merge
 - [deleted]           (none)                                            -> refs/pull/3047/merge
 - [deleted]           (none)                                            -> refs/pull/3051/merge
 - [deleted]           (none)                                            -> refs/pull/3075/merge
 - [deleted]           (none)                                            -> refs/pull/3076/merge
 - [deleted]           (none)                                            -> refs/pull/3078/merge
 - [deleted]           (none)                                            -> refs/pull/3111/merge
 - [deleted]           (none)                                            -> refs/pull/3119/merge
 - [deleted]           (none)                                            -> refs/pull/3147/merge
 - [deleted]           (none)                                            -> refs/pull/3180/merge
 - [deleted]           (none)                                            -> refs/pull/3190/merge
 - [deleted]           (none)                                            -> refs/pull/3191/merge
 - [deleted]           (none)                                            -> refs/pull/3210/merge
 - [deleted]           (none)                                            -> refs/pull/3252/merge
 - [deleted]           (none)                                            -> refs/pull/3257/merge
 - [deleted]           (none)                                            -> refs/pull/3330/merge
 - [deleted]           (none)                                            -> refs/pull/3346/merge
 - [deleted]           (none)                                            -> refs/pull/3354/merge
 - [deleted]           (none)                                            -> refs/pull/3357/merge
 - [deleted]           (none)                                            -> refs/pull/3364/merge
 - [deleted]           (none)                                            -> refs/pull/3376/merge
 - [deleted]           (none)                                            -> refs/pull/3383/merge
 - [deleted]           (none)                                            -> refs/pull/3397/merge
 - [deleted]           (none)                                            -> refs/pull/3398/merge
 - [deleted]           (none)                                            -> refs/pull/3404/merge
 - [deleted]           (none)                                            -> refs/pull/3407/merge
 - [deleted]           (none)                                            -> refs/pull/3413/merge
 - [deleted]           (none)                                            -> refs/pull/3420/merge
 - [deleted]           (none)                                            -> refs/pull/3423/merge
 - [deleted]           (none)                                            -> refs/pull/3424/merge
 - [deleted]           (none)                                            -> refs/pull/3434/merge
 - [deleted]           (none)                                            -> refs/pull/3440/merge
 - [deleted]           (none)                                            -> refs/pull/3442/merge
 - [deleted]           (none)                                            -> refs/pull/3445/merge
 - [deleted]           (none)                                            -> refs/pull/3447/merge
 - [deleted]           (none)                                            -> refs/pull/3456/merge
remote: Enumerating objects: 4916, done.[K
remote: Counting objects:   0% (1/2087)[Kremote: Counting objects:   1% (21/2087)[Kremote: Counting objects:   2% (42/2087)[Kremote: Counting objects:   3% (63/2087)[Kremote: Counting objects:   4% (84/2087)[Kremote: Counting objects:   5% (105/2087)[Kremote: Counting objects:   6% (126/2087)[Kremote: Counting objects:   7% (147/2087)[Kremote: Counting objects:   8% (167/2087)[Kremote: Counting objects:   9% (188/2087)[Kremote: Counting objects:  10% (209/2087)[Kremote: Counting objects:  11% (230/2087)[Kremote: Counting objects:  12% (251/2087)[Kremote: Counting objects:  13% (272/2087)[Kremote: Counting objects:  14% (293/2087)[Kremote: Counting objects:  15% (314/2087)[Kremote: Counting objects:  16% (334/2087)[Kremote: Counting objects:  17% (355/2087)[Kremote: Counting objects:  18% (376/2087)[Kremote: Counting objects:  19% (397/2087)[Kremote: Counting objects:  20% (418/2087)[Kremote: Counting objects:  21% (439/2087)[Kremote: Counting objects:  22% (460/2087)[Kremote: Counting objects:  23% (481/2087)[Kremote: Counting objects:  24% (501/2087)[Kremote: Counting objects:  25% (522/2087)[Kremote: Counting objects:  26% (543/2087)[Kremote: Counting objects:  27% (564/2087)[Kremote: Counting objects:  28% (585/2087)[Kremote: Counting objects:  29% (606/2087)[Kremote: Counting objects:  30% (627/2087)[Kremote: Counting objects:  31% (647/2087)[Kremote: Counting objects:  32% (668/2087)[Kremote: Counting objects:  33% (689/2087)[Kremote: Counting objects:  34% (710/2087)[Kremote: Counting objects:  35% (731/2087)[Kremote: Counting objects:  36% (752/2087)[Kremote: Counting objects:  37% (773/2087)[Kremote: Counting objects:  38% (794/2087)[Kremote: Counting objects:  39% (814/2087)[Kremote: Counting objects:  40% (835/2087)[Kremote: Counting objects:  41% (856/2087)[Kremote: Counting objects:  42% (877/2087)[Kremote: Counting objects:  43% (898/2087)[Kremote: Counting objects:  44% (919/2087)[Kremote: Counting objects:  45% (940/2087)[Kremote: Counting objects:  46% (961/2087)[Kremote: Counting objects:  47% (981/2087)[Kremote: Counting objects:  48% (1002/2087)[Kremote: Counting objects:  49% (1023/2087)[Kremote: Counting objects:  50% (1044/2087)[Kremote: Counting objects:  51% (1065/2087)[Kremote: Counting objects:  52% (1086/2087)[Kremote: Counting objects:  53% (1107/2087)[Kremote: Counting objects:  54% (1127/2087)[Kremote: Counting objects:  55% (1148/2087)[Kremote: Counting objects:  56% (1169/2087)[Kremote: Counting objects:  57% (1190/2087)[Kremote: Counting objects:  58% (1211/2087)[Kremote: Counting objects:  59% (1232/2087)[Kremote: Counting objects:  60% (1253/2087)[Kremote: Counting objects:  61% (1274/2087)[Kremote: Counting objects:  62% (1294/2087)[Kremote: Counting objects:  63% (1315/2087)[Kremote: Counting objects:  64% (1336/2087)[Kremote: Counting objects:  65% (1357/2087)[Kremote: Counting objects:  66% (1378/2087)[Kremote: Counting objects:  67% (1399/2087)[Kremote: Counting objects:  68% (1420/2087)[Kremote: Counting objects:  69% (1441/2087)[Kremote: Counting objects:  70% (1461/2087)[Kremote: Counting objects:  71% (1482/2087)[Kremote: Counting objects:  72% (1503/2087)[Kremote: Counting objects:  73% (1524/2087)[Kremote: Counting objects:  74% (1545/2087)[Kremote: Counting objects:  75% (1566/2087)[Kremote: Counting objects:  76% (1587/2087)[Kremote: Counting objects:  77% (1607/2087)[Kremote: Counting objects:  78% (1628/2087)[Kremote: Counting objects:  79% (1649/2087)[Kremote: Counting objects:  80% (1670/2087)[Kremote: Counting objects:  81% (1691/2087)[Kremote: Counting objects:  82% (1712/2087)[Kremote: Counting objects:  83% (1733/2087)[Kremote: Counting objects:  84% (1754/2087)[Kremote: Counting objects:  85% (1774/2087)[Kremote: Counting objects:  86% (1795/2087)[Kremote: Counting objects:  87% (1816/2087)[Kremote: Counting objects:  88% (1837/2087)[Kremote: Counting objects:  89% (1858/2087)[Kremote: Counting objects:  90% (1879/2087)[Kremote: Counting objects:  91% (1900/2087)[Kremote: Counting objects:  92% (1921/2087)[Kremote: Counting objects:  93% (1941/2087)[Kremote: Counting objects:  94% (1962/2087)[Kremote: Counting objects:  95% (1983/2087)[Kremote: Counting objects:  96% (2004/2087)[Kremote: Counting objects:  97% (2025/2087)[Kremote: Counting objects:  98% (2046/2087)[Kremote: Counting objects:  99% (2067/2087)[Kremote: Counting objects: 100% (2087/2087)[Kremote: Counting objects: 100% (2087/2087), done.[K
remote: Compressing objects:   0% (1/129)[Kremote: Compressing objects:   1% (2/129)[Kremote: Compressing objects:   2% (3/129)[Kremote: Compressing objects:   3% (4/129)[Kremote: Compressing objects:   4% (6/129)[Kremote: Compressing objects:   5% (7/129)[Kremote: Compressing objects:   6% (8/129)[Kremote: Compressing objects:   7% (10/129)[Kremote: Compressing objects:   8% (11/129)[Kremote: Compressing objects:   9% (12/129)[Kremote: Compressing objects:  10% (13/129)[Kremote: Compressing objects:  11% (15/129)[Kremote: Compressing objects:  12% (16/129)[Kremote: Compressing objects:  13% (17/129)[Kremote: Compressing objects:  14% (19/129)[Kremote: Compressing objects:  15% (20/129)[Kremote: Compressing objects:  16% (21/129)[Kremote: Compressing objects:  17% (22/129)[Kremote: Compressing objects:  18% (24/129)[Kremote: Compressing objects:  19% (25/129)[Kremote: Compressing objects:  20% (26/129)[Kremote: Compressing objects:  21% (28/129)[Kremote: Compressing objects:  22% (29/129)[Kremote: Compressing objects:  23% (30/129)[Kremote: Compressing objects:  24% (31/129)[Kremote: Compressing objects:  25% (33/129)[Kremote: Compressing objects:  26% (34/129)[Kremote: Compressing objects:  27% (35/129)[Kremote: Compressing objects:  28% (37/129)[Kremote: Compressing objects:  29% (38/129)[Kremote: Compressing objects:  30% (39/129)[Kremote: Compressing objects:  31% (40/129)[Kremote: Compressing objects:  32% (42/129)[Kremote: Compressing objects:  33% (43/129)[Kremote: Compressing objects:  34% (44/129)[Kremote: Compressing objects:  35% (46/129)[Kremote: Compressing objects:  36% (47/129)[Kremote: Compressing objects:  37% (48/129)[Kremote: Compressing objects:  38% (50/129)[Kremote: Compressing objects:  39% (51/129)[Kremote: Compressing objects:  40% (52/129)[Kremote: Compressing objects:  41% (53/129)[Kremote: Compressing objects:  42% (55/129)[Kremote: Compressing objects:  43% (56/129)[Kremote: Compressing objects:  44% (57/129)[Kremote: Compressing objects:  45% (59/129)[Kremote: Compressing objects:  46% (60/129)[Kremote: Compressing objects:  47% (61/129)[Kremote: Compressing objects:  48% (62/129)[Kremote: Compressing objects:  49% (64/129)[Kremote: Compressing objects:  50% (65/129)[Kremote: Compressing objects:  51% (66/129)[Kremote: Compressing objects:  52% (68/129)[Kremote: Compressing objects:  53% (69/129)[Kremote: Compressing objects:  54% (70/129)[Kremote: Compressing objects:  55% (71/129)[Kremote: Compressing objects:  56% (73/129)[Kremote: Compressing objects:  57% (74/129)[Kremote: Compressing objects:  58% (75/129)[Kremote: Compressing objects:  59% (77/129)[Kremote: Compressing objects:  60% (78/129)[Kremote: Compressing objects:  61% (79/129)[Kremote: Compressing objects:  62% (80/129)[Kremote: Compressing objects:  63% (82/129)[Kremote: Compressing objects:  64% (83/129)[Kremote: Compressing objects:  65% (84/129)[Kremote: Compressing objects:  66% (86/129)[Kremote: Compressing objects:  67% (87/129)[Kremote: Compressing objects:  68% (88/129)[Kremote: Compressing objects:  69% (90/129)[Kremote: Compressing objects:  70% (91/129)[Kremote: Compressing objects:  71% (92/129)[Kremote: Compressing objects:  72% (93/129)[Kremote: Compressing objects:  73% (95/129)[Kremote: Compressing objects:  74% (96/129)[Kremote: Compressing objects:  75% (97/129)[Kremote: Compressing objects:  76% (99/129)[Kremote: Compressing objects:  77% (100/129)[Kremote: Compressing objects:  78% (101/129)[Kremote: Compressing objects:  79% (102/129)[Kremote: Compressing objects:  80% (104/129)[Kremote: Compressing objects:  81% (105/129)[Kremote: Compressing objects:  82% (106/129)[Kremote: Compressing objects:  83% (108/129)[Kremote: Compressing objects:  84% (109/129)[Kremote: Compressing objects:  85% (110/129)[Kremote: Compressing objects:  86% (111/129)[Kremote: Compressing objects:  87% (113/129)[Kremote: Compressing objects:  88% (114/129)[Kremote: Compressing objects:  89% (115/129)[Kremote: Compressing objects:  90% (117/129)[Kremote: Compressing objects:  91% (118/129)[Kremote: Compressing objects:  92% (119/129)[Kremote: Compressing objects:  93% (120/129)[Kremote: Compressing objects:  94% (122/129)[Kremote: Compressing objects:  95% (123/129)[Kremote: Compressing objects:  96% (124/129)[Kremote: Compressing objects:  97% (126/129)[Kremote: Compressing objects:  98% (127/129)[Kremote: Compressing objects:  99% (128/129)[Kremote: Compressing objects: 100% (129/129)[Kremote: Compressing objects: 100% (129/129), done.[K
Receiving objects:   0% (1/4916)Receiving objects:   1% (50/4916)Receiving objects:   2% (99/4916)Receiving objects:   3% (148/4916)Receiving objects:   4% (197/4916)Receiving objects:   5% (246/4916)Receiving objects:   6% (295/4916)Receiving objects:   7% (345/4916)Receiving objects:   8% (394/4916)Receiving objects:   9% (443/4916)Receiving objects:  10% (492/4916)Receiving objects:  11% (541/4916)Receiving objects:  12% (590/4916)Receiving objects:  13% (640/4916)Receiving objects:  14% (689/4916)Receiving objects:  15% (738/4916)Receiving objects:  16% (787/4916)Receiving objects:  17% (836/4916)Receiving objects:  18% (885/4916)Receiving objects:  19% (935/4916)Receiving objects:  20% (984/4916)Receiving objects:  21% (1033/4916)Receiving objects:  22% (1082/4916)Receiving objects:  23% (1131/4916)Receiving objects:  24% (1180/4916)Receiving objects:  25% (1229/4916)Receiving objects:  26% (1279/4916)Receiving objects:  27% (1328/4916)Receiving objects:  28% (1377/4916)Receiving objects:  29% (1426/4916)Receiving objects:  30% (1475/4916)Receiving objects:  31% (1524/4916)Receiving objects:  32% (1574/4916)Receiving objects:  33% (1623/4916)Receiving objects:  34% (1672/4916)Receiving objects:  35% (1721/4916)Receiving objects:  36% (1770/4916)Receiving objects:  37% (1819/4916)Receiving objects:  38% (1869/4916)Receiving objects:  39% (1918/4916)Receiving objects:  40% (1967/4916)Receiving objects:  41% (2016/4916)Receiving objects:  42% (2065/4916)Receiving objects:  43% (2114/4916)Receiving objects:  44% (2164/4916)Receiving objects:  45% (2213/4916)Receiving objects:  46% (2262/4916)Receiving objects:  47% (2311/4916)Receiving objects:  48% (2360/4916)Receiving objects:  49% (2409/4916)Receiving objects:  50% (2458/4916)Receiving objects:  51% (2508/4916)Receiving objects:  52% (2557/4916)Receiving objects:  53% (2606/4916)Receiving objects:  54% (2655/4916)Receiving objects:  55% (2704/4916)Receiving objects:  56% (2753/4916)Receiving objects:  57% (2803/4916)Receiving objects:  58% (2852/4916)Receiving objects:  59% (2901/4916)Receiving objects:  60% (2950/4916)Receiving objects:  61% (2999/4916)Receiving objects:  62% (3048/4916)Receiving objects:  63% (3098/4916)Receiving objects:  64% (3147/4916)Receiving objects:  65% (3196/4916)Receiving objects:  66% (3245/4916)Receiving objects:  67% (3294/4916)Receiving objects:  68% (3343/4916)Receiving objects:  69% (3393/4916)Receiving objects:  70% (3442/4916)Receiving objects:  71% (3491/4916)Receiving objects:  72% (3540/4916)Receiving objects:  73% (3589/4916)Receiving objects:  74% (3638/4916)Receiving objects:  75% (3687/4916)Receiving objects:  76% (3737/4916)Receiving objects:  77% (3786/4916)Receiving objects:  78% (3835/4916)Receiving objects:  79% (3884/4916)Receiving objects:  80% (3933/4916)Receiving objects:  81% (3982/4916)Receiving objects:  82% (4032/4916)Receiving objects:  83% (4081/4916)Receiving objects:  84% (4130/4916)Receiving objects:  85% (4179/4916)Receiving objects:  86% (4228/4916)Receiving objects:  87% (4277/4916)Receiving objects:  88% (4327/4916)Receiving objects:  89% (4376/4916)Receiving objects:  90% (4425/4916)Receiving objects:  91% (4474/4916)Receiving objects:  92% (4523/4916)Receiving objects:  93% (4572/4916)Receiving objects:  94% (4622/4916)Receiving objects:  95% (4671/4916)Receiving objects:  96% (4720/4916)Receiving objects:  97% (4769/4916)Receiving objects:  98% (4818/4916)remote: Total 4916 (delta 2021), reused 1979 (delta 1958), pack-reused 2829 (from 2)[K
Receiving objects:  99% (4867/4916)Receiving objects: 100% (4916/4916)Receiving objects: 100% (4916/4916), 2.21 MiB | 70.77 MiB/s, done.
Resolving deltas:   0% (0/3648)Resolving deltas:   1% (38/3648)Resolving deltas:   2% (75/3648)Resolving deltas:   3% (111/3648)Resolving deltas:   4% (146/3648)Resolving deltas:   5% (183/3648)Resolving deltas:   6% (220/3648)Resolving deltas:   7% (256/3648)Resolving deltas:   8% (292/3648)Resolving deltas:   9% (329/3648)Resolving deltas:  10% (365/3648)Resolving deltas:  11% (402/3648)Resolving deltas:  12% (438/3648)Resolving deltas:  13% (476/3648)Resolving deltas:  14% (512/3648)Resolving deltas:  15% (548/3648)Resolving deltas:  16% (586/3648)Resolving deltas:  17% (621/3648)Resolving deltas:  18% (657/3648)Resolving deltas:  19% (694/3648)Resolving deltas:  20% (730/3648)Resolving deltas:  21% (767/3648)Resolving deltas:  22% (804/3648)Resolving deltas:  23% (840/3648)Resolving deltas:  24% (878/3648)Resolving deltas:  25% (913/3648)Resolving deltas:  26% (951/3648)Resolving deltas:  27% (985/3648)Resolving deltas:  28% (1022/3648)Resolving deltas:  29% (1059/3648)Resolving deltas:  30% (1096/3648)Resolving deltas:  31% (1131/3648)Resolving deltas:  32% (1168/3648)Resolving deltas:  33% (1204/3648)Resolving deltas:  34% (1241/3648)Resolving deltas:  35% (1277/3648)Resolving deltas:  36% (1314/3648)Resolving deltas:  37% (1350/3648)Resolving deltas:  38% (1387/3648)Resolving deltas:  39% (1424/3648)Resolving deltas:  40% (1460/3648)Resolving deltas:  41% (1496/3648)Resolving deltas:  42% (1533/3648)Resolving deltas:  43% (1570/3648)Resolving deltas:  44% (1606/3648)Resolving deltas:  45% (1642/3648)Resolving deltas:  46% (1681/3648)Resolving deltas:  47% (1717/3648)Resolving deltas:  48% (1752/3648)Resolving deltas:  49% (1788/3648)Resolving deltas:  50% (1824/3648)Resolving deltas:  51% (1861/3648)Resolving deltas:  52% (1897/3648)Resolving deltas:  53% (1934/3648)Resolving deltas:  54% (1970/3648)Resolving deltas:  55% (2007/3648)Resolving deltas:  56% (2043/3648)Resolving deltas:  57% (2080/3648)Resolving deltas:  58% (2116/3648)Resolving deltas:  59% (2153/3648)Resolving deltas:  60% (2189/3648)Resolving deltas:  61% (2226/3648)Resolving deltas:  62% (2262/3648)Resolving deltas:  63% (2299/3648)Resolving deltas:  64% (2335/3648)Resolving deltas:  65% (2372/3648)Resolving deltas:  66% (2408/3648)Resolving deltas:  67% (2445/3648)Resolving deltas:  68% (2481/3648)Resolving deltas:  69% (2518/3648)Resolving deltas:  70% (2554/3648)Resolving deltas:  71% (2591/3648)Resolving deltas:  72% (2627/3648)Resolving deltas:  73% (2664/3648)Resolving deltas:  74% (2700/3648)Resolving deltas:  75% (2736/3648)Resolving deltas:  76% (2773/3648)Resolving deltas:  77% (2809/3648)Resolving deltas:  78% (2846/3648)Resolving deltas:  79% (2882/3648)Resolving deltas:  80% (2919/3648)Resolving deltas:  81% (2955/3648)Resolving deltas:  82% (2992/3648)Resolving deltas:  83% (3028/3648)Resolving deltas:  84% (3065/3648)Resolving deltas:  85% (3101/3648)Resolving deltas:  86% (3138/3648)Resolving deltas:  87% (3174/3648)Resolving deltas:  88% (3211/3648)Resolving deltas:  89% (3247/3648)Resolving deltas:  90% (3284/3648)Resolving deltas:  91% (3320/3648)Resolving deltas:  92% (3357/3648)Resolving deltas:  93% (3393/3648)Resolving deltas:  94% (3430/3648)Resolving deltas:  95% (3466/3648)Resolving deltas:  96% (3503/3648)Resolving deltas:  97% (3539/3648)Resolving deltas:  98% (3576/3648)Resolving deltas:  99% (3612/3648)Resolving deltas: 100% (3648/3648)Resolving deltas: 100% (3648/3648), completed with 242 local objects.
 * [new branch]        5.3                                               -> 5.3
 * [new branch]        6.0                                               -> 6.0
 * [new branch]        6.1                                               -> 6.1
 * [new branch]        6.2                                               -> 6.2
 * [new branch]        fixing_mypy_errors                                -> fixing_mypy_errors
   8f2276e1..0d0cfe66  master                                            -> master
 * [new branch]        multi-exec-on-cluster                             -> multi-exec-on-cluster
 * [new branch]        ps_remove_sync_context_manager_from_async_cluster -> ps_remove_sync_context_manager_from_async_cluster
 * [new branch]        ps_retries_unification                            -> ps_retries_unification
 * [new branch]        ps_update_test_images                             -> ps_update_test_images
 * [new branch]        vv-3554-fix                                       -> vv-3554-fix
 * [new branch]        vv-8.0-stack-tests-cluster                        -> vv-8.0-stack-tests-cluster
 * [new branch]        vv-multi-db-client                                -> vv-multi-db-client
 * [new branch]        vv-test                                           -> vv-test
   50f2c98e..42d0da9f  refs/pull/1485/head                               -> refs/pull/1485/head
 + 697c3497...a0252772 refs/pull/2930/head                               -> refs/pull/2930/head  (forced update)
   81bfe40e..2206589e  refs/pull/2996/head                               -> refs/pull/2996/head
 + dbf626e6...80eea4b9 refs/pull/2996/merge                              -> refs/pull/2996/merge  (forced update)
   53d1f755..56703129  refs/pull/3040/head                               -> refs/pull/3040/head
 + 498469dd...c572af1b refs/pull/3040/merge                              -> refs/pull/3040/merge  (forced update)
   a0af3332..2feb6a73  refs/pull/3047/head                               -> refs/pull/3047/head
 + fb7f2b20...7a79a9ff refs/pull/3078/head                               -> refs/pull/3078/head  (forced update)
 + 7258a170...f06f672d refs/pull/3147/head                               -> refs/pull/3147/head  (forced update)
 + 42a24610...809ebabd refs/pull/3152/merge                              -> refs/pull/3152/merge  (forced update)
 + 60540fda...5dc628c1 refs/pull/3182/merge                              -> refs/pull/3182/merge  (forced update)
   f1826553..cd02eccb  refs/pull/3190/head                               -> refs/pull/3190/head
   3f921093..4c88b66f  refs/pull/3191/head                               -> refs/pull/3191/head
 + c7537e4f...7522210e refs/pull/3205/merge                              -> refs/pull/3205/merge  (forced update)
 + 89f2def8...92bde786 refs/pull/3321/merge                              -> refs/pull/3321/merge  (forced update)
 + d6f85814...c3428d91 refs/pull/3331/merge                              -> refs/pull/3331/merge  (forced update)
 + 4ef416b7...24f90a96 refs/pull/3341/merge                              -> refs/pull/3341/merge  (forced update)
   fac21c6e..481dd2c5  refs/pull/3346/head                               -> refs/pull/3346/head
   316bd915..821450e6  refs/pull/3354/head                               -> refs/pull/3354/head
 + 31dbb851...c3b5890e refs/pull/3357/head                               -> refs/pull/3357/head  (forced update)
 + 7458ef1f...0c7d0f73 refs/pull/3367/merge                              -> refs/pull/3367/merge  (forced update)
   751448d6..a659e2c9  refs/pull/3376/head                               -> refs/pull/3376/head
 + ae5b957d...0e6e0e89 refs/pull/3397/head                               -> refs/pull/3397/head  (forced update)
   d0e321fe..2f5cd41e  refs/pull/3407/head                               -> refs/pull/3407/head
   c1909f8b..a5ffb221  refs/pull/3420/head                               -> refs/pull/3420/head
   32813a63..893c41ee  refs/pull/3424/head                               -> refs/pull/3424/head
 + adaa3a26...a8f4f631 refs/pull/3432/head                               -> refs/pull/3432/head  (forced update)
 + 0fef42cc...9b77fc66 refs/pull/3432/merge                              -> refs/pull/3432/merge  (forced update)
   d88b8151..341b8fab  refs/pull/3434/head                               -> refs/pull/3434/head
   0bd07d87..8f9f9d47  refs/pull/3435/head                               -> refs/pull/3435/head
 + 20782472...cfe0e3a6 refs/pull/3435/merge                              -> refs/pull/3435/merge  (forced update)
   e7fcd7b3..cf1875da  refs/pull/3439/head                               -> refs/pull/3439/head
 + 7ed3abb8...a07bd67a refs/pull/3439/merge                              -> refs/pull/3439/merge  (forced update)
   d5e925b2..a6b26241  refs/pull/3440/head                               -> refs/pull/3440/head
 + d05f676f...1ab137e2 refs/pull/3442/head                               -> refs/pull/3442/head  (forced update)
   ee2ce1a1..a7233b09  refs/pull/3445/head                               -> refs/pull/3445/head
   dd2ee3f3..5868209a  refs/pull/3447/head                               -> refs/pull/3447/head
 + ce0000c0...a3fcb3a1 refs/pull/3448/merge                              -> refs/pull/3448/merge  (forced update)
 + 7ae3e628...e47763ef refs/pull/3456/head                               -> refs/pull/3456/head  (forced update)
 * [new ref]           refs/pull/3458/head                               -> refs/pull/3458/head
 * [new ref]           refs/pull/3462/head                               -> refs/pull/3462/head
 * [new ref]           refs/pull/3465/head                               -> refs/pull/3465/head
 * [new ref]           refs/pull/3466/head                               -> refs/pull/3466/head
 * [new ref]           refs/pull/3467/head                               -> refs/pull/3467/head
 * [new ref]           refs/pull/3468/head                               -> refs/pull/3468/head
 * [new ref]           refs/pull/3469/head                               -> refs/pull/3469/head
 * [new ref]           refs/pull/3471/head                               -> refs/pull/3471/head
 * [new ref]           refs/pull/3471/merge                              -> refs/pull/3471/merge
 * [new ref]           refs/pull/3472/head                               -> refs/pull/3472/head
 * [new ref]           refs/pull/3473/head                               -> refs/pull/3473/head
 * [new ref]           refs/pull/3474/head                               -> refs/pull/3474/head
 * [new ref]           refs/pull/3475/head                               -> refs/pull/3475/head
 * [new ref]           refs/pull/3476/head                               -> refs/pull/3476/head
 * [new ref]           refs/pull/3477/head                               -> refs/pull/3477/head
 * [new ref]           refs/pull/3480/head                               -> refs/pull/3480/head
 * [new ref]           refs/pull/3481/head                               -> refs/pull/3481/head
 * [new ref]           refs/pull/3482/head                               -> refs/pull/3482/head
 * [new ref]           refs/pull/3482/merge                              -> refs/pull/3482/merge
 * [new ref]           refs/pull/3484/head                               -> refs/pull/3484/head
 * [new ref]           refs/pull/3485/head                               -> refs/pull/3485/head
 * [new ref]           refs/pull/3486/head                               -> refs/pull/3486/head
 * [new ref]           refs/pull/3489/head                               -> refs/pull/3489/head
 * [new ref]           refs/pull/3490/head                               -> refs/pull/3490/head
 * [new ref]           refs/pull/3493/head                               -> refs/pull/3493/head
 * [new ref]           refs/pull/3494/head                               -> refs/pull/3494/head
 * [new ref]           refs/pull/3495/head                               -> refs/pull/3495/head
 * [new ref]           refs/pull/3496/head                               -> refs/pull/3496/head
 * [new ref]           refs/pull/3499/head                               -> refs/pull/3499/head
 * [new ref]           refs/pull/3500/head                               -> refs/pull/3500/head
 * [new ref]           refs/pull/3502/head                               -> refs/pull/3502/head
 * [new ref]           refs/pull/3504/head                               -> refs/pull/3504/head
 * [new ref]           refs/pull/3505/head                               -> refs/pull/3505/head
 * [new ref]           refs/pull/3506/head                               -> refs/pull/3506/head
 * [new ref]           refs/pull/3507/head                               -> refs/pull/3507/head
 * [new ref]           refs/pull/3510/head                               -> refs/pull/3510/head
 * [new ref]           refs/pull/3511/head                               -> refs/pull/3511/head
 * [new ref]           refs/pull/3512/head                               -> refs/pull/3512/head
 * [new ref]           refs/pull/3512/merge                              -> refs/pull/3512/merge
 * [new ref]           refs/pull/3513/head                               -> refs/pull/3513/head
 * [new ref]           refs/pull/3514/head                               -> refs/pull/3514/head
 * [new ref]           refs/pull/3516/head                               -> refs/pull/3516/head
 * [new ref]           refs/pull/3517/head                               -> refs/pull/3517/head
 * [new ref]           refs/pull/3518/head                               -> refs/pull/3518/head
 * [new ref]           refs/pull/3520/head                               -> refs/pull/3520/head
 * [new ref]           refs/pull/3521/head                               -> refs/pull/3521/head
 * [new ref]           refs/pull/3522/head                               -> refs/pull/3522/head
 * [new ref]           refs/pull/3523/head                               -> refs/pull/3523/head
 * [new ref]           refs/pull/3524/head                               -> refs/pull/3524/head
 * [new ref]           refs/pull/3525/head                               -> refs/pull/3525/head
 * [new ref]           refs/pull/3526/head                               -> refs/pull/3526/head
 * [new ref]           refs/pull/3527/head                               -> refs/pull/3527/head
 * [new ref]           refs/pull/3528/head                               -> refs/pull/3528/head
 * [new ref]           refs/pull/3529/head                               -> refs/pull/3529/head
 * [new ref]           refs/pull/3530/head                               -> refs/pull/3530/head
 * [new ref]           refs/pull/3531/head                               -> refs/pull/3531/head
 * [new ref]           refs/pull/3533/head                               -> refs/pull/3533/head
 * [new ref]           refs/pull/3534/head                               -> refs/pull/3534/head
 * [new ref]           refs/pull/3537/head                               -> refs/pull/3537/head
 * [new ref]           refs/pull/3538/head                               -> refs/pull/3538/head
 * [new ref]           refs/pull/3539/head                               -> refs/pull/3539/head
 * [new ref]           refs/pull/3541/head                               -> refs/pull/3541/head
 * [new ref]           refs/pull/3542/head                               -> refs/pull/3542/head
 * [new ref]           refs/pull/3544/head                               -> refs/pull/3544/head
 * [new ref]           refs/pull/3545/head                               -> refs/pull/3545/head
 * [new ref]           refs/pull/3548/head                               -> refs/pull/3548/head
 * [new ref]           refs/pull/3550/head                               -> refs/pull/3550/head
 * [new ref]           refs/pull/3551/head                               -> refs/pull/3551/head
 * [new ref]           refs/pull/3553/head                               -> refs/pull/3553/head
 * [new ref]           refs/pull/3556/head                               -> refs/pull/3556/head
 * [new ref]           refs/pull/3557/head                               -> refs/pull/3557/head
 * [new ref]           refs/pull/3559/head                               -> refs/pull/3559/head
 * [new ref]           refs/pull/3562/head                               -> refs/pull/3562/head
 * [new ref]           refs/pull/3562/merge                              -> refs/pull/3562/merge
 * [new ref]           refs/pull/3563/head                               -> refs/pull/3563/head
 * [new ref]           refs/pull/3564/head                               -> refs/pull/3564/head
 * [new ref]           refs/pull/3567/head                               -> refs/pull/3567/head
 * [new ref]           refs/pull/3568/head                               -> refs/pull/3568/head
 * [new ref]           refs/pull/3570/head                               -> refs/pull/3570/head
 * [new ref]           refs/pull/3576/head                               -> refs/pull/3576/head
 * [new ref]           refs/pull/3578/head                               -> refs/pull/3578/head
 * [new ref]           refs/pull/3579/head                               -> refs/pull/3579/head
 * [new ref]           refs/pull/3580/head                               -> refs/pull/3580/head
 * [new ref]           refs/pull/3584/head                               -> refs/pull/3584/head
 * [new ref]           refs/pull/3585/head                               -> refs/pull/3585/head
 * [new ref]           refs/pull/3586/head                               -> refs/pull/3586/head
 * [new ref]           refs/pull/3587/head                               -> refs/pull/3587/head
 * [new ref]           refs/pull/3588/head                               -> refs/pull/3588/head
 * [new ref]           refs/pull/3589/head                               -> refs/pull/3589/head
 * [new ref]           refs/pull/3590/head                               -> refs/pull/3590/head
 * [new ref]           refs/pull/3592/head                               -> refs/pull/3592/head
 * [new ref]           refs/pull/3594/head                               -> refs/pull/3594/head
 * [new ref]           refs/pull/3596/head                               -> refs/pull/3596/head
 * [new ref]           refs/pull/3596/merge                              -> refs/pull/3596/merge
 * [new ref]           refs/pull/3597/head                               -> refs/pull/3597/head
 * [new ref]           refs/pull/3598/head                               -> refs/pull/3598/head
 * [new ref]           refs/pull/3601/head                               -> refs/pull/3601/head
 * [new ref]           refs/pull/3601/merge                              -> refs/pull/3601/merge
 * [new ref]           refs/pull/3606/head                               -> refs/pull/3606/head
 * [new ref]           refs/pull/3607/head                               -> refs/pull/3607/head
 * [new ref]           refs/pull/3608/head                               -> refs/pull/3608/head
 * [new ref]           refs/pull/3609/head                               -> refs/pull/3609/head
 * [new ref]           refs/pull/3610/head                               -> refs/pull/3610/head
 * [new ref]           refs/pull/3611/head                               -> refs/pull/3611/head
 * [new ref]           refs/pull/3614/head                               -> refs/pull/3614/head
 * [new ref]           refs/pull/3617/head                               -> refs/pull/3617/head
 * [new ref]           refs/pull/3619/head                               -> refs/pull/3619/head
 * [new ref]           refs/pull/3619/merge                              -> refs/pull/3619/merge
 * [new ref]           refs/pull/3621/head                               -> refs/pull/3621/head
 * [new ref]           refs/pull/3622/head                               -> refs/pull/3622/head
 * [new ref]           refs/pull/3623/head                               -> refs/pull/3623/head
 * [new ref]           refs/pull/3625/head                               -> refs/pull/3625/head
 * [new ref]           refs/pull/3626/head                               -> refs/pull/3626/head
 * [new ref]           refs/pull/3628/head                               -> refs/pull/3628/head
 * [new ref]           refs/pull/3632/head                               -> refs/pull/3632/head
 * [new ref]           refs/pull/3633/head                               -> refs/pull/3633/head
 * [new ref]           refs/pull/3634/head                               -> refs/pull/3634/head
 * [new ref]           refs/pull/3636/head                               -> refs/pull/3636/head
 * [new ref]           refs/pull/3637/head                               -> refs/pull/3637/head
 * [new ref]           refs/pull/3639/head                               -> refs/pull/3639/head
 * [new ref]           refs/pull/3641/head                               -> refs/pull/3641/head
 * [new ref]           refs/pull/3642/head                               -> refs/pull/3642/head
 * [new ref]           refs/pull/3644/head                               -> refs/pull/3644/head
 * [new ref]           refs/pull/3645/head                               -> refs/pull/3645/head
 * [new ref]           refs/pull/3646/head                               -> refs/pull/3646/head
 * [new ref]           refs/pull/3647/head                               -> refs/pull/3647/head
 * [new ref]           refs/pull/3647/merge                              -> refs/pull/3647/merge
 * [new ref]           refs/pull/3648/head                               -> refs/pull/3648/head
 * [new ref]           refs/pull/3649/head                               -> refs/pull/3649/head
 * [new ref]           refs/pull/3651/head                               -> refs/pull/3651/head
 * [new ref]           refs/pull/3651/merge                              -> refs/pull/3651/merge
 * [new ref]           refs/pull/3652/head                               -> refs/pull/3652/head
 * [new ref]           refs/pull/3653/head                               -> refs/pull/3653/head
 * [new ref]           refs/pull/3654/head                               -> refs/pull/3654/head
 * [new ref]           refs/pull/3655/head                               -> refs/pull/3655/head
 * [new ref]           refs/pull/3656/head                               -> refs/pull/3656/head
 * [new ref]           refs/pull/3657/head                               -> refs/pull/3657/head
 * [new ref]           refs/pull/3658/head                               -> refs/pull/3658/head
 * [new ref]           refs/pull/3659/head                               -> refs/pull/3659/head
 * [new ref]           refs/pull/3660/head                               -> refs/pull/3660/head
 * [new ref]           refs/pull/3661/head                               -> refs/pull/3661/head
 * [new ref]           refs/pull/3662/head                               -> refs/pull/3662/head
 * [new ref]           refs/pull/3664/head                               -> refs/pull/3664/head
 * [new ref]           refs/pull/3664/merge                              -> refs/pull/3664/merge
 * [new ref]           refs/pull/3665/head                               -> refs/pull/3665/head
 * [new ref]           refs/pull/3666/head                               -> refs/pull/3666/head
 * [new ref]           refs/pull/3666/merge                              -> refs/pull/3666/merge
 * [new ref]           refs/pull/3667/head                               -> refs/pull/3667/head
 * [new ref]           refs/pull/3668/head                               -> refs/pull/3668/head
 * [new ref]           refs/pull/3668/merge                              -> refs/pull/3668/merge
 * [new ref]           refs/pull/3670/head                               -> refs/pull/3670/head
 * [new ref]           refs/pull/3671/head                               -> refs/pull/3671/head
 * [new ref]           refs/pull/3674/head                               -> refs/pull/3674/head
 * [new ref]           refs/pull/3676/head                               -> refs/pull/3676/head
 * [new ref]           refs/pull/3677/head                               -> refs/pull/3677/head
 * [new ref]           refs/pull/3678/head                               -> refs/pull/3678/head
 * [new ref]           refs/pull/3678/merge                              -> refs/pull/3678/merge
 * [new ref]           refs/pull/3679/head                               -> refs/pull/3679/head
 * [new ref]           refs/pull/3679/merge                              -> refs/pull/3679/merge
 * [new tag]           v5.3.0                                            -> v5.3.0
 * [new tag]           v5.3.0b1                                          -> v5.3.0b1
 * [new tag]           v5.3.0b2                                          -> v5.3.0b2
 * [new tag]           v5.3.0b3                                          -> v5.3.0b3
 * [new tag]           v5.3.0b4                                          -> v5.3.0b4
 * [new tag]           v5.3.0b5                                          -> v5.3.0b5
 * [new tag]           v6.0.0                                            -> v6.0.0
 * [new tag]           v6.0.0b1                                          -> v6.0.0b1
 * [new tag]           v6.0.0b2                                          -> v6.0.0b2
 * [new tag]           v6.1.0                                            -> v6.1.0
 * [new tag]           v6.1.1                                            -> v6.1.1
 * [new tag]           v6.2.0                                            -> v6.2.0
[1m[32m==>[m[1m Validating source files with b2sums...[m
    python-redis ... Passed
[22;2t]2;🔵 Container arch-nspawn-1587185 on electivire.felixc.at\[1m[32m==>[m[1m Making package: python-redis 6.2.0-1 (Wed Jun 18 03:40:47 2025)[m
[1m[32m==>[m[1m Checking runtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...

Package (2)     New Version  Net Change

core/mpdecimal  4.0.1-1        0.31 MiB
core/python     3.13.3-1     108.92 MiB

Total Installed Size:  109.23 MiB

:: Proceed with installation? [Y/n] 
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing mpdecimal...
installing python...
Optional dependencies for python
    python-setuptools: for building Python packages using tooling that is usually bundled with Python
    python-pip: for installing Python packages using tooling that is usually bundled with Python
    python-pipx: for installing Python software not packaged on Arch Linux
    sqlite: for a default database integration [installed]
    xz: for lzma [installed]
    tk: for tkinter
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[?25h[1m[32m==>[m[1m Checking buildtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...

Package (36)                     New Version    Net Change  Download Size

extra/blas                       3.12.1-2         0.43 MiB               
extra/cblas                      3.12.1-2         0.31 MiB               
extra/hiredis                    1.3.0-1          0.17 MiB       0.06 MiB
extra/jemalloc                   1:5.3.0-5        6.08 MiB               
extra/lapack                     3.12.1-2         9.09 MiB               
extra/perl-error                 0.17030-1        0.04 MiB               
extra/perl-mailtools             2.22-1           0.10 MiB               
extra/perl-timedate              2.33-7           0.08 MiB               
extra/python-cffi                1.17.1-2         1.35 MiB               
extra/python-charset-normalizer  3.4.2-1          0.46 MiB       0.09 MiB
extra/python-editables           0.5-5            0.03 MiB               
extra/python-idna                3.10-2           0.88 MiB       0.10 MiB
extra/python-iniconfig           2.1.0-1          0.04 MiB               
extra/python-packaging           25.0-1           0.67 MiB               
extra/python-pathspec            0.12.1-3         0.23 MiB               
extra/python-pluggy              1.6.0-1          0.20 MiB               
extra/python-pycparser           2.22-3           1.69 MiB               
extra/python-pygments            2.19.1-1        14.39 MiB               
extra/python-pyproject-hooks     1.2.0-3          0.10 MiB               
extra/python-trove-classifiers   2025.5.9.12-1    0.13 MiB               
extra/python-urllib3             2.4.0-1          1.26 MiB               
extra/zlib-ng                    2.2.4-1          0.21 MiB               
extra/git                        2.50.0-1        28.58 MiB               
extra/python-build               1.2.2-3          0.20 MiB               
extra/python-coverage            7.8.2-1          1.93 MiB       0.36 MiB
extra/python-cryptography        45.0.4-1         5.53 MiB               
extra/python-hatchling           1.27.0-1         0.94 MiB               
extra/python-hiredis             3.2.1-2          0.04 MiB       0.02 MiB
extra/python-installer           0.7.0-10         0.17 MiB               
extra/python-numpy               2.3.0-2         39.41 MiB               
extra/python-pyopenssl           25.1.0-1         0.68 MiB       0.11 MiB
extra/python-pytest              1:8.4.0-1        4.16 MiB               
extra/python-pytest-asyncio      0.26.0-1         0.16 MiB               
extra/python-requests            2.32.4-1         0.60 MiB       0.12 MiB
extra/python-wheel               0.45.1-1         0.28 MiB               
extra/valkey                     8.1.2-1          3.77 MiB       1.35 MiB

Total Download Size:     2.20 MiB
Total Installed Size:  124.39 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 valkey-8.1.2-1-riscv64 downloading...
 python-coverage-7.8.2-1-riscv64 downloading...
 python-requests-2.32.4-1-any downloading...
 python-pyopenssl-25.1.0-1-any downloading...
 python-idna-3.10-2-any downloading...
 python-charset-normalizer-3.4.2-1-any downloading...
 hiredis-1.3.0-1-riscv64 downloading...
 python-hiredis-3.2.1-2-riscv64 downloading...
error: restricting filesystem access failed because landlock is not supported by the kernel!
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing zlib-ng...
installing git...
Optional dependencies for git
    git-zsh-completion: upstream zsh completion
    tk: gitk and git gui
    openssh: ssh transport and crypto
    man: show help with `git command --help`
    perl-libwww: git svn
    perl-term-readkey: git svn and interactive.singlekey setting
    perl-io-socket-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    perl-mediawiki-api: git mediawiki support
    perl-datetime-format-iso8601: git mediawiki support
    perl-lwp-protocol-https: git mediawiki https support
    perl-cgi: gitweb (web interface) support
    python: git svn & git p4 [installed]
    subversion: git svn
    org.freedesktop.secrets: keyring credential helper
    libsecret: libsecret credential helper [installed]
installing python-packaging...
installing python-pyproject-hooks...
installing python-build...
Optional dependencies for python-build
    python-pip: to use as the Python package installer (default)
    python-uv: to use as the Python package installer
    python-virtualenv: to use virtualenv for build isolation
installing python-editables...
installing python-pathspec...
installing python-pluggy...
installing python-trove-classifiers...
installing python-hatchling...
installing python-installer...
installing python-wheel...
Optional dependencies for python-wheel
    python-keyring: for wheel.signatures
    python-xdg: for wheel.signatures
    python-setuptools: for legacy bdist_wheel subcommand
installing python-coverage...
installing python-pycparser...
installing python-cffi...
Optional dependencies for python-cffi
    python-setuptools: "limited api" version checking in cffi.setuptools_ext
installing python-cryptography...
installing hiredis...
installing python-hiredis...
installing blas...
installing cblas...
installing lapack...
installing python-numpy...
Optional dependencies for python-numpy
    blas-openblas: faster linear algebra
installing python-pyopenssl...
installing python-iniconfig...
installing python-pygments...
installing python-pytest...
installing python-pytest-asyncio...
installing python-charset-normalizer...
installing python-idna...
installing python-urllib3...
Optional dependencies for python-urllib3
    python-brotli: Brotli support
    python-brotlicffi: Brotli support
    python-h2: HTTP/2 support
    python-pysocks: SOCKS support
    python-zstandard: Zstandard support
installing python-requests...
Optional dependencies for python-requests
    python-chardet: alternative character encoding library
    python-pysocks: SOCKS proxy support
installing jemalloc...
Optional dependencies for jemalloc
    perl: for jeprof [installed]
installing valkey...
:: Running post-transaction hooks...
(1/5) Creating system user accounts...
Creating group 'git' with GID 971.
Creating user 'git' (git daemon user) with UID 971 and GID 971.
Creating group 'valkey' with GID 970.
Creating user 'valkey' (Redis in-memory data structure store) with UID 970 and GID 970.
(2/5) Reloading system manager configuration...
  Skipped: Current root is not booted.
(3/5) Creating temporary files...
(4/5) Arming ConditionNeedsUpdate...
(5/5) Checking for old perl modules...
[?25h[1m[32m==>[m[1m Retrieving sources...[m
[1m[33m==> WARNING:[m[1m Skipping all source file integrity checks.[m
[1m[32m==>[m[1m Extracting sources...[m
[1m[34m  ->[m[1m Creating working copy of python-redis git repo...[m
Cloning into 'python-redis'...
done.
Switched to a new branch 'makepkg'
[1m[32m==>[m[1m Starting prepare()...[m
[1m[32m==>[m[1m Starting build()...[m
* Getting build dependencies for wheel...
* Building wheel...
Successfully built redis-6.2.0-py3-none-any.whl
[1m[32m==>[m[1m Starting check()...[m
2645:M 18 Jun 2025 03:41:10.757 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2645:M 18 Jun 2025 03:41:10.758 # WARNING You have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Valkey. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Valkey must be restarted after THP is disabled (set to 'madvise' or 'never').
2651:S 18 Jun 2025 03:41:10.832 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2651:S 18 Jun 2025 03:41:10.833 # WARNING You have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Valkey. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Valkey must be restarted after THP is disabled (set to 'madvise' or 'never').
~/python-redis/src/python-redis/cluster/16379 ~/python-redis/src/python-redis
~/python-redis/src/python-redis
~/python-redis/src/python-redis/cluster/16380 ~/python-redis/src/python-redis
~/python-redis/src/python-redis
~/python-redis/src/python-redis/cluster/16381 ~/python-redis/src/python-redis
~/python-redis/src/python-redis
~/python-redis/src/python-redis/cluster/16382 ~/python-redis/src/python-redis
~/python-redis/src/python-redis
~/python-redis/src/python-redis/cluster/16383 ~/python-redis/src/python-redis
~/python-redis/src/python-redis
~/python-redis/src/python-redis/cluster/16384 ~/python-redis/src/python-redis
~/python-redis/src/python-redis
>>> Performing hash slots allocation on 6 node(s)...
Primary[0] -> Slots 0 - 5460
Primary[1] -> Slots 5461 - 10922
Primary[2] -> Slots 10923 - 16383
Adding replica 127.0.0.1:16383 to 127.0.0.1:16379
Adding replica 127.0.0.1:16384 to 127.0.0.1:16380
Adding replica 127.0.0.1:16382 to 127.0.0.1:16381
>>> Trying to optimize replicas allocation for anti-affinity
[WARNING] Some replicas are in the same host as their primary
M: d845d40a51731089645b5af6e3c89be5a2e6739b 127.0.0.1:16379
   slots:[0-5460] (5461 slots) master
M: 4c6003bdf35651a3c44d3b767cba4dc5c4752403 127.0.0.1:16380
   slots:[5461-10922] (5462 slots) master
M: d9d0bfc2f9241dc2b09e522ac5ecb3236e2c44e8 127.0.0.1:16381
   slots:[10923-16383] (5461 slots) master
S: 92377800444da4d3d461b4c17d26608646e2f2cd 127.0.0.1:16382
   replicates d845d40a51731089645b5af6e3c89be5a2e6739b
S: 99eb3a626eceb9f44b897a895918a185b690cf15 127.0.0.1:16383
   replicates 4c6003bdf35651a3c44d3b767cba4dc5c4752403
S: fa2be1d7e771bc59c52aac978d55836f5b308951 127.0.0.1:16384
   replicates d9d0bfc2f9241dc2b09e522ac5ecb3236e2c44e8
Can I set the above configuration? (type 'yes' to accept): >>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join

>>> Performing Cluster Check (using node 127.0.0.1:16379)
M: d845d40a51731089645b5af6e3c89be5a2e6739b 127.0.0.1:16379
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: d9d0bfc2f9241dc2b09e522ac5ecb3236e2c44e8 127.0.0.1:16381
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: fa2be1d7e771bc59c52aac978d55836f5b308951 127.0.0.1:16384
   slots: (0 slots) slave
   replicates d9d0bfc2f9241dc2b09e522ac5ecb3236e2c44e8
S: 92377800444da4d3d461b4c17d26608646e2f2cd 127.0.0.1:16382
   slots: (0 slots) slave
   replicates d845d40a51731089645b5af6e3c89be5a2e6739b
S: 99eb3a626eceb9f44b897a895918a185b690cf15 127.0.0.1:16383
   slots: (0 slots) slave
   replicates 4c6003bdf35651a3c44d3b767cba4dc5c4752403
M: 4c6003bdf35651a3c44d3b767cba4dc5c4752403 127.0.0.1:16380
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
============================= test session starts ==============================
platform linux -- Python 3.13.3, pytest-8.4.0, pluggy-1.6.0
rootdir: /build/python-redis/src/python-redis
configfile: pyproject.toml
plugins: asyncio-0.26.0
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
collected 3011 items / 801 deselected / 2210 selected

tests/test_asyncio/test_commands.py ........ss..ss....................ssss................................ssss..........................................................................................................................................................................................................ss..ss....................................................................................................................................................................................................................ss................FF..ss......FF......FFFF................................................................
tests/test_asyncio/test_connect.py ..
tests/test_asyncio/test_connection.py .......s...............................
tests/test_asyncio/test_connection_pool.py ...............................................................................XXXXXXXXXXXXXXXXXXXX
tests/test_asyncio/test_cwe_404.py ........
tests/test_asyncio/test_encoding.py ................XX......
tests/test_asyncio/test_hash.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
tests/test_asyncio/test_lock.py ..........................................................
tests/test_asyncio/test_monitor.py ........ss
tests/test_asyncio/test_pipeline.py ............................................................
tests/test_asyncio/test_pubsub.py ......................................................................................................
tests/test_asyncio/test_retry.py ............................................................
tests/test_asyncio/test_scripting.py ................
tests/test_asyncio/test_sentinel.py ..................
tests/test_asyncio/test_sentinel_managed_connection.py .
tests/test_asyncio/test_vsets.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
tests/test_auth/test_token.py .s
tests/test_auth/test_token_manager.py ..................
tests/test_backoff.py .
tests/test_cache.py ssssssssssssssssssssssssss....................
tests/test_command_parser.py .....
tests/test_commands.py .....s.s............ss..................s.............ss.....s.............................................................................................................ss...................................s.s...........................................................................................................................s...........F.s.F.F..F....F...FF........................................................X.......
tests/test_connect.py ...
tests/test_connection.py s.......................................
tests/test_connection_pool.py ...............s.........................................................
tests/test_encoding.py ...........
tests/test_function.py .......
tests/test_hash.py sssssssssssssssssssssssssssssssssssssssssssss
tests/test_helpers.py .....
tests/test_lock.py ................................
tests/test_monitor.py ....s
tests/test_multiprocessing.py ...........
tests/test_parsers/test_helpers.py ...
tests/test_pipeline.py .............................
tests/test_pubsub.py .........................................................
tests/test_retry.py .....................................................................................
tests/test_scripting.py ..................
tests/test_sentinel.py ..................
tests/test_utils.py .......
tests/test_vsets.py ssssssssssssssssssssssssssssss

=================================== FAILURES ===================================
____________________ TestRedisCommands.test_geopos[single] _____________________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81a350>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_if_server_version_lt("3.2.0")
    async def test_geopos(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        await r.geoadd("barcelona", values)
        # redis uses 52 bits precision, hereby small errors may be introduced.
>       assert_resp_response(
            r,
            await r.geopos("barcelona", "place1", "place2"),
            [
                (2.19093829393386841, 41.43379028184083523),
                (2.18737632036209106, 41.40634178640635099),
            ],
            [
                [2.19093829393386841, 41.43379028184083523],
                [2.18737632036209106, 41.40634178640635099],
            ],
        )

tests/test_asyncio/test_commands.py:2664: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>
response = [(2.1909382939338684, 41.43379028184083), (2.187376320362091, 41.40634178640635)]
resp2_expected = [(2.1909382939338684, 41.433790281840835), (2.187376320362091, 41.40634178640635)]
resp3_expected = [[2.1909382939338684, 41.433790281840835], [2.187376320362091, 41.40634178640635]]

    def assert_resp_response(r, response, resp2_expected, resp3_expected):
        protocol = get_protocol_version(r)
        if protocol in [2, "2", None]:
>           assert response == resp2_expected
E           assert [(2.190938293...634178640635)] == [(2.190938293...634178640635)]
E             
E             At index 0 diff: (2.1909382939338684, 41.43379028184083) != (2.1909382939338684, 41.433790281840835)
E             Use -v to get more diff

tests/conftest.py:678: AssertionError
_____________________ TestRedisCommands.test_geopos[pool] ______________________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81a3a0>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_if_server_version_lt("3.2.0")
    async def test_geopos(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        await r.geoadd("barcelona", values)
        # redis uses 52 bits precision, hereby small errors may be introduced.
>       assert_resp_response(
            r,
            await r.geopos("barcelona", "place1", "place2"),
            [
                (2.19093829393386841, 41.43379028184083523),
                (2.18737632036209106, 41.40634178640635099),
            ],
            [
                [2.19093829393386841, 41.43379028184083523],
                [2.18737632036209106, 41.40634178640635099],
            ],
        )

tests/test_asyncio/test_commands.py:2664: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>
response = [(2.1909382939338684, 41.43379028184083), (2.187376320362091, 41.40634178640635)]
resp2_expected = [(2.1909382939338684, 41.433790281840835), (2.187376320362091, 41.40634178640635)]
resp3_expected = [[2.1909382939338684, 41.433790281840835], [2.187376320362091, 41.40634178640635]]

    def assert_resp_response(r, response, resp2_expected, resp3_expected):
        protocol = get_protocol_version(r)
        if protocol in [2, "2", None]:
>           assert response == resp2_expected
E           assert [(2.190938293...634178640635)] == [(2.190938293...634178640635)]
E             
E             At index 0 diff: (2.1909382939338684, 41.43379028184083) != (2.1909382939338684, 41.433790281840835)
E             Use -v to get more diff

tests/conftest.py:678: AssertionError
________________ TestRedisCommands.test_georadius_with[single] _________________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81ada0>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    async def test_georadius_with(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        await r.geoadd("barcelona", values)
    
        # test a bunch of combinations to test the parse response
        # function.
>       assert await r.georadius(
            "barcelona",
            2.191,
            41.433,
            1,
            unit="km",
            withdist=True,
            withcoord=True,
            withhash=True,
        ) == [
            [
                b"place1",
                0.0881,
                3471609698139488,
                (2.19093829393386841, 41.43379028184083523),
            ]
        ]
E       AssertionError: assert [[b'place1', ...79028184083)]] == [[b'place1', ...90281840835)]]
E         
E         At index 0 diff: [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_asyncio/test_commands.py:2735: AssertionError
_________________ TestRedisCommands.test_georadius_with[pool] __________________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81ae40>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    async def test_georadius_with(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        await r.geoadd("barcelona", values)
    
        # test a bunch of combinations to test the parse response
        # function.
>       assert await r.georadius(
            "barcelona",
            2.191,
            41.433,
            1,
            unit="km",
            withdist=True,
            withcoord=True,
            withhash=True,
        ) == [
            [
                b"place1",
                0.0881,
                3471609698139488,
                (2.19093829393386841, 41.43379028184083523),
            ]
        ]
E       AssertionError: assert [[b'place1', ...79028184083)]] == [[b'place1', ...90281840835)]]
E         
E         At index 0 diff: [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_asyncio/test_commands.py:2735: AssertionError
_____________ TestRedisCommands.test_georadius_store_dist[single] ______________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81b520>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    @pytest.mark.onlynoncluster
    async def test_georadius_store_dist(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        await r.geoadd("barcelona", values)
        await r.georadius(
            "barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona"
        )
        # instead of save the geo score, the distance is saved.
>       assert await r.zscore("places_barcelona", "place1") == 88.05060698409301
E       assert 88.05060698338646 == 88.05060698409301

tests/test_asyncio/test_commands.py:2837: AssertionError
______________ TestRedisCommands.test_georadius_store_dist[pool] _______________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81b5c0>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    @pytest.mark.onlynoncluster
    async def test_georadius_store_dist(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        await r.geoadd("barcelona", values)
        await r.georadius(
            "barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona"
        )
        # instead of save the geo score, the distance is saved.
>       assert await r.zscore("places_barcelona", "place1") == 88.05060698409301
E       assert 88.05060698338646 == 88.05060698409301

tests/test_asyncio/test_commands.py:2837: AssertionError
________________ TestRedisCommands.test_georadiusmember[single] ________________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81b700>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    async def test_georadiusmember(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            b"\x80place2",
        )
    
        await r.geoadd("barcelona", values)
        assert await r.georadiusbymember("barcelona", "place1", 4000) == [
            b"\x80place2",
            b"place1",
        ]
        assert await r.georadiusbymember("barcelona", "place1", 10) == [b"place1"]
    
>       assert await r.georadiusbymember(
            "barcelona", "place1", 4000, withdist=True, withcoord=True, withhash=True
        ) == [
            [
                b"\x80place2",
                3067.4157,
                3471609625421029,
                (2.187376320362091, 41.40634178640635),
            ],
            [
                b"place1",
                0.0,
                3471609698139488,
                (2.1909382939338684, 41.433790281840835),
            ],
        ]
E       AssertionError: assert [[b'\x80place...79028184083)]] == [[b'\x80place...90281840835)]]
E         
E         At index 1 diff: [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_asyncio/test_commands.py:2855: AssertionError
_________________ TestRedisCommands.test_georadiusmember[pool] _________________

self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0x704ccc81b7a0>
r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    async def test_georadiusmember(self, r: redis.Redis):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            b"\x80place2",
        )
    
        await r.geoadd("barcelona", values)
        assert await r.georadiusbymember("barcelona", "place1", 4000) == [
            b"\x80place2",
            b"place1",
        ]
        assert await r.georadiusbymember("barcelona", "place1", 10) == [b"place1"]
    
>       assert await r.georadiusbymember(
            "barcelona", "place1", 4000, withdist=True, withcoord=True, withhash=True
        ) == [
            [
                b"\x80place2",
                3067.4157,
                3471609625421029,
                (2.187376320362091, 41.40634178640635),
            ],
            [
                b"place1",
                0.0,
                3471609698139488,
                (2.1909382939338684, 41.433790281840835),
            ],
        ]
E       AssertionError: assert [[b'\x80place...79028184083)]] == [[b'\x80place...90281840835)]]
E         
E         At index 1 diff: [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_asyncio/test_commands.py:2855: AssertionError
________________________ TestRedisCommands.test_geopos _________________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbdf660>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    def test_geopos(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
        r.geoadd("barcelona", values)
        # redis uses 52 bits precision, hereby small errors may be introduced.
>       assert_resp_response(
            r,
            r.geopos("barcelona", "place1", "place2"),
            [
                (2.19093829393386841, 41.43379028184083523),
                (2.18737632036209106, 41.40634178640635099),
            ],
            [
                [2.19093829393386841, 41.43379028184083523],
                [2.18737632036209106, 41.40634178640635099],
            ],
        )

tests/test_commands.py:3781: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>
response = [(2.1909382939338684, 41.43379028184083), (2.187376320362091, 41.40634178640635)]
resp2_expected = [(2.1909382939338684, 41.433790281840835), (2.187376320362091, 41.40634178640635)]
resp3_expected = [[2.1909382939338684, 41.433790281840835], [2.187376320362091, 41.40634178640635]]

    def assert_resp_response(r, response, resp2_expected, resp3_expected):
        protocol = get_protocol_version(r)
        if protocol in [2, "2", None]:
>           assert response == resp2_expected
E           assert [(2.190938293...634178640635)] == [(2.190938293...634178640635)]
E             
E             At index 0 diff: (2.1909382939338684, 41.43379028184083) != (2.1909382939338684, 41.433790281840835)
E             Use -v to get more diff

tests/conftest.py:678: AssertionError
___________________ TestRedisCommands.test_geosearch_member ____________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbdc8c0>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("6.2.0")
    def test_geosearch_member(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            b"\x80place2",
        )
    
        r.geoadd("barcelona", values)
        assert r.geosearch("barcelona", member="place1", radius=4000) == [
            b"\x80place2",
            b"place1",
        ]
        assert r.geosearch("barcelona", member="place1", radius=10) == [b"place1"]
    
>       assert r.geosearch(
            "barcelona",
            member="place1",
            radius=4000,
            withdist=True,
            withcoord=True,
            withhash=True,
        ) == [
            [
                b"\x80place2",
                3067.4157,
                3471609625421029,
                (2.187376320362091, 41.40634178640635),
            ],
            [
                b"place1",
                0.0,
                3471609698139488,
                (2.1909382939338684, 41.433790281840835),
            ],
        ]
E       AssertionError: assert [[b'\x80place...79028184083)]] == [[b'\x80place...90281840835)]]
E         
E         At index 1 diff: [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_commands.py:3849: AssertionError
____________________ TestRedisCommands.test_geosearch_with _____________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbde440>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("6.2.0")
    def test_geosearch_with(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
        r.geoadd("barcelona", values)
    
        # test a bunch of combinations to test the parse response
        # function.
>       assert r.geosearch(
            "barcelona",
            longitude=2.191,
            latitude=41.433,
            radius=1,
            unit="km",
            withdist=True,
            withcoord=True,
            withhash=True,
        ) == [
            [
                b"place1",
                0.0881,
                3471609698139488,
                (2.19093829393386841, 41.43379028184083523),
            ]
        ]
E       AssertionError: assert [[b'place1', ...79028184083)]] == [[b'place1', ...90281840835)]]
E         
E         At index 0 diff: [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_commands.py:3898: AssertionError
__________________ TestRedisCommands.test_geosearchstore_dist __________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbdf480>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @pytest.mark.onlynoncluster
    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("6.2.0")
    def test_geosearchstore_dist(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        r.geoadd("barcelona", values)
        r.geosearchstore(
            "places_barcelona",
            "barcelona",
            longitude=2.191,
            latitude=41.433,
            radius=1000,
            storedist=True,
        )
        # instead of save the geo score, the distance is saved.
>       assert r.zscore("places_barcelona", "place1") == 88.05060698409301
E       AssertionError: assert 88.05060698338646 == 88.05060698409301
E        +  where 88.05060698338646 = zscore('places_barcelona', 'place1')
E        +    where zscore = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>.zscore

tests/test_commands.py:4031: AssertionError
____________________ TestRedisCommands.test_georadius_with _____________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbdfd40>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    def test_georadius_with(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        r.geoadd("barcelona", values)
    
        # test a bunch of combinations to test the parse response
        # function.
>       assert r.georadius(
            "barcelona",
            2.191,
            41.433,
            1,
            unit="km",
            withdist=True,
            withcoord=True,
            withhash=True,
        ) == [
            [
                b"place1",
                0.0881,
                3471609698139488,
                (2.19093829393386841, 41.43379028184083523),
            ]
        ]
E       AssertionError: assert [[b'place1', ...79028184083)]] == [[b'place1', ...90281840835)]]
E         
E         At index 0 diff: [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0881, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_commands.py:4086: AssertionError
_________________ TestRedisCommands.test_georadius_store_dist __________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbdfa20>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @pytest.mark.onlynoncluster
    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    def test_georadius_store_dist(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            "place2",
        )
    
        r.geoadd("barcelona", values)
        r.georadius("barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona")
        # instead of save the geo score, the distance is saved.
>       assert r.zscore("places_barcelona", "place1") == 88.05060698409301
E       AssertionError: assert 88.05060698338646 == 88.05060698409301
E        +  where 88.05060698338646 = zscore('places_barcelona', 'place1')
E        +    where zscore = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>.zscore

tests/test_commands.py:4187: AssertionError
____________________ TestRedisCommands.test_georadiusmember ____________________

self = <tests.test_commands.TestRedisCommands object at 0x704cdcbdfb60>
r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>

    @skip_unless_arch_bits(64)
    @skip_if_server_version_lt("3.2.0")
    def test_georadiusmember(self, r):
        values = (2.1909389952632, 41.433791470673, "place1") + (
            2.1873744593677,
            41.406342043777,
            b"\x80place2",
        )
    
        r.geoadd("barcelona", values)
        assert r.georadiusbymember("barcelona", "place1", 4000) == [
            b"\x80place2",
            b"place1",
        ]
        assert r.georadiusbymember("barcelona", "place1", 10) == [b"place1"]
    
>       assert r.georadiusbymember(
            "barcelona", "place1", 4000, withdist=True, withcoord=True, withhash=True
        ) == [
            [
                b"\x80place2",
                3067.4157,
                3471609625421029,
                (2.187376320362091, 41.40634178640635),
            ],
            [
                b"place1",
                0.0,
                3471609698139488,
                (2.1909382939338684, 41.433790281840835),
            ],
        ]
E       AssertionError: assert [[b'\x80place...79028184083)]] == [[b'\x80place...90281840835)]]
E         
E         At index 1 diff: [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.43379028184083)] != [b'place1', 0.0, 3471609698139488, (2.1909382939338684, 41.433790281840835)]
E         Use -v to get more diff

tests/test_commands.py:4205: AssertionError
=============================== warnings summary ===============================
../../../../usr/lib/python3.13/site-packages/_pytest/config/__init__.py:1474
  /usr/lib/python3.13/site-packages/_pytest/config/__init__.py:1474: PytestConfigWarning: Unknown config option: timeout
  
    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

tests/test_pubsub.py:975
  /build/python-redis/src/python-redis/tests/test_pubsub.py:975: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.timeout(30, method="thread")

tests/test_pubsub.py:986
  /build/python-redis/src/python-redis/tests/test_pubsub.py:986: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.timeout(5, method="thread")

tests/test_asyncio/test_connection_pool.py::TestConnection::test_busy_loading_from_pipeline_immediate_command[single]
tests/test_asyncio/test_connection_pool.py::TestConnection::test_connect_no_auth_supplied_when_required[pool]
  /build/python-redis/src/python-redis/redis/asyncio/client.py:612: ResourceWarning: Unclosed client session <redis.asyncio.client.Pipeline(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>
    _warn(f"Unclosed client session {self!r}", ResourceWarning, source=self)
  
  Object allocated at:
    File "/build/python-redis/src/python-redis/redis/asyncio/client.py", line 464
      return Pipeline(

tests/test_asyncio/test_sentinel.py::test_repr_correctly_represents_connection_object
  /build/python-redis/src/python-redis/redis/asyncio/connection.py:232: ResourceWarning: unclosed Connection <redis.asyncio.sentinel.SentinelManagedConnection,host=127.0.0.1,port=6379)>
    _warnings.warn(
  
  Object allocated at:
    File "/build/python-redis/src/python-redis/redis/asyncio/connection.py", line 1170
      return self.connection_class(**self.connection_kwargs)

tests/test_multiprocessing.py: 11 warnings
  /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2750) is multi-threaded, use of fork() may lead to deadlocks in the child.
    self.pid = os.fork()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_geopos[single]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_geopos[pool]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadius_with[single]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadius_with[pool]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadius_store_dist[single]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadius_store_dist[pool]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadiusmember[single]
FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadiusmember[pool]
FAILED tests/test_commands.py::TestRedisCommands::test_geopos - assert [(2.19...
FAILED tests/test_commands.py::TestRedisCommands::test_geosearch_member - Ass...
FAILED tests/test_commands.py::TestRedisCommands::test_geosearch_with - Asser...
FAILED tests/test_commands.py::TestRedisCommands::test_geosearchstore_dist - ...
FAILED tests/test_commands.py::TestRedisCommands::test_georadius_with - Asser...
FAILED tests/test_commands.py::TestRedisCommands::test_georadius_store_dist
FAILED tests/test_commands.py::TestRedisCommands::test_georadiusmember - Asse...
= 15 failed, 1898 passed, 274 skipped, 801 deselected, 23 xpassed, 17 warnings in 218.70s (0:03:38) =
[1m[31m==> ERROR:[m[1m A failure occurred in check().[m
[1m    Aborting...[m
[0m[J[23;2t[1m[31m==> ERROR:[m[1m Build failed, check /var/lib/archbuild/extra-riscv64/felix-1/build[m
[34h[?25h[34h[?25h[34h[?25hreceiving incremental file list
python-redis-6.2.0-1-riscv64-build.log
python-redis-6.2.0-1-riscv64-check.log
python-redis-6.2.0-1-riscv64-prepare.log

sent 81 bytes  received 4,991 bytes  3,381.33 bytes/sec
total size is 36,748  speedup is 7.25
