try to fix rsync error on windows: error in rsync protocol data stream (code 12)
This commit is contained in:
+19
-4
@@ -52,7 +52,9 @@ SG_DOCUMENTATION_PDF_FILE := $(SG_DOCUMENTATION_PDF_DIR)/output.pdf
|
||||
SG_BROWSER_BINARY_PATH_LINUX := $(shell which brave-bin 2>/dev/null)
|
||||
SG_BROWSER_BINARY_PATH_WINDOWS := C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe
|
||||
|
||||
SG_RSYNC_BINARY_PATH_WINDOWS := /c/Program\ Files/cwrsync/bin/rsync.exe
|
||||
SG_RSYNC_BIN_PATH_WINDOWS := C:\Program Files\cwrsync\bin
|
||||
SG_RSYNC_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\rsync.exe
|
||||
SG_RSYNC_SSH_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\ssh.exe
|
||||
|
||||
################################################################################
|
||||
# Platform Detection
|
||||
@@ -213,7 +215,10 @@ SG_WINPYTHON_DIR := $(SG_DIST_DIR)/winpython
|
||||
SG_WINPYTHON_BIN_DIR := $(SG_WINPYTHON_DIR)//python-3.12.4.amd64
|
||||
SG_WINPYTHON_BIN_SCRIPTS_DIR := $(SG_WINPYTHON_BIN_DIR)/Scripts
|
||||
SG_WINPYTHON_SCRIPTS_DIR := $(SG_WINPYTHON_DIR)/scripts
|
||||
export PATH := $(SG_WINPYTHON_BIN_DIR);$(SG_WINPYTHON_BIN_SCRIPTS_DIR);$(SG_WINPYTHON_SCRIPTS_DIR);$(PATH)
|
||||
export PATH := $(SG_WINPYTHON_SCRIPTS_DIR);$(PATH)
|
||||
export PATH := $(SG_WINPYTHON_BIN_SCRIPTS_DIR);$(PATH)
|
||||
export PATH := $(SG_WINPYTHON_BIN_DIR);$(PATH)
|
||||
export PATH := $(SG_RSYNC_BIN_PATH_WINDOWS);$(PATH)
|
||||
else # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX))
|
||||
$(error The target operating system is not supported!)
|
||||
endif # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX))
|
||||
@@ -450,12 +455,22 @@ _deploy:
|
||||
@echo "Loading the Handbook deployment configuration file..."
|
||||
@$(call load_env, $(SG_HANDBOOK_DEPLOY_CONFIG_FILE))
|
||||
@echo "Deploying '$(SG_HANDBOOK_DIR)' to '$(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION)'..."
|
||||
ifeq ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX))
|
||||
@rsync \
|
||||
-avze "ssh -p $(SG_HANDBOOK_SSH_PORT)" \
|
||||
--perms \
|
||||
--chmod=u+rwx,g+rx,o+rx,g-w,o-wx \
|
||||
--delete $(SG_DOCUMENTATION_HTML_DIR)/ \
|
||||
$(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION)
|
||||
else # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX))
|
||||
@cd $(SG_DOCUMENTATION_DIR) \
|
||||
&& rsync -avze "ssh -p $(SG_HANDBOOK_SSH_PORT)" \
|
||||
&& "$(SG_RSYNC_BINARY_PATH_WINDOWS)" \
|
||||
-avze "\"$(SG_RSYNC_SSH_BINARY_PATH_WINDOWS)\" -p $(SG_HANDBOOK_SSH_PORT)" \
|
||||
--perms \
|
||||
--chmod=u+rwx,g+rx,o+rx,g-w,o-wx\
|
||||
--chmod=u+rwx,g+rx,o+rx,g-w,o-wx \
|
||||
--delete $(SG_DOCUMENTATION_HTML_DIR_NAME)/ \
|
||||
$(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION)
|
||||
endif # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX))
|
||||
@echo "Copying '$(SG_DOCUMENTATION_PDF_FILE)' to '$(SG_HANDBOOK_DEPLOY_GENERATED_PDF_FILE)'..."
|
||||
@cp -vr $(SG_DOCUMENTATION_PDF_FILE) $(SG_HANDBOOK_DEPLOY_GENERATED_PDF_FILE)
|
||||
@echo "Uploading '$(SG_HANDBOOK_DEPLOY_GENERATED_PDF_FILE)' to '$(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION)'..."
|
||||
|
||||
@@ -69,3 +69,11 @@ _Noete_: Building on Windows requires sourcing the deployment configuration file
|
||||
```sh
|
||||
$ source /c/Users/mamadou/AppData/Local/SenseGlove/ue-handbook/deploy.conf && make deploy
|
||||
```
|
||||
|
||||
Also, on Windows you probably need to adjust the follwoing variables at the top of the `GNUmakefile`:
|
||||
|
||||
```make
|
||||
SG_RSYNC_BIN_PATH_WINDOWS := C:\Program Files\cwrsync\bin
|
||||
SG_RSYNC_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\rsync.exe
|
||||
SG_RSYNC_SSH_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\ssh.exe
|
||||
```
|
||||
Reference in New Issue
Block a user