mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-06-08 14:15:46 -04:00
Nine statically-linked, stripped binaries for the version-mixing test suite (and ad-hoc cross-version behaviour checks): every x.y.0 release from 2.6.0 (2004, protocol 27) through 3.4.0, plus the 3.1.3/3.2.7/3.4.1 point releases. 2.6.0 is the practical floor; older tags need more porting to build on a current toolchain. build_static.sh rebuilds any release from its git tag, applying the minimal patches needed to compile old sources on a modern toolchain: K&R lseek64 redecl, gettimeofday, -std=gnu11, --disable-openssl, and _FORTIFY_SOURCE disabled (modern FORTIFY=3 turns latent benign over-reads in old rsync into aborts when it runs as a server). Pre-3.0 trees ship configure.in, so it regenerates configure (autoheader/autoconf) after neutralizing the dead AC_LIBOBJ replacement fallbacks, generates proto.h, and stubs the dropped vendored lib/addrinfo.h -- all guarded to no-op on newer versions. .gitattributes marks the binaries binary (so the text=auto rule can't corrupt them) and export-ignore (kept out of the release tarball). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 lines
831 B
Plaintext
18 lines
831 B
Plaintext
* text=auto eol=lf
|
|
|
|
# The rsync-web/ subdirectory holds the project website source content
|
|
# (mirrors what gets pushed to https://rsync.samba.org). Exclude it from
|
|
# `git archive` output so the release source tarball produced by
|
|
# packaging/release.py step_7_tarball does not bloat with HTML the
|
|
# tarball doesn't need.
|
|
/rsync-web/ export-ignore
|
|
|
|
# old_versions/ holds static binaries of historical rsync releases, used by the
|
|
# version-mixing test suite (.github/workflows/ubuntu-version-mix.yml) to run
|
|
# the current code against a real old peer over the daemon / remote-shell.
|
|
# Mark the binaries as binary so the `text=auto eol=lf` rule above can't try to
|
|
# normalise line endings and corrupt them; export-ignore keeps them out of the
|
|
# release source tarball.
|
|
/old_versions/rsync_* binary
|
|
/old_versions/rsync_* export-ignore
|