Hello community, here is the log from the commit of package backintime for openSUSE:Factory checked in at 2015-09-30 05:51:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/backintime (Old) and /work/SRC/openSUSE:Factory/.backintime.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "backintime" Changes: -------- --- /work/SRC/openSUSE:Factory/backintime/backintime.changes 2014-10-18 09:09:14.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.backintime.new/backintime.changes 2015-09-30 05:51:35.000000000 +0200 @@ -1,0 +2,154 @@ +Wed Sep 16 16:17:03 UTC 2015 - ronisbr@gmail.com + +- Version bump to 1.1 branch (1.1.6), based on home:ecsos:Backup/backintime. + * The 1.1 branch introduced a new QT4 GUI that replaced the + old KDE and GNOME GUI. Therefore, the pacakges backintime-gnome and + backintime-kde were replaced by the package backintime-qt4. Thus, both + backintime and backintime-qt4 do not depend on any GNOME or KDE packages + anymore. + * The package now depends on python3 instead of python. + * The patch `backintime-ssh-agent_only_if_password.patch` was + updated to replace TABs with SPACEs for code indentation following the + convention of `common/sshtools.py`. + +- Upstream changelog from version 1.0.38 to version 1.1.6. + + Version 1.1.6 + * show Profile name in systrayicon menu + * Fix bug: encrypted remote backup hangs on 'start + encfsctl encode process' + (https://launchpad.net/bugs/1455925) + * make own Exceptions a childclass from + BackInTimeException + * Fix bug: Segmentation fault caused by two QApplication + * Fix bug: no Changes [C] log entries with 'Check for + * Fix bug: some changed options from Settingsdialog where + * Fix bug: python version check fails on python 3.3 + * Specifying the SSH private key whenever ssh is called + * add to in-/exclude directly from mainwindow + * Fix bug: pw-cache didn't start on Mint KDE because of missing stdout + * add option to run Smart Remove in background on remote host + * Fix bug: failed to restore file names with white spaces using CLI + * Fix bug: UnboundLocalError with 'last_snapshot' in _free_space + (https://launchpad.net/bugs/1437623) + + Version 1.1.4 + * add option to keep new snapshot with 'full rsync mode' regardless of + changes (https://launchpad.net/bugs/1434722) + * Fix bug: wrong quote in 'Save config file' + * Fix bug: Deleting the last snapshot does not update the last_snapshot + symlink (https://launchpad.net/bugs/1434724) + * remove base64 encoding for passwords as it doesn't add any security + but broke the password process (https://launchpad.net/bugs/1431305) + * add confirm dialog before restoring + (https://launchpad.net/bugs/438079) + * Fix bug: Wrong status text in the tray icon + (https://launchpad.net/bugs/1429400) + * add option to run only one snapshot at a time + * Fix bug: restore permissions of lots of files made BackInTime + unresposive (https://launchpad.net/bugs/1428423) + * Fix bug: failed to restore file owner and group + * cache uuid in config so it doesn't fail if the device isn't pluged in + (https://launchpad.net/bugs/1426881) + * add warning about wrong Python version in configure + * prevent snapshots from being removed with restore and delete; show + warning if restore and delete filesystem root + (https://answers.launchpad.net/questions/262837) + * Fix bug: OSError in free_space; add alternate method to get free space + * add bash-completion + * Fix bug: ugly theme while running as root on Gnome based DEs + (https://launchpad.net/bugs/1418447) + * Fix bug: filename with broken charset throwed UnicodeError exception + (https://launchpad.net/bugs/1419694) + * use 'crontab' instead of 'crontab -' to read from stdin + (https://launchpad.net/bugs/1419466) + + Version 1.1.2 + * sort 'Backup folders' in main window + * save in- and exclude sort order + * use PolicyKit to install Udev rules + * move compression from install to build in Makefiles + * use pkexec to start backintime-qt4 as root + + Version 1.1.0 + * add tooltips for rsync options + * make only one debian/control + * multiselect files to restore (https://launchpad.net/bugs/1135886) + * force run manual snapshots on battery + (https://launchpad.net/bugs/861553) + * backup encfs config to local config folder + * apply 'install-docs-move.patch' from Debian package by Jonathan + Wiltshire + * add restore option to delete new files during restore + (https://launchpad.net/bugs/1371951) + * use flock to prevent two instances running at the same time + * restore config dialog added (https://launchpad.net/bugs/480391) + * inhibit suspend/hibernate while take_snapshot or restore + * use more reliable code for get_user + * implement anacrons functions inside BIT => more flexible schedules and + no new timestamp if there was an error + * automatically run in background if started with + 'backintime --backup-job' + * fix typos and style warnings in manpages reported by Lintian + (https://lintian.debian.org/full/jmw@debian.org.html#backintime_1.0.34-0.1) + * add exclude files by size (https://launchpad.net/bugs/823719) + * remove 'Auto Host/User/Profile-ID' as this is more confiusing than + helping + * Fix bug: check procname of pid-locks + (https://launchpad.net/bugs/1341414) + * optional run 'rsync' with 'nocache' + (https://launchpad.net/bugs/1344528) + * mark invalid exclude pattern with mode ssh-encrypted + * make Settingsdialog tabs scrollable + * remove colon (:) restriction in exclude pattern + * prevent starting new snapshot if restore is running + * Fix bug: Port check failed on IPv6 + (https://launchpad.net/bugs/1361634) + * add top-level directory for tarball + (https://launchpad.net/bugs/1359076) + * add more user-callback events (on App start and exit, on mount and + unmount) + * add context menu to files view + * remove snapshots from commandline + * multi selection in timeline => remove multiple snapshots with one + click + * print warning if started with sudo + * add more default exclude; remove [Cc]ache* from exclude + * Fix bug: 'inotify_add_watch failed' while closing BIT + * add option for custom rsync-options + * add ProgressBar for rsync + * add progress for smart-remove + * remove old status-bar message after a snapshot crashed. + * ask to include symlinks target instead link + (https://launchpad.net/bugs/1117709) + * port to Python 3.x + * returncode >0 if there was an error + (https://launchpad.net/bugs/1040995) + * Enable user-callback script to cancel a backup by returning a non-zero + exit code. + * merge backintime-notify into backintime-qt4 + * add --gksu/--gksudo arg to qt4/configure + * remember last path for each profile + (https://bugs.launchpad.net/bugs/1254870) + * sort include and exclude list + (https://bugs.launchpad.net/bugs/1193149) + * Timeline show tooltip 'Last check' + * Fix bug: systray icon didn't show up + (https://bugs.launchpad.net/backintime/+bug/658424) + * show hidden files in FileDialog + (https://bugs.launchpad.net/backintime/+bug/995925) + * add button text for all buttons + (https://bugs.launchpad.net/backintime/+bug/992020) + * add shortcuts (https://bugs.launchpad.net/backintime/+bug/686694) + * add menubar (https://bugs.launchpad.net/backintime/+bug/528851) + * port KDE4 GUI to pure Qt4 to replace both KDE4 and Gnome GUI + + Version 1.0.40 + * use fingerprint to check if ssh key was unlocked correctly + (https://answers.launchpad.net/questions/256408) + * add fallback method to get UUID + (https://answers.launchpad.net/questions/254140) + * Fix bug: 'Attempt to unlock mutex that was not locked'... this time + for good + +------------------------------------------------------------------- Old: ---- backintime-1.0.38.tar.gz New: ---- backintime-1.1.6.tar.gz backintime.rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ backintime.spec ++++++ --- /var/tmp/diff_new_pack.bYOKYb/_old 2015-09-30 05:51:36.000000000 +0200 +++ /var/tmp/diff_new_pack.bYOKYb/_new 2015-09-30 05:51:36.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package backintime # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,65 +17,48 @@ Name: backintime -Version: 1.0.38 +Version: 1.1.6 Release: 0 -Summary: Back In Time is a simple backup system for GNOME/KDE4 desktop +Summary: Back In Time is a simple backup tool for Linux, inspired by "flyback project" License: GPL-2.0+ Group: Productivity/Archiving/Backup Url: http://backintime.le-web.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch -Source: https://launchpad.net/%{name}/1.0/%{version}/+download/%{name}-%{version}.tar.gz +Source: https://launchpad.net/%{name}/1.1/%{version}/+download/%{name}-%{version}.tar.gz Source1: %{name}.png -# PATCH-FEATURE-OPENSUSE %{name}-ssh-agent_only_if_password.patch -- kdupke@suse.com +Source99: %{name}.rpmlintrc +# PATCH-FEATURE-OPENSUSE %%{name}-ssh-agent_only_if_password.patch -- kdupke@suse.com Patch0: %{name}-ssh-agent_only_if_password.patch -BuildRequires: cron BuildRequires: fdupes -BuildRequires: gnome-session -BuildRequires: kdebase4-runtime -BuildRequires: libkde4-devel BuildRequires: openssh -BuildRequires: python-gnome-devel -BuildRequires: python-gtk -BuildRequires: python-kde4 -BuildRequires: python-qt4 -BuildRequires: rsync -BuildRequires: update-desktop-files -%if 0%{?suse_version} > 1110 -BuildRequires: encfs -BuildRequires: kompare -BuildRequires: libnotify-devel -BuildRequires: libnotify-tools -BuildRequires: meld -BuildRequires: python-gnomekeyring -BuildRequires: python-notify-devel +BuildRequires: python3-devel BuildRequires: sshfs -%endif -%if 0%{?suse_version} > 1220 -BuildRequires: python-keyring -%endif +BuildRequires: update-desktop-files Requires: cron Requires: libnotify-tools Requires: openssh -Requires: python Requires: python-notify +Requires: python3 Requires: rsync Recommends: encfs Recommends: python-keyring Recommends: sshfs +Conflicts: backintime-kde +Conflicts: backintime-gnome + %description -Back In Time is a simple backup system for GNOME/KDE4 desktop inspired from -"flyback project" and "TimeVault". The backup is done by taking snapshots -of a specified set of directories. - -All you have to do is configure: - - * Where to save snapshot - * What directories to backup - * When backup should be done (manual, - every hour, every day, every week, every month) +Back In Time is a simple backup tool for Linux, inspired by "flyback project". + +It provides a command line client 'backintime' and a Qt4 GUI 'backintime-qt4' +both written in Python3. + +You only need to specify 3 things: + * where to save snapshots; + * what folders to backup; and + * backup frequency (manual, every hour, every day, every month). %package doc Summary: Documentation for %{name} @@ -84,111 +67,64 @@ BuildArch: noarch %description doc -Documentation and help files for %{name} +Documentation and help files for %{name}. -%package gnome -Summary: Back In Time is a simple backup system for GNOME desktop -Group: Productivity/Archiving/Backup -Requires: %{name} = %{version} -Requires: python-gnome -Requires: python-gtk -Recommends: meld -Recommends: python-gnomekeyring - -%description gnome -Back In Time is a simple backup system for GNOMEdesktop inspired from -"flyback project" and "TimeVault". The backup is done by taking snapshots -of a specified set of directories. - -All you have to do is configure: - - * Where to save snapshot - * What directories to backup - * When backup should be done (manual, - every hour, every day, every week, every month) - -%package kde +%package qt4 -Summary: Back In Time is a simple backup system for KDE4 desktop +Summary: Back In Time Qt4 GUI Group: Productivity/Archiving/Backup Requires: %{name} = %{version} -Requires: kdebase4-runtime -Requires: python-kde4 -Requires: python-qt4 -Recommends: kompare - -%description kde -Back In Time is a simple backup system for KDE4 desktop inspired from -"flyback project" and "TimeVault". The backup is done by taking snapshots -of a specified set of directories. - -All you have to do is configure: - - * Where to save snapshot - * What directories to backup - * When backup should be done (manual, - every hour, every day, every week, every month) +Requires: polkit +Requires: python3-qt4 + +%description qt4 +This package has a Qt4 GUI for %{name}. %lang_package %prep -%setup -q -c +%setup -q -n %{name}-%{version} %patch0 -p1 %build + sed -i -e "s|/share/doc/backintime|/share/doc/packages/backintime|g" common/config.py */Makefile.template -sed -i -e "s|gtk-save|%{name}|g" gnome/%{name}-gnome.desktop \ - gnome/%{name}-gnome-root.desktop -sed -i -e "s|document-save|%{name}|g" kde4/%{name}-kde4.desktop \ - kde4/%{name}-kde4-root.desktop +# Fix icon name. +sed -i 's/Icon=document-save/Icon=backintime/g' qt4/backintime-qt4.desktop +sed -i 's/Icon=document-save/Icon=backintime/g' qt4/backintime-qt4-root.desktop pushd common -%configure -make %{?_smp_mflags} -popd -pushd gnome -%configure -make %{?_smp_mflags} -popd -pushd kde4 -%configure --kdesu +./configure --python3 make %{?_smp_mflags} popd -%if 0%{?suse_version} > 1110 -pushd notify -%configure +pushd qt4 +./configure --python3 make %{?_smp_mflags} popd -%endif %install pushd common %{?make_install} %{!?make_install:%makeinstall} popd -pushd gnome -%{?make_install} %{!?make_install:%makeinstall} -popd -pushd kde4 +pushd qt4 %{?make_install} %{!?make_install:%makeinstall} popd -%if 0%{?suse_version} > 1200 -pushd notify -%{?make_install} %{!?make_install:%makeinstall} -popd -%endif + +# Fix doc directory. +mkdir -p %{buildroot}/%{_docdir}/%{name} +cp -rf %{buildroot}/%{_docdir}/%{name}-common/* %{buildroot}/%{_docdir}/%{name}/ + +# Remove unneeded files. +rm -r %{buildroot}%{_datadir}/doc/qt install -D -m 644 %{SOURCE1} %{buildroot}/%{_datadir}/pixmaps/%{name}.png -# fix executable permissions +# Fix executable permissions. chmod a+x %{buildroot}%{_datadir}/%{name}/common/askpass.py chmod a+x %{buildroot}%{_datadir}/%{name}/common/create-manpage-backintime-config.py -%fdupes -s %{buildroot}%{_docdir} - -%suse_update_desktop_file %{name}-gnome System Backup -%suse_update_desktop_file %{name}-gnome-root System Backup -%suse_update_desktop_file %{name}-kde4 System Backup -%suse_update_desktop_file %{name}-kde4-root System Backup +%suse_update_desktop_file %{name}-qt4 System Backup +%suse_update_desktop_file %{name}-qt4-root System Backup %find_lang %{name} --without-kde --without-gnome @@ -197,30 +133,32 @@ %files %defattr(-,root,root) -%doc AUTHORS LICENSE VERSION %{_sysconfdir}/xdg/autostart/backintime.desktop %{_bindir}/%{name} %{_bindir}/%{name}-askpass %{_datadir}/%{name}/ %{_datadir}/pixmaps/%{name}.png -%dir %{_datadir}/omf/ -%{_datadir}/omf/%{name}/ -%{_mandir}/man1/%{name}.1.gz +%{_datadir}/bash-completion +%{_mandir}/man1/%{name}-askpass.1.gz %{_mandir}/man1/%{name}-config.1.gz -%exclude %{_docdir}/%{name}/ +%{_mandir}/man1/%{name}.1.gz +%{_docdir}/%{name}/AUTHORS +%{_docdir}/%{name}/CHANGES +%{_docdir}/%{name}/LICENSE +%{_docdir}/%{name}/README +%{_docdir}/%{name}/VERSION %exclude %{_docdir}/%{name}-*/ +%exclude %{_datadir}/%{name}/qt4 +%exclude %{_datadir}/%{name}/plugins %files doc %defattr(-,root,root) -%doc CHANGES README TODO %exclude %{_docdir}/%{name}/AUTHORS +%exclude %{_docdir}/%{name}/CHANGES %exclude %{_docdir}/%{name}/LICENSE +%exclude %{_docdir}/%{name}/README %exclude %{_docdir}/%{name}/VERSION %{_docdir}/%{name}/ -%{_docdir}/%{name}-common/ -%if 0%{?suse_version} > 1200 -%{_docdir}/%{name}-notify/ -%endif %files lang -f %{name}.lang %defattr(-,root,root) @@ -229,22 +167,23 @@ %lang(jv) %dir %{_datadir}/locale/jv/LC_MESSAGES %endif -%files gnome -%defattr(-,root,root) -%{_bindir}/%{name}-gnome -%{_datadir}/applications/%{name}-gnome.desktop -%{_datadir}/applications/%{name}-gnome-root.desktop -%doc %{_datadir}/gnome/help/%{name}/ -%{_docdir}/%{name}-gnome/ -%{_mandir}/man1/%{name}-gnome.1.gz - -%files kde +%files qt4 %defattr(-,root,root) -%{_bindir}/%{name}-kde4 -%{_datadir}/applications/kde4/%{name}-kde4.desktop -%{_datadir}/applications/kde4/%{name}-kde4-root.desktop -%{_docdir}/%{name}-kde4/ -%{_kde4_htmldir}/en/%{name} -%{_mandir}/man1/%{name}-kde4.1.gz +%{_bindir}/%{name}-qt4 +%{_datadir}/applications/%{name}-qt4.desktop +%{_datadir}/applications/%{name}-qt4-root.desktop +%{_datadir}/%{name}/qt4 +%{_datadir}/%{name}/plugins +%{_docdir}/%{name}-qt4/ +%{_mandir}/man1/%{name}-qt4.1.gz +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system-services +%{_datadir}/dbus-1/system-services/net.launchpad.backintime.serviceHelper.service +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions +%{_datadir}/polkit-1/actions/net.launchpad.backintime.policy +%dir %{_sysconfdir}/dbus-1 +%dir %{_sysconfdir}/dbus-1/system.d +%config %{_sysconfdir}/dbus-1/system.d/net.launchpad.backintime.serviceHelper.conf %changelog ++++++ backintime-1.0.38.tar.gz -> backintime-1.1.6.tar.gz ++++++ ++++ 180802 lines of diff (skipped) ++++++ backintime-ssh-agent_only_if_password.patch ++++++ --- /var/tmp/diff_new_pack.bYOKYb/_old 2015-09-30 05:51:36.000000000 +0200 +++ /var/tmp/diff_new_pack.bYOKYb/_new 2015-09-30 05:51:36.000000000 +0200 @@ -1,15 +1,16 @@ ---- backintime-1.0.34/common/sshtools.py 2013-12-12 10:34:10.000000000 +0100 -+++ backintime-1.0.34.kai/common/sshtools.py 2014-01-18 13:44:28.478332639 +0100 -@@ -86,8 +86,10 @@ - self.ssh_options += ['-o', 'ServerAliveInterval=240'] - self.log_command = '%s: %s' % (self.mode, self.user_host_path) - +diff -Pdpru backintime-1.1.4.orig/common/sshtools.py backintime-1.1.4/common/sshtools.py +--- backintime-1.1.4.orig/common/sshtools.py 2015-03-22 23:45:40.000000000 +0100 ++++ backintime-1.1.4/common/sshtools.py 2015-06-09 18:11:41.811995216 +0200 +@@ -97,7 +97,11 @@ class SSH(mount.MountControl): + 'But this can make troubles with passphrase-less keys.' + %{'path': self.private_key_file}) + self.private_key_fingerprint = self.private_key_file - self.unlock_ssh_agent() -- -+ # ssh without password makes only sense if you have enabled passwordless ssh keys. In this case there is no need to use the keyring at all -+ if not self.password == None: -+ self.unlock_ssh_agent() + ++ # ssh without password makes only sense if you have enabled passwordless ssh keys. ++ # In this case there is no need to use the keyring at all. ++ if not self.password == None: ++ self.unlock_ssh_agent() + def _mount(self): """mount the service""" - sshfs = ['sshfs'] + self.ssh_options ++++++ backintime.rpmlintrc ++++++ setBadness("suse-dbus-unauthorized-service",0) addFilter("suse-dbus-unauthorized-service .*/usr/share/dbus-1/system-services/.*"); addFilter("suse-dbus-unauthorized-service .*/etc/dbus-1/system.d/.*");