@@ -61,45 +61,44 @@ echo "Found osversion.go at: $OSVERSION_FILE"
6161
6262# Check if file is writable (some module caches are read-only)
6363if [ ! -w " $OSVERSION_FILE " ]; then
64- echo " File is not writable, attempting to make it writable ..."
65- chmod +w " $OSVERSION_FILE " 2> /dev/null || {
66- echo " Cannot make file writable, trying to copy module to local directory... "
67-
68- # Create local copy of rclone module
69- LOCAL_RCLONE_DIR= " ./local_rclone "
70- mkdir -p " $LOCAL_RCLONE_DIR "
71-
72- echo " Copying rclone source to local directory... "
73- cp -r " $RCLONE_PATH " / * " $LOCAL_RCLONE_DIR / " 2> /dev/null || {
74- echo " Failed to copy rclone source, skipping patch "
75- exit 0
76- }
77-
78- # Update the file path to local copy
79- OSVERSION_FILE= " $LOCAL_RCLONE_DIR /lib/buildinfo/osversion.go "
80-
81- # Add replace directive to use local copy
82- echo " Adding replace directive to use local rclone copy... "
83- go mod edit -replace github.com/rclone/rclone= " ./local_rclone "
84- fi
64+ echo " File is not writable, creating local copy ..."
65+
66+ # Create local copy of rclone module
67+ LOCAL_RCLONE_DIR= " ./local_rclone "
68+ mkdir -p " $LOCAL_RCLONE_DIR "
69+
70+ echo " Copying rclone source to local directory... "
71+ cp -r " $RCLONE_PATH " / * " $LOCAL_RCLONE_DIR / " 2> /dev/null || {
72+ echo " Failed to copy rclone source, skipping patch "
73+ exit 0
74+ }
75+
76+ # Update the file path to local copy
77+ OSVERSION_FILE= " $LOCAL_RCLONE_DIR /lib/buildinfo/osversion.go "
78+
79+ # Add replace directive to use local copy
80+ echo " Adding replace directive to use local rclone copy... "
81+ go mod edit - replace github.com/rclone/rclone= " ./local_rclone "
82+ else
83+ echo " File is writable, patching in place... "
84+ chmod +w " $OSVERSION_FILE " 2> /dev/null || true
8585fi
8686
8787# Backup original file
8888echo " Backing up original osversion.go..."
8989cp " $OSVERSION_FILE " " $OSVERSION_FILE .backup" 2> /dev/null || echo " Could not create backup"
9090
91- # Replace the file content with iOS-compatible version
91+ # Replace the file content with iOS-compatible version using echo
9292echo " Patching osversion.go for iOS compatibility..."
93- cat > " $OSVERSION_FILE " << 'EOF '
94- //go:build !windows
95-
96- package buildinfo
9793
98- // GetOSVersion returns OS version, kernel and bitness
99- func GetOSVersion() (osVersion, osKernel string) {
100- return
101- }
102- EOF
94+ echo " //go:build !windows" > " $OSVERSION_FILE "
95+ echo " " >> " $OSVERSION_FILE "
96+ echo " package buildinfo" >> " $OSVERSION_FILE "
97+ echo " " >> " $OSVERSION_FILE "
98+ echo " // GetOSVersion returns OS version, kernel and bitness" >> " $OSVERSION_FILE "
99+ echo " func GetOSVersion() (osVersion, osKernel string) {" >> " $OSVERSION_FILE "
100+ echo " return" >> " $OSVERSION_FILE "
101+ echo " }" >> " $OSVERSION_FILE "
103102
104103echo " Successfully patched osversion.go"
105104
113112
114113# Clean and rebuild to apply changes
115114echo " Cleaning and rebuilding module with patched rclone..."
116- go clean -modcache 2> /dev/null || echo " Could not clean mod cache (this is normal)"
117115go mod tidy
118116go mod download
119117
0 commit comments