Skip to content

FreeBSD 12.2 - #161

Closed
fkorotkov wants to merge 1 commit into
RsyncProject:masterfrom
fkorotkov:patch-1
Closed

FreeBSD 12.2#161
fkorotkov wants to merge 1 commit into
RsyncProject:masterfrom
fkorotkov:patch-1

Conversation

@fkorotkov

Copy link
Copy Markdown

12.1 Reached End-Of-Life https://www.freebsd.org/releases/

@WayneD

WayneD commented Mar 3, 2021

Copy link
Copy Markdown
Member

Thanks for the suggested fix! I fiddled the CI file before noticing your push request, but ended up in the same place.

@WayneD WayneD closed this Mar 3, 2021
@fkorotkov
fkorotkov deleted the patch-1 branch March 3, 2021 03:19
pull Bot pushed a commit to Mu-L/rsync that referenced this pull request Aug 13, 2026
runtests.py already honours $scratchbase, but a target could not use it:
the sudo branch runs `sudo -n env PATH="$PATH" ...`, which drops whatever
env_prefix exported.  Setting it there looked like it worked and silently
ran on the default filesystem instead -- the first HFS+ run came back
green for that reason.  Give it a target field carried inside the env
string, on both the root and non-root paths, shell-quoted so a volume
name containing a space does not turn into a stray argument.  The
non-root pass also clears the relocated scratch, which a prior sudo run
leaves root-owned outside builddir.

expect_skip_omit is the mirror of expect_skip_extra: entries the
workflow expects to skip which a target actually RUNS.  Relocating the
scratch supplies conditions the workflow's host lacks -- a separate
volume makes backup-crossdev-copy and chmod-temp-dir reachable -- and
without a way to subtract, such a target can never be green.

mac2-hfs runs the same host and build as mac2 with the scratch on HFS+.
It verifies the mount rather than assuming it: a stale directory, or a
name collision attaching at "RsyncHFS 1", would otherwise leave the
tests on APFS reporting green, which is how the first version lied.
Ownership must be on as well, and is now checked rather than attempted:
a user-attached image mounts "noowners", under which every uid/gid and
permission check is meaningless, and that alone accounted for 28 of the
31 failures the first honest run produced.

mac-x86 is the x86-64 Mac -- the only target that can build the x86-64
md5 assembly, since mac2 is arm64 where configure refuses
--enable-md5-asm outright.  It needs MacPorts for autotools, python3 and
the crypto/hash libs.  --enable-roll-simd is not set and cannot be: that
probe uses GCC-style function multiversioning, which clang does not
support on Mach-O, failing identically under Apple clang 10 and clang 19.
mac-x86 currently BUILD-FAILs on the unguarded mknodat() in
do_mknod_atfd() (RsyncProject#161), which it reproduced on its first run.
pull Bot pushed a commit to Mu-L/rsync that referenced this pull request Aug 13, 2026
Nothing in CI or the fleet has ever set --enable-roll-simd, --enable-roll-asm
or --enable-md5-asm, which is why the over-read above sat behind a "fixed"
label for two months, and why the fix applied for it went to the wrong
assembly file.

mac-x86-asm is the same host and OS as mac-x86 with all three on.  Mach-O is
the interesting part -- both problems reported against these flags were
macOS-x86-64 -- and it is the only machine in the fleet that can build the
x86-64 assembly at all.

It needs MacPorts clang 19 through CC/CXX, because Apple clang 10 (the ceiling
on macOS 10.13) rejects configure's target("default") multiversioning probe.
mac-x86 keeps the stock Apple compiler, which is what caught RsyncProject#161, so the two
cover different ground rather than one replacing the other.

simd-checksum is a macOS-wide expected skip, since simdtest is only built when
SIMD is enabled; this target subtracts it, because running it is the point.

Also corrects mac-x86's comment, which claimed the probe "cannot compile here
with any clang".  It is a compiler-version limit: clang 19 on that same box
compiles, links and runs it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants