d2r2 / go-rsync Goto Github PK
View Code? Open in Web Editor NEWBest GTK+ frontend (backup application) for RSYNC utility.
License: GNU General Public License v3.0
Best GTK+ frontend (backup application) for RSYNC utility.
License: GNU General Public License v3.0
I remember reading that rsync itself does support syncing multiple directories by passing all the directories as arguments cf this answer https://unix.stackexchange.com/a/368216
that's why i was wondering if the tool supports giving multiple sources
Running ./gorsync_build.sh --buildtype Release
gives me this error on Ubuntu 22.04.
RELEASE type build in progress...
go: downloading github.com/d2r2/go-rsync v0.4.1
go: downloading github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546
go: downloading github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749
go: downloading github.com/d2r2/go-logger v0.0.0-20210606094344-60e9d1233e22
go: downloading github.com/d2r2/gotk3 v0.0.0-20211023153135-0ceb344f1671
go: downloading github.com/d2r2/go-shell v0.0.0-20211022052110-f591c27e3e2e
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading github.com/BurntSushi/toml v1.3.2
go: downloading github.com/nicksnyder/go-i18n/v2 v2.2.1
go: downloading golang.org/x/text v0.10.0
package command-line-arguments
imports github.com/d2r2/go-rsync/ui/gtkui
imports github.com/d2r2/go-rsync/data: build constraints exclude all Go files in /home/xrdpuser/go/pkg/mod/github.com/d2r2/[email protected]/data
gorsync_build.sh: error encountered: aborted
And go build . produce this,
go: downloading github.com/d2r2/go-logger v0.0.0-20210606094344-60e9d1233e22
go: downloading github.com/d2r2/go-rsync v0.4.1
go: downloading github.com/d2r2/gotk3 v0.0.0-20211023153135-0ceb344f1671
go: downloading github.com/davecgh/go-spew v1.1.1
go: downloading github.com/BurntSushi/toml v1.3.2
go: downloading github.com/nicksnyder/go-i18n/v2 v2.2.1
go: downloading golang.org/x/text v0.10.0
go: downloading github.com/d2r2/go-shell v0.0.0-20211022052110-f591c27e3e2e
# github.com/d2r2/go-rsync/core
../../../../go/pkg/mod/github.com/d2r2/[email protected]/core/utils.go:50:18: error: not enough arguments
50 | ec := app.Run(nil, nil
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/xrdpuser/.cache/go-build"
GOENV="/home/xrdpuser/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/xrdpuser/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/xrdpuser/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/gcc/x86_64-linux-gnu/11"
GOVCS=""
GOVERSION="go1.16.5 gccgo (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0"
GCCGO="/usr/bin/x86_64-linux-gnu-gccgo-11"
AR="ar"
CC="x86_64-linux-gnu-gcc-11"
CXX="x86_64-linux-gnu-g++-11"
CGO_ENABLED="1"
GOMOD="/home/xrdpuser/Documents/Desktop-Projects/Foss/go-rsync/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build139041115=/tmp/go-build -gno-record-gcc-switches -funwind-tables"
How to solve this ?
Hello,
It looks like your deb file has a version requirement that is not in the main repos.
The libc6:amd64
package is at version 2.31
whereas your app requires 2.32
.
❯ gorsync
gorsync: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by gorsync)
Just a heads up that the package will not work in its current state on Ubuntu until the libc6:amd64
package is updated.
Deb package control contains
Depends: rsync, rsync, libglib2.0-dev, libgtk-3-dev, libnotify-dev
, libgtk-3-dev, libnotify-dev
which is not right as it installs hundreds of build dependencies which not required to run the binary. It is only required to compile.
So it should be (on debian and ubuntu)
Build-Depends: rsync, libglib2.0-dev, libgtk-3-dev, libnotify-dev
Depends: rsync, libglib2.0-bin, libgtk-3-bin, libnotify-bin
Note: Build-Depends section goes to Source
and Dpends section is within Package
section of debian/control
When installing gsettings schema with gs_schema_install.sh according to the README, the script fails with below error.
github.com/d2r2/go-rsync$ sudo ./ui/gtkui/gs_schema_install.sh
Installing gsettings schema to prefix /usr
Copying and compiling schema...
install: cannot stat 'gsettings/org.d2r2.gorsync.gschema.xml': No such file or directory
Hello, today I tried to build it, first time for convenience sake I tried using gorsync-git
package from AUR but it failed and I realized it was packaging error so I decided to just use "old" go get
and I also got failure.
go version go1.16.3 linux/amd64
glib2 2.68.1
pasting build output under:
[micwoj92@desktop]: ~>$ go get -u github.com/d2r2/go-rsync
go: downloading github.com/d2r2/go-rsync v0.4.1
go: downloading github.com/d2r2/go-logger v0.0.0-20181221090742-9998a510495e
go: downloading github.com/d2r2/go-shell v0.0.0-20191113051817-7664ea33645f
go: downloading github.com/d2r2/gotk3 v0.0.0-20200913114742-7c4e0af10014
go: downloading github.com/nicksnyder/go-i18n v1.10.1
go: downloading golang.org/x/text v0.3.6
go: downloading github.com/nicksnyder/go-i18n/v2 v2.1.2
# github.com/d2r2/gotk3/glib
cgo-gcc-prolog: In function ‘_cgo_ecc09caf901d_Cfunc_g_binding_get_source’:
cgo-gcc-prolog:71:2: warning: ‘g_binding_get_source’ is deprecated: Use 'g_binding_dup_source' instead [-Wdeprecated-declarations]
In file included from /usr/include/glib-2.0/glib-object.h:22,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from go/pkg/mod/github.com/d2r2/[email protected]/glib/binding.go:4:
/usr/include/glib-2.0/gobject/gbinding.h:112:23: note: declared here
112 | GObject * g_binding_get_source (GBinding *binding);
| ^~~~~~~~~~~~~~~~~~~~
cgo-gcc-prolog: In function ‘_cgo_ecc09caf901d_Cfunc_g_binding_get_target’:
cgo-gcc-prolog:107:2: warning: ‘g_binding_get_target’ is deprecated: Use 'g_binding_dup_target' instead [-Wdeprecated-declarations]
In file included from /usr/include/glib-2.0/glib-object.h:22,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from go/pkg/mod/github.com/d2r2/[email protected]/glib/binding.go:4:
/usr/include/glib-2.0/gobject/gbinding.h:116:23: note: declared here
116 | GObject * g_binding_get_target (GBinding *binding);
| ^~~~~~~~~~~~~~~~~~~~
[micwoj92@desktop]: ~>$
a manual run with prefix=/usr/local
install -m 644 gsettings/org.d2r2.gorsync.gschema.xml ${PREFIX}/share/glib-2.0/schemas/
glib-compile-schemas ${PREFIX}/share/glib-2.0/schemas/
results in uncaught exception
$ ./gorsync_run.sh
Dev in progress...
2018-12-23 15:25:34.274 gorsync[91655:115327060] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff409b5e65 __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff6ca0c720 objc_exception_throw + 48
2 CoreFoundation 0x00007fff409cf8e5 -[NSException raise] + 9
3 AppKit 0x00007fff3ded47e6 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 324
4 AppKit 0x00007fff3ded1bd0 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1488
5 AppKit 0x00007fff3ded15fa -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
6 AppKit 0x00007fff3e1a47d8 -[NSWindow initWithContentRect:styleMask:backing:defer:screen:] + 52
7 libgdk-3.0.dylib 0x0000000005c9a440 -[GdkQuartzNSWindow initWithContentRect:styleMask:backing:defer:screen:] + 79
8 libgdk-3.0.dylib 0x0000000005ca49f8 _gdk_quartz_display_create_window_impl + 1098
9 libgdk-3.0.dylib 0x0000000005c89851 gdk_window_new + 1035
10 libgtk-3.0.dylib 0x00000000058cabd9 gtk_window_realize + 1026
11 libgtk-3.0.dylib 0x000000000567ef23 gtk_application_window_real_realize + 96
12 libgobject-2.0.0.dylib 0x0000000006005b2d g_closure_invoke + 200
13 libgobject-2.0.0.dylib 0x0000000006018c67 signal_emit_unlocked_R + 1057
14 libgobject-2.0.0.dylib 0x0000000006019a38 g_signal_emit_valist + 1828
15 libgobject-2.0.0.dylib 0x000000000601a104 g_signal_emit + 120
16 libgtk-3.0.dylib 0x00000000058adc0d gtk_widget_realize + 337
17 libgtk-3.0.dylib 0x00000000058ca361 gtk_window_show + 81
18 libgobject-2.0.0.dylib 0x0000000006005b2d g_closure_invoke + 200
19 libgobject-2.0.0.dylib 0x0000000006018c67 signal_emit_unlocked_R + 1057
20 libgobject-2.0.0.dylib 0x0000000006019a38 g_signal_emit_valist + 1828
21 libgobject-2.0.0.dylib 0x000000000601a104 g_signal_emit + 120
22 libgtk-3.0.dylib 0x00000000058ad52f gtk_widget_show + 152
23 gorsync 0x00000000040598d0 runtime.asmcgocall + 112
)
libc++abi.dylib: terminating with uncaught exception of type NSException
SIGABRT: abort
PC=0x7fff6dc19b86 m=4 sigcode=0
signal arrived during cgo execution
goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0x455f490, 0xc00046f6d8, 0x68522a0)
/usr/local/Cellar/go/1.11/libexec/src/runtime/cgocall.go:128 +0x5e fp=0xc00046f6a8 sp=0xc00046f670 pc=0x40058fe
github.com/d2r2/gotk3/gtk._Cfunc_gtk_widget_show_all(0x68522a0)
_cgo_gotypes.go:25763 +0x41 fp=0xc00046f6d8 sp=0xc00046f6a8 pc=0x43b0701
github.com/d2r2/gotk3/gtk.(*Widget).ShowAll.func1(0x68522a0)
/Users/jrwren/go/src/github.com/d2r2/gotk3/gtk/base.go:209 +0x56 fp=0xc00046f710 sp=0xc00046f6d8 pc=0x43fe7e6
github.com/d2r2/gotk3/gtk.(*Widget).ShowAll(0xc0003de680)
/Users/jrwren/go/src/github.com/d2r2/gotk3/gtk/base.go:209 +0x39 fp=0xc00046f730 sp=0xc00046f710 pc=0x43bb269
github.com/d2r2/go-rsync/ui/gtkui.CreateApp.func1(0xc0003de620)
/Users/jrwren/go/src/github.com/d2r2/go-rsync/ui/gtkui/app.go:1338 +0x1c5 fp=0xc00046f7c0 sp=0xc00046f730 pc=0x4553745
runtime.call32(0xc0001e84b0, 0xc0001e64a0, 0xc000374440, 0x800000008)
/usr/local/Cellar/go/1.11/libexec/src/runtime/asm_amd64.s:522 +0x3b fp=0xc00046f7f0 sp=0xc00046f7c0 pc=0x405843b
reflect.Value.call(0x45ea940, 0xc0001e64a0, 0x13, 0x46eed7f, 0x4, 0xc0001e64c0, 0x1, 0x1, 0xc0003de620, 0x0, ...)
/usr/local/Cellar/go/1.11/libexec/src/reflect/value.go:447 +0x449 fp=0xc00046fab8 sp=0xc00046f7f0 pc=0x40b14c9
reflect.Value.Call(0x45ea940, 0xc0001e64a0, 0x13, 0xc0001e64c0, 0x1, 0x1, 0xc0003de620, 0x16, 0x0)
/usr/local/Cellar/go/1.11/libexec/src/reflect/value.go:308 +0xa4 fp=0xc00046fb20 sp=0xc00046fab8 pc=0x40b0f64
github.com/d2r2/gotk3/glib.goMarshal(0x663c310, 0x0, 0xc000000001, 0x700008d33ac0, 0x700008d33a38, 0x0)
/Users/jrwren/go/src/github.com/d2r2/gotk3/glib/glib.go:235 +0x714 fp=0xc00046fca0 sp=0xc00046fb20 pc=0x4331fb4
github.com/d2r2/gotk3/glib._cgoexpwrap_87e1bd86b6d4_goMarshal(0x663c310, 0x0, 0x1, 0x700008d33ac0, 0x700008d33a38, 0x0)
_cgo_gotypes.go:6129 +0x5b fp=0xc00046fce0 sp=0xc00046fca0 pc=0x432f52b
runtime.call64(0x0, 0x700008d33860, 0x700008d338f8, 0x30)
/usr/local/Cellar/go/1.11/libexec/src/runtime/asm_amd64.s:523 +0x3b fp=0xc00046fd30 sp=0xc00046fce0 pc=0x40584bb
runtime.cgocallbackg1(0x0)
/usr/local/Cellar/go/1.11/libexec/src/runtime/cgocall.go:316 +0x19b fp=0xc00046fda8 sp=0xc00046fd30 pc=0x4005c9b
runtime.cgocallbackg(0x0)
/usr/local/Cellar/go/1.11/libexec/src/runtime/cgocall.go:194 +0xd6 fp=0xc00046fe10 sp=0xc00046fda8 pc=0x4005a66
runtime.cgocallback_gofunc(0x4005922, 0x4577090, 0xc00046fea8, 0xc00046fe78)
/usr/local/Cellar/go/1.11/libexec/src/runtime/asm_amd64.s:775 +0x9b fp=0xc00046fe30 sp=0xc00046fe10 pc=0x4059a0b
runtime.asmcgocall(0x4577090, 0xc00046fea8)
/usr/local/Cellar/go/1.11/libexec/src/runtime/asm_amd64.s:622 +0x42 fp=0xc00046fe38 sp=0xc00046fe30 pc=0x40598a2
runtime.cgocall(0x4577090, 0xc00046fea8, 0x29)
/usr/local/Cellar/go/1.11/libexec/src/runtime/cgocall.go:131 +0x82 fp=0xc00046fe70 sp=0xc00046fe38 pc=0x4005922
github.com/d2r2/gotk3/glib._Cfunc_g_application_run(0x80110e0, 0x0, 0x66372b0, 0x0)
_cgo_gotypes.go:1386 +0x4d fp=0xc00046fea8 sp=0xc00046fe70 pc=0x432679d
github.com/d2r2/gotk3/glib.(*Application).Run.func4(0x80110e0, 0x0, 0x66372b0, 0x0)
/Users/jrwren/go/src/github.com/d2r2/gotk3/glib/application.go:194 +0x97 fp=0xc00046fee0 sp=0xc00046fea8 pc=0x433e527
github.com/d2r2/gotk3/glib.(*Application).Run(0xc00032f960, 0xc00046ff60, 0x0, 0x0, 0x0)
/Users/jrwren/go/src/github.com/d2r2/gotk3/glib/application.go:194 +0x13b fp=0xc00046ff30 sp=0xc00046fee0 pc=0x4330d8b
main.main()
/Users/jrwren/go/src/github.com/d2r2/go-rsync/gorsync.go:44 +0x30d fp=0xc00046ff98 sp=0xc00046ff30 pc=0x455d04d
runtime.main()
/usr/local/Cellar/go/1.11/libexec/src/runtime/proc.go:201 +0x207 fp=0xc00046ffe0 sp=0xc00046ff98 pc=0x402e937
runtime.goexit()
/usr/local/Cellar/go/1.11/libexec/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc00046ffe8 sp=0xc00046ffe0 pc=0x405a131
goroutine 20 [syscall]:
os/signal.signal_recv(0x0)
/usr/local/Cellar/go/1.11/libexec/src/runtime/sigqueue.go:139 +0x9f
os/signal.loop()
/usr/local/Cellar/go/1.11/libexec/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
/usr/local/Cellar/go/1.11/libexec/src/os/signal/signal_unix.go:29 +0x41
rax 0x0
rbx 0x700008d34000
rcx 0x700008d314e8
rdx 0x0
rdi 0x2803
rsi 0x6
rbp 0x700008d31520
rsp 0x700008d314e8
r8 0x700008d313a8
r9 0x700008d31580
r10 0x0
r11 0x206
r12 0x2803
r13 0x3000000008
r14 0x6
r15 0x2d
rip 0x7fff6dc19b86
rflags 0x206
cs 0x7
fs 0x0
gs 0x0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.