Coder Social home page Coder Social logo

d2r2 / go-rsync Goto Github PK

View Code? Open in Web Editor NEW
119.0 3.0 9.0 2.51 MB

Best GTK+ frontend (backup application) for RSYNC utility.

License: GNU General Public License v3.0

Go 92.84% Shell 6.12% CSS 0.77% Makefile 0.27%
golang rsync rsync-wrapper backup-tool gtk3 rsync-utility desktop-app backup-application rsync-backup gotk3

go-rsync's People

Contributors

d2r2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

go-rsync's Issues

Can not be compiled on Ubuntu 22.04

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 ?

Package Dependencies (DEB) (Can not run on Ubuntu 20.04)

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.

For Deb package Depends and Build-Depends are different

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

Schema installation script fails to find schema xml file

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

Build failure Arch Linux

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]: ~>$ 

Doesn't work on macos

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.