ricardomv / snapper-gui Goto Github PK
View Code? Open in Web Editor NEWGUI for snapper, a tool for Linux filesystem snapshot management, works with btrfs, ext4 and thin-provisioned LVM volumes
License: GNU General Public License v2.0
GUI for snapper, a tool for Linux filesystem snapshot management, works with btrfs, ext4 and thin-provisioned LVM volumes
License: GNU General Public License v2.0
Possibility to add, remove and edit snapper filters when running as root.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/snappergui/changesWindow.py", line 145, in on_idle_init_paths_tree
self.add_path_to_tree(str(entry[0]), int(entry[1]), files_tree)
File "/usr/lib/python3/dist-packages/snappergui/changesWindow.py", line 70, in add_path_to_tree
node.children[parts[-1]] = changesWindow.TreeNode(path, None, status, False)
TypeError: 'NoneType' object does not support item assignment
Recent snapper releases supports quotas, but it's nowhere to be seen on snapper-gui.
The installation on an Ubuntu 18.04 system fails with the error
ModuleNotFoundError: No module named 'DistUtilsExtra'
.
As a workaround, one has to install apt install python3-distutils-extra
.
Please update the readme.
Package failes to build on arch linux:
==> Starting pkgver()... fatal: No names found, cannot describe anything. ==> ERROR: pkgver is not allowed to be empty. ==> ERROR: pkgver() generated an invalid version: ==> ERROR: Makepkg was unable to build . ==> Restart building snapper-gui-git ? [y/N] ==> ---------------------------------------- ==> n
When trying to show the changes between two snapshots the window is empty:
Console is showing the following error:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/snappergui/changesWindow.py", line 145, in on_idle_init_paths_tree
self.add_path_to_tree(str(entry[0]), int(entry[1]), files_tree)
File "/usr/local/lib/python3.5/dist-packages/snappergui/changesWindow.py", line 70, in add_path_to_tree
node.children[parts[-1]] = changesWindow.TreeNode(path, None, status, False)
TypeError: 'NoneType' object does not support item assignment
In the Snapper logfile (/var/log/snapper.log), everything looks like its working:
2018-01-29 16:46:14 MIL libsnapper(4138) Comparison.cc(Comparison):56 - num1:8 num2:32
2018-01-29 16:46:14 MIL libsnapper(4138) Comparison.cc(load):167 - num1:8 num2:32
2018-01-29 16:46:14 MIL libsnapper(4138) Comparison.cc(load):216 - read 97075 lines
Ubuntu 16.04.03
Hi,
I'm using snapper with lvm(ext4) configuration. So snapshots have to be mounted before they are used, using "snapper mount" command.
I don't think snapper-gui does that right now (I couldn't find this in the code).
Could this be added ?
Regards
I am using Ubuntu Budgie 18.04
I followed the steps from README.MD
Here is the error what I see in console:
user@inspiron:~/programs/snapper-gui (master %=)$ snapper-gui
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 175, in activate_name_owner
return self.get_name_owner(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
's', (bus_name,), **keywords)
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.opensuse.Snapper': no such name
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/snapper-gui", line 11, in <module>
load_entry_point('snappergui==0.1', 'gui_scripts', 'snapper-gui')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2693, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2324, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2330, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.6/dist-packages/snappergui/__init__.py", line 9, in <module>
'/org/opensuse/Snapper'),
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 248, in __init__
self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 180, in activate_name_owner
self.start_service_by_name(bus_name)
File "/usr/lib/python3/dist-packages/dbus/bus.py", line 278, in start_service_by_name
'su', (bus_name, flags)))
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.systemd1.NoSuchUnit: Unit snapperd.service not found.
user@inspiron:~/programs/snapper-gui (master %=)$
I am regular user, I now a little about Python, how can I fix/debug this issue?
Best regards
When using the new space-aware cleanup available in snapper 0.3.0, snapper-gui is not prepared to interpret the configuration and when trying to open the "Properties" screen there is a ValueError from python-dbus because the number of snapshots to keep in each category is expected to be a single number, not a range, and the QGROUP value is also not handled correctly and produces an error.
Snapper GUI stopped working completely. I just get the loading icon for a few seconds when I want to launch it.
It is unclear where its files reside, to be removed, before I install it again?
When I open a snapshot with snapper-gui the default file browser is set to easytag... is there a way to change this? If yes how? I'm running snapper-gui on Fedora 32
So I have a wired error in the latest SnapperGUI,
I try to go to the properties section but I cannot open the menu for it. There should be a menu when you click the icon on the top left, or at least it was this way in xfce.
I could find anything that would suggest a settings page. So i think its a bug maybe.
My system:
OS: Manjaro 20.2 Nibia
DE: KDE 5.76.0 / Plasma 5.20.4
It a fresh install btw.
When creating a new configuration the user should not need to restart the application to reload the configurations list
Hi,
appologies if you're not maintaining this software anymore -
Questions:
I was just wondering if you meant "LVM" instead of "KVM" in the interface, for
the drop-down menu to select which kind of drive,
or if "EXT4" is the "LVM" option
It's not really clear which one is for LVM, since none of the 3 listed
in the dropdown are named 'LVM'
Also, I saw in another one of your github issues where someone mentioned "EXT4"
functionality has been removed. Is that true that "EXT4" no longer works,
does that mean your GUI no longer tracks snapper's thin-LVM snapshots?
Lastly, LVM thin snapshots work a little "backwards". When a snapshot is taken,
the volume where the main filesystem resides - let's call it:
/dev/mapper/vgroup-lvol
The thin-lv identified by VG/LV = vgroup/lvol is what gets frozen from the
snapshot, and becomes read-only.
When we made the snapshot, let's say we called it vgroup/lvol-may31st-20h04m
That dev (the mountable one) would be at /dev/mapper/vgroup-lvol-may31st-20h04m,
but the mount point where /dev/mapper/vgroup-lvol will have been replaced by it.
What I'm trying to say is, vgroup/lvol will stop changing and be read-only.
IT is the "snapshot". vgroup/lvol-may31st-20h04m (which looks like a "snapshot")
keeps growing after a snapshot is taken.
I have tested this myself by creating snapshots and immediately making disk images
from the vgroup/lvol mount point, because since it's read only, it doesn't change,
and can be done while the system is live without problems.
Anyway, I know that can be a little confusing, so I just wanted to let you know.
Thanks for any info you'd like to give me, hope you're having a nice day
-Avery
This error I get when I try to create btrfs snapshot.
Hi
I'm trying to install snapper-gui on Centos 7, and when I do so a directory inside the downloaded snapper-gui appear. Is that correct? And how do I then open the GUI?
feature request: add more snapper options like make last snapshot current,
or go back to a restore point.. or make a "pre...post" snapshot
works great :)
In which program is a snapshot supposed to be "opened"?
I select a snapshot, then press "open". Then audacious gets started with a playlist containing a lot of (non music) files. When I remove audacious, EasyTAG gets started instead.
Both programs do not make any sense for the function "open".
Which program is supposed to be started?
This might be a misconfiguration of the systems file type to program allocation, but for which file types?
In my haste I submitted my bug to the wrong repo, mea culpa.
Please ignore.
I tried to do a yaourt install of this on manjaro and it failed
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n
==> snapper-git dependencies:
- btrfs-progs (already installed)
- libxml2 (already installed)
- dbus (already installed)
- boost (already installed)
- pam (already installed)
- lvm2 (already installed)
- libxslt (already installed)
- docbook-xsl (already installed)
- git (already installed)
==> Edit snapper.install ? [Y/n] ("A" to abort)
==> -------------------------------------------
==> n
==> Continue building snapper-git ? [Y/n]
==> -------------------------------------
==>
==> Building and installing package
==> Making package: snapper-git 0.2.2.git.914.0b20a20-1 (Thu Jun 12 10:05:57 EST 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating snapper git repo...
Fetching origin
==> Validating source files with md5sums...
snapper ... Skipped
==> Extracting sources...
-> Creating working copy of snapper git repo...
Cloning into 'snapper'...
done.
==> Starting pkgver()...
==> Starting prepare()...
==> Removing existing pkg/ directory...
==> Starting build()...
configure.ac:16: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
configure.ac:16: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.ac:22: installing './compile'
configure.ac:22: installing './config.guess'
configure.ac:22: installing './config.sub'
configure.ac:16: installing './install-sh'
configure.ac:16: installing './missing'
client/Makefile.am:7: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
client/Makefile.am: installing './depcomp'
client/utils/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
dbus/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
examples/c++-lib/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
examples/c/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
pam/Makefile.am:11: warning: shell echo /usr/`basename $(libdir: non-POSIX variable name
pam/Makefile.am:11: (probably a GNU make extension)
pam/Makefile.am:9: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
po/Makefile.am:9: warning: wildcard ../client/*.cc ../client/utils/*.cc: non-POSIX variable name
po/Makefile.am:9: (probably a GNU make extension)
po/Makefile.am:11: warning: wildcard *.po: non-POSIX variable name
po/Makefile.am:11: (probably a GNU make extension)
po/Makefile.am:22: warning: '%'-style pattern rules are a GNU make extension
server/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
snapper/Makefile.am:7: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
testsuite-cmp/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
testsuite-real/Makefile.am:7: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
testsuite-real/Makefile.am:5: warning: 'CXXFLAGS' is a user variable, you should not override it;
testsuite-real/Makefile.am:5: use 'AM_CXXFLAGS' instead
testsuite/Makefile.am:7: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
testsuite/Makefile.am:5: warning: 'CXXFLAGS' is a user variable, you should not override it;
testsuite/Makefile.am:5: use 'AM_CXXFLAGS' instead
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for xsltproc... /usr/bin/xsltproc
checking for chsnap... /sbin/chsnap
checking for cp... /usr/bin/cp
checking for touch... /usr/bin/touch
checking for rm... /usr/bin/rm
checking for diff... /usr/bin/diff
checking for chattr... /usr/bin/chattr
checking for lvcreate... /usr/bin/lvcreate
checking for lvremove... /usr/bin/lvremove
checking for lvs... /usr/bin/lvs
checking for lvchange... /usr/bin/lvchange
checking for lvm... /usr/bin/lvm
checking for lvrename... /usr/bin/lvrename
checking whether make supports nested variables... (cached) yes
checking for btrfs_read_and_process_send_stream in -lbtrfs... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DBUS... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating snapper/Makefile
config.status: creating snapper/Version.h
config.status: creating examples/Makefile
config.status: creating examples/c/Makefile
config.status: creating examples/c++-lib/Makefile
config.status: creating dbus/Makefile
config.status: creating server/Makefile
config.status: creating client/Makefile
config.status: creating client/utils/Makefile
config.status: creating scripts/Makefile
config.status: creating pam/Makefile
config.status: creating data/Makefile
config.status: creating doc/Makefile
config.status: creating doc/snapper.xml
config.status: creating doc/snapperd.xml
config.status: creating doc/snapper-configs.xml
config.status: creating doc/snapper-zypp-plugin.xml
config.status: creating doc/snapper-zypp-plugin.conf.xml
config.status: creating doc/pam_snapper.xml
config.status: creating po/Makefile
config.status: creating testsuite/Makefile
config.status: creating testsuite-real/Makefile
config.status: creating testsuite-cmp/Makefile
config.status: creating package/snapper.spec
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
make all-recursive
make[1]: Entering directory '/tmp/yaourt-tmp-rhys/aur-snapper-git/src/snapper'
Making all in snapper
make[2]: Entering directory '/tmp/yaourt-tmp-rhys/aur-snapper-git/src/snapper/snapper'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Factory.lo -MD -MP -MF .deps/Factory.Tpo -c -o Factory.lo Factory.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Factory.lo -MD -MP -MF .deps/Factory.Tpo -c Factory.cc -fPIC -DPIC -o .libs/Factory.o
mv -f .deps/Factory.Tpo .deps/Factory.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Snapper.lo -MD -MP -MF .deps/Snapper.Tpo -c -o Snapper.lo Snapper.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Snapper.lo -MD -MP -MF .deps/Snapper.Tpo -c Snapper.cc -fPIC -DPIC -o .libs/Snapper.o
Snapper.cc: In destructor 'snapper::Snapper::~Snapper()':
Snapper.cc:118:20: warning: 'void snapper::Snapshot::flushInfo()' is deprecated (declared at ../snapper/Snapshot.h:111) [-Wdeprecated-declarations]
it->flushInfo();
^
mv -f .deps/Snapper.Tpo .deps/Snapper.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Snapshot.lo -MD -MP -MF .deps/Snapshot.Tpo -c -o Snapshot.lo Snapshot.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Snapshot.lo -MD -MP -MF .deps/Snapshot.Tpo -c Snapshot.cc -fPIC -DPIC -o .libs/Snapshot.o
mv -f .deps/Snapshot.Tpo .deps/Snapshot.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Comparison.lo -MD -MP -MF .deps/Comparison.Tpo -c -o Comparison.lo Comparison.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Comparison.lo -MD -MP -MF .deps/Comparison.Tpo -c Comparison.cc -fPIC -DPIC -o .libs/Comparison.o
mv -f .deps/Comparison.Tpo .deps/Comparison.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Filesystem.lo -MD -MP -MF .deps/Filesystem.Tpo -c -o Filesystem.lo Filesystem.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Filesystem.lo -MD -MP -MF .deps/Filesystem.Tpo -c Filesystem.cc -fPIC -DPIC -o .libs/Filesystem.o
mv -f .deps/Filesystem.Tpo .deps/Filesystem.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT File.lo -MD -MP -MF .deps/File.Tpo -c -o File.lo File.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT File.lo -MD -MP -MF .deps/File.Tpo -c File.cc -fPIC -DPIC -o .libs/File.o
mv -f .deps/File.Tpo .deps/File.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT XmlFile.lo -MD -MP -MF .deps/XmlFile.Tpo -c -o XmlFile.lo XmlFile.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT XmlFile.lo -MD -MP -MF .deps/XmlFile.Tpo -c XmlFile.cc -fPIC -DPIC -o .libs/XmlFile.o
mv -f .deps/XmlFile.Tpo .deps/XmlFile.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Enum.lo -MD -MP -MF .deps/Enum.Tpo -c -o Enum.lo Enum.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Enum.lo -MD -MP -MF .deps/Enum.Tpo -c Enum.cc -fPIC -DPIC -o .libs/Enum.o
mv -f .deps/Enum.Tpo .deps/Enum.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT AppUtil.lo -MD -MP -MF .deps/AppUtil.Tpo -c -o AppUtil.lo AppUtil.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT AppUtil.lo -MD -MP -MF .deps/AppUtil.Tpo -c AppUtil.cc -fPIC -DPIC -o .libs/AppUtil.o
mv -f .deps/AppUtil.Tpo .deps/AppUtil.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT FileUtils.lo -MD -MP -MF .deps/FileUtils.Tpo -c -o FileUtils.lo FileUtils.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT FileUtils.lo -MD -MP -MF .deps/FileUtils.Tpo -c FileUtils.cc -fPIC -DPIC -o .libs/FileUtils.o
FileUtils.cc: In member function 'ssize_t snapper::SDir::listxattr(const string&, char*, size_t) const':
FileUtils.cc:445:16: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
chdir("/");
^
FileUtils.cc: In member function 'ssize_t snapper::SDir::getxattr(const string&, const char*, void*, size_t) const':
FileUtils.cc:481:16: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
chdir("/");
^
FileUtils.cc: In member function 'bool snapper::SDir::mount(const string&, const string&, long unsigned int, const string&) const':
FileUtils.cc:536:16: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
chdir("/");
^
FileUtils.cc:540:12: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
chdir("/");
^
FileUtils.cc: In member function 'bool snapper::SDir::umount(const string&) const':
FileUtils.cc:565:16: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
chdir("/");
^
FileUtils.cc:569:12: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
chdir("/");
^
mv -f .deps/FileUtils.Tpo .deps/FileUtils.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT XAttributes.lo -MD -MP -MF .deps/XAttributes.Tpo -c -o XAttributes.lo XAttributes.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT XAttributes.lo -MD -MP -MF .deps/XAttributes.Tpo -c XAttributes.cc -fPIC -DPIC -o .libs/XAttributes.o
mv -f .deps/XAttributes.Tpo .deps/XAttributes.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Log.lo -MD -MP -MF .deps/Log.Tpo -c -o Log.lo Log.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Log.lo -MD -MP -MF .deps/Log.Tpo -c Log.cc -fPIC -DPIC -o .libs/Log.o
mv -f .deps/Log.Tpo .deps/Log.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Logger.lo -MD -MP -MF .deps/Logger.Tpo -c -o Logger.lo Logger.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Logger.lo -MD -MP -MF .deps/Logger.Tpo -c Logger.cc -fPIC -DPIC -o .libs/Logger.o
mv -f .deps/Logger.Tpo .deps/Logger.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Compare.lo -MD -MP -MF .deps/Compare.Tpo -c -o Compare.lo Compare.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Compare.lo -MD -MP -MF .deps/Compare.Tpo -c Compare.cc -fPIC -DPIC -o .libs/Compare.o
mv -f .deps/Compare.Tpo .deps/Compare.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT SystemCmd.lo -MD -MP -MF .deps/SystemCmd.Tpo -c -o SystemCmd.lo SystemCmd.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT SystemCmd.lo -MD -MP -MF .deps/SystemCmd.Tpo -c SystemCmd.cc -fPIC -DPIC -o .libs/SystemCmd.o
mv -f .deps/SystemCmd.Tpo .deps/SystemCmd.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT AsciiFile.lo -MD -MP -MF .deps/AsciiFile.Tpo -c -o AsciiFile.lo AsciiFile.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT AsciiFile.lo -MD -MP -MF .deps/AsciiFile.Tpo -c AsciiFile.cc -fPIC -DPIC -o .libs/AsciiFile.o
mv -f .deps/AsciiFile.Tpo .deps/AsciiFile.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Regex.lo -MD -MP -MF .deps/Regex.Tpo -c -o Regex.lo Regex.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Regex.lo -MD -MP -MF .deps/Regex.Tpo -c Regex.cc -fPIC -DPIC -o .libs/Regex.o
mv -f .deps/Regex.Tpo .deps/Regex.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Acls.lo -MD -MP -MF .deps/Acls.Tpo -c -o Acls.lo Acls.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Acls.lo -MD -MP -MF .deps/Acls.Tpo -c Acls.cc -fPIC -DPIC -o .libs/Acls.o
mv -f .deps/Acls.Tpo .deps/Acls.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Btrfs.lo -MD -MP -MF .deps/Btrfs.Tpo -c -o Btrfs.lo Btrfs.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT Btrfs.lo -MD -MP -MF .deps/Btrfs.Tpo -c Btrfs.cc -fPIC -DPIC -o .libs/Btrfs.o
mv -f .deps/Btrfs.Tpo .deps/Btrfs.Plo
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR='"/etc/conf.d"' -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT BtrfsUtils.lo -MD -MP -MF .deps/BtrfsUtils.Tpo -c -o BtrfsUtils.lo BtrfsUtils.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -DCONFDIR=\"/etc/conf.d\" -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -std=c++0x -Wall -Wextra -Wformat=2 -Wnon-virtual-dtor -Wno-unused-parameter -MT BtrfsUtils.lo -MD -MP -MF .deps/BtrfsUtils.Tpo -c BtrfsUtils.cc -fPIC -DPIC -o .libs/BtrfsUtils.o
BtrfsUtils.cc: In function 'void snapper::set_default_id(int, long long unsigned int)':
BtrfsUtils.cc:158:16: error: 'BTRFS_IOC_DEFAULT_SUBVOL' was not declared in this scope
if (ioctl(fd, BTRFS_IOC_DEFAULT_SUBVOL, &id) != 0)
^
BtrfsUtils.cc: In function 'long long unsigned int snapper::get_default_id(int)':
BtrfsUtils.cc:166:33: error: aggregate 'snapper::get_default_id(int)::btrfs_ioctl_search_args args' has incomplete type and cannot be defined
struct btrfs_ioctl_search_args args;
^
BtrfsUtils.cc:170:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->tree_id = BTRFS_ROOT_TREE_OBJECTID;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:170:16: error: 'BTRFS_ROOT_TREE_OBJECTID' was not declared in this scope
sk->tree_id = BTRFS_ROOT_TREE_OBJECTID;
^
BtrfsUtils.cc:171:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->nr_items = 1;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:172:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->max_objectid = BTRFS_ROOT_TREE_DIR_OBJECTID;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:172:21: error: 'BTRFS_ROOT_TREE_DIR_OBJECTID' was not declared in this scope
sk->max_objectid = BTRFS_ROOT_TREE_DIR_OBJECTID;
^
BtrfsUtils.cc:173:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->min_objectid = BTRFS_ROOT_TREE_DIR_OBJECTID;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:174:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->max_type = BTRFS_DIR_ITEM_KEY;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:174:17: error: 'BTRFS_DIR_ITEM_KEY' was not declared in this scope
sk->max_type = BTRFS_DIR_ITEM_KEY;
^
BtrfsUtils.cc:175:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->min_type = BTRFS_DIR_ITEM_KEY;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:176:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->max_offset = (__u64) -1;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:177:4: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
sk->max_transid = (__u64) -1;
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:179:16: error: 'BTRFS_IOC_TREE_SEARCH' was not declared in this scope
if (ioctl(fd, BTRFS_IOC_TREE_SEARCH, &args) != 0)
^
BtrfsUtils.cc:182:8: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
if (sk->nr_items == 0)
^
BtrfsUtils.cc:169:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_key'
struct btrfs_ioctl_search_key* sk = &args.key;
^
BtrfsUtils.cc:186:8: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_header'
if (sh->type != BTRFS_DIR_ITEM_KEY)
^
BtrfsUtils.cc:185:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_header'
struct btrfs_ioctl_search_header* sh = (struct btrfs_ioctl_search_header*) args.buf;
^
BtrfsUtils.cc:189:60: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_ioctl_search_header'
struct btrfs_dir_item* di = (struct btrfs_dir_item*)(sh + 1);
^
BtrfsUtils.cc:185:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_ioctl_search_header'
struct btrfs_ioctl_search_header* sh = (struct btrfs_ioctl_search_header*) args.buf;
^
BtrfsUtils.cc:190:44: error: 'btrfs_stack_dir_name_len' was not declared in this scope
int name_len = btrfs_stack_dir_name_len(di);
^
BtrfsUtils.cc:191:40: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_dir_item'
const char* name = (const char*)(di + 1);
^
BtrfsUtils.cc:189:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_dir_item'
struct btrfs_dir_item* di = (struct btrfs_dir_item*)(sh + 1);
^
BtrfsUtils.cc:195:36: error: invalid use of incomplete type 'struct snapper::get_default_id(int)::btrfs_dir_item'
return btrfs_disk_key_objectid(&di->location);
^
BtrfsUtils.cc:189:9: error: forward declaration of 'struct snapper::get_default_id(int)::btrfs_dir_item'
struct btrfs_dir_item* di = (struct btrfs_dir_item*)(sh + 1);
^
BtrfsUtils.cc:195:46: error: 'btrfs_disk_key_objectid' was not declared in this scope
return btrfs_disk_key_objectid(&di->location);
^
BtrfsUtils.cc: In function 'std::string snapper::get_subvolume(int, long long unsigned int)':
BtrfsUtils.cc:204:55: error: 'btrfs_subvolid_resolve' was not declared in this scope
if (btrfs_subvolid_resolve(fd, path, sizeof(path), id) != 0)
^
BtrfsUtils.cc: In function 'long long unsigned int snapper::get_id(int)':
BtrfsUtils.cc:215:37: error: aggregate 'snapper::get_id(int)::btrfs_ioctl_ino_lookup_args args' has incomplete type and cannot be defined
struct btrfs_ioctl_ino_lookup_args args;
^
BtrfsUtils.cc:218:18: error: 'BTRFS_FIRST_FREE_OBJECTID' was not declared in this scope
args.objectid = BTRFS_FIRST_FREE_OBJECTID;
^
BtrfsUtils.cc:220:16: error: 'BTRFS_IOC_INO_LOOKUP' was not declared in this scope
if (ioctl(fd, BTRFS_IOC_INO_LOOKUP, &args) != 0)
^
BtrfsUtils.cc: In function 'long long unsigned int snapper::get_default_id(int)':
BtrfsUtils.cc:196:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
BtrfsUtils.cc: In function 'long long unsigned int snapper::get_id(int)':
BtrfsUtils.cc:224:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
Makefile:536: recipe for target 'BtrfsUtils.lo' failed
make[2]: *** [BtrfsUtils.lo] Error 1
make[2]: Leaving directory '/tmp/yaourt-tmp-rhys/aur-snapper-git/src/snapper/snapper'
Makefile:470: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/yaourt-tmp-rhys/aur-snapper-git/src/snapper'
Makefile:378: recipe for target 'all' failed
make: *** [all] Error 2
Since Fedora 33 is going to add BTRFS as defaults. Could you add the requirements to run in Fedora in Readme? I will be happy to test.
I use ubuntu mate xenial. I cannot get gui working without gir1.2-gtksource-3.0. Please include this to dependency for ubuntu. Thank you.
I have to use sudo snapper-gui
to see snapshots which is owned by root, but Dolphin (the KDE file explorer, which is called by "Open" botton) complains about that.
Running Dolphin with sudo can cause bugs and expose you to security vulnerabilities. Instead use Dolphin normally and youwill be prompted for elevated privileges when performing file operations that require them.
Include a text description for the code. I couldn't find this or a tool similar to this using githubs search feature. lvm gui turns up nothing. Luckily I found this through the AUR for arch.
If you want to add what packages to install on Ubuntu I wrote a quick blog entry on it:
I can't remove it from my system!
When trying to browse a snapshot of a home directory subvol, I get the error message The file or folder /home/.snapshots/1/snapshot does not exist.
. This path does in fact exist but the user that runs snapper-gui does not have permissions to it. Is there any special permission that I need for a mounted snapshot subvol?
I tried with sudo apt remove snapper-gui
but nothing removed.
As I started from GUI desktop icon from the user GUI session on recent testing distribution of Debian running GNOME on Wayland, snapper-gui didn't list all the snapshots. To see the problem, I did following from terminal emulator.
$ snapper-gui
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/snappergui/mainWindow.py", line 203, in on_main_destroy
for snapshot in snapper.ListSnapshots(config[0]):
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 141, in __call__
return self._connection.call_blocking(self._named_service,
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: error.no_permissions: org.freedesktop.DBus.Error.Failed
$
Looks like permission issue here. So I tried it with sudo
and works fine.
$ sudo snapper-gui
$
I am not sure if this is expected behavior or Debian package issue.
But it will be nice snapper-gui as upstream does the similar trick as gparted did with GParted 0.30.0 (2017-10-10):
This release provides an interim workaround to allow GParted to run
under Wayland by using xhost to grant and revoke root access to the
X11 display. This must be enabled while building the software with:
./configure --enable-xhost-root
Pkexec from polkit has been made the first choice graphical SU
program as all the desktops have settled on using polkit as the
privileged access mechanism. See "Installing polkit's Action File"
section in the README file for when an additional installation step
may be needed.
Also changed is that execution of the graphical SU program has been
moved from gparted.desktop to the gparted shell wrapper. Therefore
gparted can be run either by an unprivileged user or by root and as
such is installed in $prefix/bin rather than $prefix/sbin. This
additionally means distributions can drop their pkexec scripts used
to launch gparted.
Source is at https://gitlab.gnome.org/GNOME/gparted/
Snapper-GUI installs and run successfully on Ubuntu via manual https://poisonpacket.wordpress.com/2015/06/04/installing-btrfs-snapper-gui-on-ubuntu-and-ubuntu-derivatives/
But I can't open "Changes" window for see diffs of files. When I click on this button, I see this error in console:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/snappergui-0.1-py3.4.egg/snappergui/mainWindow.py", line 160, in on_viewchanges_clicked
File "/usr/local/lib/python3.4/dist-packages/snappergui-0.1-py3.4.egg/snappergui/changesWindow.py", line 10, in __init__
NameError: name 'GObject' is not defined
How I can fix this problem?
I have successfully install snapper-gui via installation manual on Ubunut, but don't understand what to do next.
How to run this app after installing? I can't find any executable file in /usr/local/bin or in other folders.
Can you extend README.md via examples how to find and execute snapper-gui binary?
And will be good to see some screenshots in front page of snapper-giu github page, for understanding what users got after installing. Can you add example images?
Thanks.
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/snappergui/mainWindow.py", line 94, in on_create_snapshot
newSnapshot = snapper.CreateSingleSnapshot(dialog.config,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/site-packages/dbus/proxies.py", line 141, in __call__
return self._connection.call_blocking(self._named_service,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/site-packages/dbus/connection.py", line 634, in call_blocking
reply_message = self.send_message_with_reply_and_block(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dbus.exceptions.DBusException: error.unknown_config: org.freedesktop.DBus.Error.Failed
Also, the dependencies for Fedora are missing. I had to install gtksourceview3
to be able to run it.
After installing all listed dependencies (minus snapper-git) and installing, snapp produces the following error:
$ snapper-gui
Traceback (most recent call last):
File "/usr/bin/snapper-gui", line 9, in <module>
load_entry_point('snappergui==0.1', 'gui_scripts', 'snapper-gui')()
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 558, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
return ep.load()
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2355, in load
return self.resolve()
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2361, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.5/site-packages/snappergui-0.1-py3.5.egg/snappergui/application.py", line 2, in <module>
ImportError: No module named 'gi'
But installing python-gobject takes care of the issue:
pacman -S python-gobject
May want to include it in your Arch dependency list.
right now, you can only create a (new) single snapper point, please also add the creation of pre/post snapper point. with only single snapper point you can' t restore....
thasnks
could you add support for translations (ie creating the empty po files and modifying setup.py accordingly)? Then contributors less versed in the intricacies of python build systems could propose translations :)
Not being able to see the diff in the changes section on python 3.11 due to "U" mode being deprecated on python 3.11
File "/usr/lib/python3.11/site-packages/snappergui/changesWindow.py", line 165, in get_lines_from_file return open(path, 'U').readlines() ^^^^^^^^^^^^^^^ ValueError: invalid mode: 'U'
From python docs:
https://docs.python.org/3/whatsnew/3.11.html#porting-to-python-3-11
open(), io.open(), codecs.open() and fileinput.FileInput no longer accept 'U' (“universal newline”) in the file mode. In Python 3, “universal newline” mode is used by default whenever a file is opened in text mode, and the 'U' flag has been deprecated since Python 3.3. The newline parameter to these functions controls how universal newlines work. (Contributed by Victor Stinner in bpo-37330.)
Hi,
I noticed you recently fixed another issue I reported so I thought I'd go ahead and report this one too as it should be a relatively easy fix.
Currently the menu at the top of the UI used to select the active snapper config does not have any kind of scrolling enabled. Therefore, if you have more than a few snapper configs, the window quickly becomes wider than the screen, stretching out the rest of the UI and forcing you to drag the window around to access the portion that doesn't fit on the screen.
Ubuntu 18.04
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/snappergui/changesWindow.py", line 138, in on_idle_init_paths_tree
snapper.CreateComparison(self.config,self.snapshot_begin,self.snapshot_end)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in call
**keywords)
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
when I first installed snapper it all seemed to work 1 week later when I needed it .. it started doing this
still unsure what happened some time after snapshot 10 a folder was wiped
issue being folders contents spanned across 20 disks would be nice using a gui instead of doing
snapper -c SRD9NA1B8 -v undochange 1..161 /mnt/SnapRaidArray/SRD9NA1B8/ ...
for each and every file / mounted disk
possibly a python related issue ?
their are 7201 changes for that disk alone that should be showing according to
snapper -c SRD7NA1B8 status 1..34
aio@aio:/etc/snapper/configs$ sudo apt install python3
[sudo] password for aio:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3 is already the newest version (3.6.7-1~18.04).
0 to upgrade, 0 to newly install, 0 to remove and 78 not to upgrade.
aio@aio:/etc/snapper/configs$ sudo apt install libgtksourceview-3.0-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
libgtksourceview-3.0-1 is already the newest version (3.24.7-1).
libgtksourceview-3.0-1 set to manually installed.
0 to upgrade, 0 to newly install, 0 to remove and 78 not to upgrade.
aio@aio:/etc/snapper/configs$ sudo apt install gir1.2-gtksource-3.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
gir1.2-gtksource-3.0 is already the newest version (3.24.7-1).
0 to upgrade, 0 to newly install, 0 to remove and 78 not to upgrade.
aio@aio:/etc/snapper/configs$ sudo apt install python3-dbus
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-dbus is already the newest version (1.2.6-1).
0 to upgrade, 0 to newly install, 0 to remove and 78 not to upgrade.
aio@aio:/etc/snapper/configs$ sudo apt install python3-setuptools
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-setuptools is already the newest version (39.0.1-2).
0 to upgrade, 0 to newly install, 0 to remove and 78 not to upgrade.
RROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/snappergui/mainWindow.py", line 186, in on_dbus_snapshots_deleted
self.configView[config].remove_snapshot_from_tree(deleted)
File "/usr/local/lib/python3.6/dist-packages/snappergui/snapshotsView.py", line 80, in remove_snapshot_from_tree
for aux, row in enumerate(treemodel):
TypeError: 'NoneType' object is not iterable
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/snappergui/mainWindow.py", line 186, in on_dbus_snapshots_deleted
self.configView[config].remove_snapshot_from_tree(deleted)
File "/usr/local/lib/python3.6/dist-packages/snappergui/snapshotsView.py", line 80, in remove_snapshot_from_tree
for aux, row in enumerate(treemodel):
TypeError: 'NoneType' object is not iterable
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/snappergui/mainWindow.py", line 186, in on_dbus_snapshots_deleted
self.configView[config].remove_snapshot_from_tree(deleted)
File "/usr/local/lib/python3.6/dist-packages/snappergui/snapshotsView.py", line 80, in remove_snapshot_from_tree
for aux, row in enumerate(treemodel):
TypeError: 'NoneType' object is not iterable
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/snappergui/mainWindow.py", line 186, in on_dbus_snapshots_deleted
self.configView[config].remove_snapshot_from_tree(deleted)
File "/usr/local/lib/python3.6/dist-packages/snappergui/snapshotsView.py", line 80, in remove_snapshot_from_tree
for aux, row in enumerate(treemodel):
TypeError: 'NoneType' object is not iterable
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/snappergui/mainWindow.py", line 186, in on_dbus_snapshots_deleted
self.configView[config].remove_snapshot_from_tree(deleted)
File "/usr/local/lib/python3.6/dist-packages/snappergui/snapshotsView.py", line 80, in remove_snapshot_from_tree
for aux, row in enumerate(treemodel):
I showing changes between 2 snapshots. Showing changes at first modified file is OK. But if I want showing changes at other modified file, snapper-gui crash. Every time when I click to second (any other) file for showing changes, snapper-gui crashed.
Snapshot have 28631 files. I use ArchLinux with this packages:
python 3.6.4-2
python-dbus 1.2.6-1
python-gobject 3.26.1-1
python-setuptools 1:38.5.1-1
gtk3 3.22.28-1
gtksourceview3 3.24.6-1
snapper 0.5.4-1
snapper-gui-git 0.1.r5.g50bf2a3-1
I attache core dumped -
core.snapper-gui.0.ef2e923854df499cbb3e56df7fc2ab5a.20923.1520334155000000.lz4.zip
fol error on suse tumbleweed 32 bit:
snapper-gui
Traceback (most recent call last):
File "/usr/local/bin/snapper-gui", line 11, in
load_entry_point('snappergui==0.1', 'gui_scripts', 'snapper-gui')()
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 2852, in load_entry_point
return ep.load()
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 2443, in load
return self.resolve()
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 2449, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/local/lib/python3.8/site-packages/snappergui/init.py", line 5, in
gi.require_version("GtkSource", "3.0")
File "/usr/lib/python3.8/site-packages/gi/init.py", line 129, in require_version
raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace GtkSource not available for version 3.0
latest version of gtksourceview lib is installed:
No update candidate for 'libgtksourceview-3_0-1-3.24.11-2.10.i586'. The highest available version is already installed.
Install no errors...
Is this because of 32 bit ? Then why ?
how to uninstall snapper-gui (downloaded from github)
I'm using Kubuntu, and AFAIK it's not possible to open GUI apps as sudo (kdesu and gksu are not available anymore).
Error when tried to create a snapshot:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/snappergui/mainWindow.py", line 94, in on_create_snapshot
newSnapshot = snapper.CreateSingleSnapshot(dialog.config,
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 141, in call
return self._connection.call_blocking(self._named_service,
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: error.no_permissions: org.freedesktop.DBus.Error.Failed
Is there a way to ask for password instead of executing as sudo?
Hello there. I have installed the package in Arch Linux, but the functionality is not complete. I get a list of the snapshots, but the Userdata pane is empty no matter if I have a snapshot selected or not, and the Changes button does nothing, no matter if I have something selected or not.
This is the pkgbuild:
http://pastebin.com/raw.php?i=EaXWAaNt
This is the screenshot (I have opened the gui through the terminal, it does exactly the same if I run it as root).
Since 0.3.3 snapper supports the range option, see manpage
When using this range in a *_LIMIT_*
snapper-config parameter the properties window for any configuration is no longer available.
Snapper-gui throws the following error:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/snappergui/application.py", line 40, in show_configs_properties
dialog = propertiesDialog(self, self.snappergui.window)
File "/usr/local/lib/python3.5/dist-packages/snappergui/propertiesDialog.py", line 64, in __init__
currentTab = PropertiesTab(config)
File "/usr/local/lib/python3.5/dist-packages/snappergui/propertiesDialog.py", line 20, in __init__
adjustment = Gtk.Adjustment(value=int(v),
ValueError: invalid literal for int() with base 10: dbus.String('10-30')
For some reason I'm unable to sort by date, the seems to be no click-event when hitting the Date header.
All other headers (#, User, Description) can be sorted by without problem.
Version: 0.1.r4.gceb2443-1 (Arch/Manjaro Linux)
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.