remove bundled rsync from windows build

rsync is only needed for rsync special remotes and git-annex-shell from
Debian oldstable. Since the library situation on windows for rsync required
a particular 32 bit build of git for it to work, and may also somehow need
git-annex to be 32 bit build, it's better to not include it.

This commit was sponsored by Jake Vosloo on Patreon.
This commit is contained in:
Joey Hess 2019-07-22 09:37:42 -04:00
parent 663b0353c9
commit ff85adba76
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 9 additions and 39 deletions

View file

@ -54,13 +54,12 @@ preferredBundledPrograms = catMaybes
, Just "git-upload-pack"
, Just "git-receive-pack"
, Just "git-shell"
#endif
#ifndef mingw32_HOST_OS
-- using xargs on windows led to problems, so it's not used there
, Just "xargs"
#endif
-- rsync is not a core dependency, but good to have.
-- On windows, bundling rsync required the build be used with a
-- particular version of git for windows, so not included there.
, Just "rsync"
#ifndef mingw32_HOST_OS
, Just "sh"
-- used by git-annex when available
, Just "uname"

View file

@ -12,6 +12,11 @@ git-annex (7.20190709) UNRELEASED; urgency=medium
drive. Now supports CoW between BTRFS subvolumes. And, falls back to rsync
instead of using cp when CoW won't work, eg copies between repos on the
same EXT4 filesystem.
* Windows build no longer ships with a copy of rsync, since that is only
used any more to access rsync special remotes or remotes with a very
old version of git-annex-shell.
* Windows build is now 64 bit, and using it with the 64 bit git for
Windows is fully supported.
-- Joey Hess <id@joeyh.name> Mon, 08 Jul 2019 08:59:54 -0400

View file

@ -2,11 +2,6 @@ git-annex now does Windows!
* First, [install Git for Windows](http://git-scm.com/downloads)
Important: **Get the 32 bit version not the 64 bit version.**
If you installed the 64 bit version of git, then parts of git-annex will
still run, however, some features, including tools like rsync, will
not work.
* Then, [install git-annex](https://downloads.kitenet.net/git-annex/windows/current/)
This port is now in reasonably good shape for command-line use of
@ -32,12 +27,6 @@ To build git-annex from source on Windows, you need to install
[Git for Windows](http://git-scm.com/downloads), and
[Stack](http://haskellstack.org/).
You also need to install rsync for windows.
It needs to be linked with the same MINGW32 libraries that come with Git
for Windows. One way is to download it from
<https://downloads.kitenet.net/git-annex/windows/assets/>.
Put it somewhere in PATH.
Then open Git Bash, [[clone git-annex|download]], and in git-annex's source
tree, run "stack build" to download and
build all dependencies and git-annex. "stack install" will install git-annex.

View file

@ -34,35 +34,12 @@ rm -f git-annex-installer.exe
rm -f git-annex.exe
rm -rf dist
# Get extra programs to bundle with git-annex.
# These are msys2 programs, from https://msys2.github.io/.
# Since git for windows uses msys2, and includes its libraries,
# these programs will work well with it. Note that these are 32 bit
# programs, so the 32 bit version of git for windows needs to be installed,
# not the 64 bit.
getextra () {
extrap="$1"
extrasha="$2"
curextrasha="$(sha1sum $extrap | sed 's/ .*//')"
if [ ! -e "$extrap" ] || [ "$curextrasha" != "$extrasha" ]; then
rm -f "$extrap" || true
wget https://downloads.kitenet.net/git-annex/windows/assets/$extrap
curextrasha="$(sha1sum $extrap | sed 's/ .*//')"
if [ "$curextrasha" != "$extrasha" ]; then
rm -f "$extrap"
echo "CHECKSUM FAILURE" >&2
exit 1
fi
chmod +x $extrap
fi
}
getextra rsync.exe 85cb7a4d16d274fcf8069b39042965ad26abd6aa
# Upgrade stack
stack --version
#stack upgrade --force-download
#stack --version
# Get stack build environment set up before trying to build any binaries.
stack setup
stack build --only-dependencies