summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freefilesync/debian/README.Debian11
-rw-r--r--freefilesync/debian/changelog21
-rw-r--r--freefilesync/debian/control4
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch89
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch6
-rw-r--r--freefilesync/debian/patches/ffs_no_wx311.patch21
-rw-r--r--freefilesync/ffs_el.patch30
-rw-r--r--freefilesync/ffs_fedora.patch8
-rw-r--r--freefilesync/ffs_no_check_updates.patch6
-rw-r--r--freefilesync/ffs_no_eraseif.patch407
-rw-r--r--freefilesync/ffs_no_wx311.patch21
-rw-r--r--freefilesync/freefilesync.spec16
-rw-r--r--irfanview/README.md4
-rw-r--r--irfanview/debian/changelog31
-rw-r--r--irfanview/irfanview.spec7
-rw-r--r--makemkv-bin/debian/changelog12
-rw-r--r--makemkv-bin/debian/compat2
-rw-r--r--makemkv-bin/debian/control4
-rw-r--r--makemkv-bin/debian/copyright2
-rw-r--r--makemkv-bin/debian/settings.conf.example6
-rw-r--r--makemkv-oss/debian/changelog12
-rw-r--r--makemkv-oss/debian/compat2
-rw-r--r--makemkv-oss/debian/control4
-rw-r--r--makemkv-oss/debian/copyright20
-rw-r--r--makemkv/README.md5
-rw-r--r--makemkv/changelog.txt11
-rw-r--r--makemkv/makemkv-bin-1.14.5.tar.gzbin9465109 -> 0 bytes
-rw-r--r--makemkv/makemkv-oss-1.14.5.tar.gzbin4384596 -> 0 bytes
-rw-r--r--makemkv/makemkv.spec11
-rw-r--r--makemkv/settings.conf.example6
-rw-r--r--scite-el/README.md15
-rw-r--r--scite-el/scite.spec3
-rw-r--r--scite-fedora/README.md15
-rwxr-xr-xscite-fedora/fc-el-scite-diff.sh3
-rw-r--r--scite-fedora/scite.spec5
-rw-r--r--simple-mtpfs/README.md14
-rw-r--r--simple-mtpfs/debian/README.Debian6
-rw-r--r--simple-mtpfs/debian/changelog29
-rw-r--r--simple-mtpfs/debian/compat1
-rw-r--r--simple-mtpfs/debian/control27
-rw-r--r--simple-mtpfs/debian/copyright423
-rw-r--r--simple-mtpfs/debian/patches/series1
-rwxr-xr-xsimple-mtpfs/debian/rules18
-rw-r--r--simple-mtpfs/debian/simple-mtpfs.docs2
-rw-r--r--simple-mtpfs/debian/simple-mtpfs.links4
-rw-r--r--simple-mtpfs/debian/simple-mtpfs.manpages1
-rw-r--r--simple-mtpfs/debian/source/format1
-rw-r--r--simple-mtpfs/debian/source/local-options2
-rw-r--r--simple-mtpfs/debian/watch3
-rw-r--r--veracrypt/debian/changelog6
-rw-r--r--veracrypt/debian/control2
51 files changed, 1230 insertions, 130 deletions
diff --git a/freefilesync/debian/README.Debian b/freefilesync/debian/README.Debian
index b370841..2dd582d 100644
--- a/freefilesync/debian/README.Debian
+++ b/freefilesync/debian/README.Debian
@@ -1,8 +1,19 @@
+freefilesync (10.18-1+devuan)
+
+ * Switch to gtk3 so OBS can build it
+ - Debian dropped libwxgtk3.0-dev in favor of libwxgtk3.0-gtk3-dev, but gtk3 has some perceived performance issues back from FreeFileSync 8.7 days.
+ - https://dev1galaxy.org/viewtopic.php?pid=18625#p18625
+ - https://freefilesync.org/forum/viewtopic.php?t=4918&p=16608&hilit=proxy_pixbuf_destroy#p16608
+
+ -- B Stack <bgstack15@gmail.com> Thu, 21 Oct 2019 08:18:00 -0500
+
freefilesync (10.17-1+devuan)
* Disable libcurl version check, to match AUR release.
* Minor cleanup of Makefile that upstream failed to notice when he refactored
+ -- B Stack <bgstack15@gmail.com> Tue, 22 Oct 2019 10:06:00 -0400
+
freefilesync (10.16-1+devuan)
* Revert some sftp and libssh2 newer-version functionality. Upstream apparently patches their upstream libs.
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 524371a..a271815 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,22 @@
+freefilesync (10.18-1+devuan) obs; urgency=low
+
+ * Save/load database files in parallel
+ * Show item count for each view filter category
+ * Group config history items via background colors
+ * Allow grid sort by category and sync action
+ * Reduced file accesses for faster start up
+ * Buffer redundant database loads
+ * Fix ibus initialization hang on Ubuntu 19.10
+ * Defer showing progress panel for short-lived tasks
+ * Calculate stable scrollbar dimensions on GTK2
+ * Log mod time errors even when sync is cancelled
+ * Show progress and errors when updating sync directions
+ * Detect MLSD support despite invalid FTP FEAT response
+ * Improved GUI responsiveness during config load
+ * Added Vietnamese translation
+
+ -- B Stack <bgstack15@gmail.com> Thu, 21 Nov 2019 07:53:41 -0500
+
freefilesync (10.17-1+devuan) obs; urgency=low
* Support PuTTY private key files for SFTP login
@@ -11,6 +30,8 @@ freefilesync (10.17-1+devuan) obs; urgency=low
* Fixed startup crash caused by corrupted HDD properties
* Allow SFTP access via Ed25519 key in PKIX format
+ -- B Stack <bgstack15@gmail.com> Tue, 22 Oct 2019 10:04:13 -0400
+
freefilesync (10.16-1+devuan) obs; urgency=low
* Redesigned progress indicator graphs
diff --git a/freefilesync/debian/control b/freefilesync/debian/control
index a60410c..4d8291f 100644
--- a/freefilesync/debian/control
+++ b/freefilesync/debian/control
@@ -6,10 +6,10 @@ Build-Depends: debhelper (>=11~),
autotools-dev,
imagemagick,
libcurl4-openssl-dev,
- libgtk2.0-dev,
+ libgtk-3-dev,
libssh2-1-dev,
libssl-dev,
- libwxgtk3.0-dev,
+ libwxgtk3.0-gtk3-dev,
wx3.0-headers,
unzip
Standards-Version: 4.1.4
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index fc16f54..705d84d 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -1,12 +1,12 @@
-Author: Simon Brulhart
-Source: AUR
-Date: 2019-10-21
-Message: Do not try to compile inexistant file
-Files affected: FreeFileSync/Source/Makefile
-diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
+Author: B Stack
+Source: Original research
+Date: 2019-11-21
+Message: Main patch to compile on Devuan.
+This reintroduces the gtk-3 usage, because Debian/Devuan stopped packaging libwxgtk3.0-dev (which used gtk2) and only does libwxgtk3.0-gtk3-dev. However, by reintroducing the gtk3, it brings back the old gtk3 instability from my previous packaging effort: https://freefilesync.org/forum/viewtopic.php?t=4918. /mnt/public/packages/old/freefilesync/freefilesync-9.7-1.master.tgz. Upstream never replied, but did note in the source that gtk3 is inherently unstable.
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/ffs_paths.cpp 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
-@@ -55,7 +55,8 @@
++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
+@@ -64,7 +64,8 @@
Zstring fff::getResourceDirPf()
{
@@ -16,9 +16,9 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S
}
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Makefile
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/Makefile 10.18-1/FreeFileSync/Source/Makefile
--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 08:05:57.000000000 -0400
-+++ 10.11-1/FreeFileSync/Source/Makefile 2019-04-12 14:00:16.774552362 -0400
++++ 10.18-1/FreeFileSync/Source/Makefile 2019-11-21 09:42:57.408243242 -0500
@@ -1,10 +1,10 @@
-EXENAME = FreeFileSync_$(shell arch)
+EXENAME = FreeFileSync
@@ -32,26 +32,23 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/F
CXXFLAGS += `pkg-config --cflags openssl`
-@@ -17,6 +17,7 @@ CXXFLAGS += `pkg-config --cflags libssh2`
+@@ -16,9 +16,10 @@
+ CXXFLAGS += `pkg-config --cflags libssh2`
LINKFLAGS += `pkg-config --libs libssh2`
-
- CXXFLAGS += `pkg-config --cflags gtk+-2.0`
-+LINKFLAGS += `pkg-config --libs gtk+-2.0`
+
+-CXXFLAGS += `pkg-config --cflags gtk+-2.0`
++CXXFLAGS += `pkg-config --cflags gtk+-3.0`
++LINKFLAGS += `pkg-config --libs gtk+-3.0`
#treat as system headers so that warnings are hidden:
- CXXFLAGS += -isystem/usr/include/gtk-2.0
-
-@@ -56,7 +56,6 @@
- CPP_FILES+=afs/init_curl_libssh2.cpp
- CPP_FILES+=afs/native.cpp
- CPP_FILES+=afs/sftp.cpp
--CPP_FILES+=afs/libssh2/init_libssh2.cpp
- CPP_FILES+=ui/batch_config.cpp
- CPP_FILES+=ui/abstract_folder_picker.cpp
- CPP_FILES+=ui/batch_status_handler.cpp
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile
+-CXXFLAGS += -isystem/usr/include/gtk-2.0
++CXXFLAGS += -isystem/usr/include/gtk-3.0
+
+ #support for SELinux (optional)
+ SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES)
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/RealTimeSync/Makefile 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile
--- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 08:05:57.000000000 -0400
-+++ 10.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-15 13:59:53.934551753 -0400
-@@ -1,13 +1,14 @@
++++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-21 09:46:11.378240094 -0500
+@@ -1,15 +1,16 @@
-EXENAME = RealTimeSync_$(shell arch)
+EXENAME = RealTimeSync
@@ -63,15 +60,19 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/RealTimeSync/Makef
+LINKFLAGS = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread
#Gtk - support "no button border"
- CXXFLAGS += `pkg-config --cflags gtk+-2.0`
-+LINKFLAGS += `pkg-config --libs gtk+-2.0`
+-CXXFLAGS += `pkg-config --cflags gtk+-2.0`
++CXXFLAGS += `pkg-config --cflags gtk+-3.0`
++LINKFLAGS += `pkg-config --libs gtk+-3.0`
#treat as system headers so that warnings are hidden:
- CXXFLAGS += -isystem/usr/include/gtk-2.0
+-CXXFLAGS += -isystem/usr/include/gtk-2.0
++CXXFLAGS += -isystem/usr/include/gtk-3.0
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp
+ CPP_FILES=
+ CPP_FILES+=application.cpp
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.18-1/FreeFileSync/Source/ui/small_dlgs.cpp
--- 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 08:05:57.000000000 -0400
+++ 10.11-1/FreeFileSync/Source/ui/small_dlgs.cpp 2019-04-12 13:58:55.050550183 -0400
-@@ -115,6 +115,8 @@
+@@ -117,6 +117,8 @@
L" x64";
#endif
@@ -80,3 +81,27 @@ diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/ui/small_dlgs.cpp
GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/wx+/dc.h 10.18-1/wx+/dc.h
+--- 10.18-0/wx+/dc.h 2019-11-21 08:24:23.967769384 -0500
++++ 10.18-1/wx+/dc.h 2019-11-21 09:42:12.779786504 -0500
+@@ -54,7 +54,7 @@
+ #ifdef wxHAVE_DPI_INDEPENDENT_PIXELS //pulled from wx/window.h: https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/window.h#L2029
+ return d; //e.g. macOS, GTK3
+ #else //https://github.com/wxWidgets/wxWidgets/blob/master/src/common/wincmn.cpp#L2865
+- static_assert(GTK_MAJOR_VERSION == 2);
++ static_assert(GTK_MAJOR_VERSION == 3);
+ //GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
+ //=> requires general fix at wxWidgets-level
+ assert(wxTheApp); //only call after wxWidgets was initalized!
+diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 10.18-1/FreeFileSync/Source/base/icon_loader.cpp
+--- 10.18-0/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 08:24:23.955769262 -0500
++++ 10.18-1/FreeFileSync/Source/base/icon_loader.cpp 2019-11-21 09:42:15.439813730 -0500
+@@ -18,7 +18,7 @@
+
+ namespace
+ {
+-static_assert(GTK_MAJOR_VERSION == 2, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3.");
++static_assert(GTK_MAJOR_VERSION == 3, "FreeFileSync does NOT (currently) support GTK3! The GTK calls below will lead to crashes due to not being thread-safe on GTK3.");
+ //gdk_threads_enter(); + ZEN_ON_SCOPE_EXIT(::gdk_threads_leave); is NOT enough; e.g. GTK3 + openSuse still crashes with:
+ // Gtk:ERROR:gtkicontheme.c:4026:proxy_pixbuf_destroy: assertion failed: (icon_info->proxy_pixbuf != NULL)
+ //GTK icon theme internals: https://github.com/GNOME/gtk/blob/master/gtk/gtkicontheme.c
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index 4e56d19..eaff5c4 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -37,7 +37,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14-
diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 10.14-1/FreeFileSync/Source/ui/version_check.cpp
--- 10.9-0/FreeFileSync/Source/ui/version_check.cpp 2019-02-10 22:01:42.126160041 -0500
-+++ 10.14-1/FreeFileSync/Source/ui/version_check.cpp 2019-07-16 11:45:36.113848111 -0400
++++ 10.18-1/FreeFileSync/Source/ui/version_check.cpp 2019-11-20 09:19:50.936975067 -0500
@@ -69,6 +69,8 @@
bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck)
@@ -57,8 +57,8 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 1
updateDetailsMsg = utfTo<std::wstring>(buf);
}
catch (const zen::SysError& e) { throw FileError(_("Failed to retrieve update information."), e.toString()); }
-@@ -187,8 +188,7 @@
- //access is thread-safe on Windows (WinInet), but not on Linux/OS X (wxWidgets)
+@@ -182,8 +183,7 @@
+
std::string getOnlineVersion(const std::vector<std::pair<std::string, std::string>>& postParams) //throw SysError
{
- const std::string buffer = sendHttpPost(Zstr("https://api.freefilesync.org/latest_version"), postParams,
diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch
index e6069d4..92b5372 100644
--- a/freefilesync/debian/patches/ffs_no_wx311.patch
+++ b/freefilesync/debian/patches/ffs_no_wx311.patch
@@ -28,19 +28,18 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
else
diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:26:56.794422701 -0400
-@@ -75,8 +75,9 @@
- Zstring cfgFolderPath;
- //OS standard path (XDG layout): ~/.config/FreeFileSync
- //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag
-- wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-- cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync";
-+ // Fedora does not have wxGTK 3.1.1 which is the dev branch.
-+ //wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-+ cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
+@@ -80,8 +80,8 @@
+ //OS standard path (XDG layout): ~/.config/FreeFileSync
+ //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag
+- wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
+- const Zstring cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync";
++ // Many distros do not have wxGTK 3.1.1 which is the dev branch.
++ const Zstring cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
- std::call_once(onceFlagCreateCfgPath, [&]
+ try //create the config folder if not existing + create "Logs" subfolder while we're at it
+ {
diff --git a/FreeFileSync/Source/ui/command_box.cpp b/FreeFileSync/Source/ui/command_box.cpp
index 6e769bb..ce6110b 100644
--- a/FreeFileSync/Source/ui/command_box.cpp
diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch
index 3e1e9d3..d3849f3 100644
--- a/freefilesync/ffs_el.patch
+++ b/freefilesync/ffs_el.patch
@@ -17,12 +17,13 @@ diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/S
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Makefile
--- 10.11-0/FreeFileSync/Source/Makefile 2019-04-12 07:59:45.042147902 -0400
-+++ 10.15-1/FreeFileSync/Source/Makefile 2019-08-16 08:19:12.101271747 -0400
++++ 10.18-1/FreeFileSync/Source/Makefile 2019-11-21 20:59:25.548277619 -0500
@@ -1,10 +1,10 @@
-EXENAME = FreeFileSync_$(shell arch)
+EXENAME = FreeFileSync
- CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
+-CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++CXXFLAGS = -std=c++17 -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
-Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \
- -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
+ -O3 -DNDEBUG -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread
@@ -40,14 +41,6 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/Makefil
#treat as system headers so that warnings are hidden:
CXXFLAGS += -isystem/usr/include/gtk-2.0
-@@ -56,7 +56,6 @@
- CPP_FILES+=afs/init_curl_libssh2.cpp
- CPP_FILES+=afs/native.cpp
- CPP_FILES+=afs/sftp.cpp
--CPP_FILES+=afs/libssh2/init_libssh2.cpp
- CPP_FILES+=ui/batch_config.cpp
- CPP_FILES+=ui/abstract_folder_picker.cpp
- CPP_FILES+=ui/batch_status_handler.cpp
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTimeSync/application.h 10.11-1/FreeFileSync/Source/RealTimeSync/application.h
--- 10.11-0/FreeFileSync/Source/RealTimeSync/application.h 2019-04-12 07:59:45.035147580 -0400
+++ 10.11-1/FreeFileSync/Source/RealTimeSync/application.h 2019-04-12 10:19:57.227913415 -0400
@@ -62,13 +55,13 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTim
diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile
--- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 07:59:45.008146336 -0400
-+++ 10.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-16 08:19:21.959638104 -0400
++++ 10.18-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-11-22 10:14:04.326175203 -0500
@@ -1,13 +1,14 @@
-EXENAME = RealTimeSync_$(shell arch)
+EXENAME = RealTimeSync
-CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
-+CXXFLAGS = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
++CXXFLAGS = -std=c++17 -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \
-Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor \
- -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread
+ -O3 -DNDEBUG -fPIC `wx-config --version=3.0 --cxxflags --debug=no` -pthread
@@ -128,3 +121,16 @@ diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/zen/serialize.h 10.11-1/zen
#include "string_base.h"
//keep header clean from specific stream implementations! (e.g.file_io.h)! used by abstract.h!
+Message: For -std=c++17 we do not get to use charconv. It appears it is not actually in use, because the application compiles with this patch.
+diff -Naur -x '*.orig' -x '.git*' -x '*.swp' -x '*.rej' 10.18-0/zen/legacy_compiler.cpp 10.18-1/zen/legacy_compiler.cpp
+--- 10.18-0/zen/legacy_compiler.cpp 2019-11-21 20:59:02.633016149 -0500
++++ 10.18-1/zen/legacy_compiler.cpp 2019-11-21 20:59:31.042340308 -0500
+@@ -5,7 +5,7 @@
+ // *****************************************************************************
+
+ #include "legacy_compiler.h"
+-#include <charconv>
++//#include <charconv>
+ //1. including this one in string_tools.h blows up VC++:
+ // "An internal error has occurred in the compiler. (compiler file 'd:\agent\_work\1\s\src\vctools\Compiler\Utc\src\p2\p2symtab.c', line 2618)"
+ //2. using inside PCH: "fatal error C1076: compiler limit: internal heap limit reached"
diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch
index 5c5e3b7..12346fb 100644
--- a/freefilesync/ffs_fedora.patch
+++ b/freefilesync/ffs_fedora.patch
@@ -54,14 +54,6 @@ diff -Naur 10.11-0/FreeFileSync/Source/Makefile 10.11-1/FreeFileSync/Source/Make
#treat as system headers so that warnings are hidden:
CXXFLAGS += -isystem/usr/include/gtk-2.0
-@@ -56,7 +56,6 @@
- CPP_FILES+=afs/init_curl_libssh2.cpp
- CPP_FILES+=afs/native.cpp
- CPP_FILES+=afs/sftp.cpp
--CPP_FILES+=afs/libssh2/init_libssh2.cpp
- CPP_FILES+=ui/batch_config.cpp
- CPP_FILES+=ui/abstract_folder_picker.cpp
- CPP_FILES+=ui/batch_status_handler.cpp
diff -Naur 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 10.11-1/FreeFileSync/Source/RealTimeSync/Makefile
--- 10.11-0/FreeFileSync/Source/RealTimeSync/Makefile 2019-04-12 07:59:45.008146336 -0400
+++ 10.15-1/FreeFileSync/Source/RealTimeSync/Makefile 2019-08-15 13:59:53.934551753 -0400
diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/ffs_no_check_updates.patch
index 4e56d19..eaff5c4 100644
--- a/freefilesync/ffs_no_check_updates.patch
+++ b/freefilesync/ffs_no_check_updates.patch
@@ -37,7 +37,7 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/main_dlg.cpp 10.14-
diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 10.14-1/FreeFileSync/Source/ui/version_check.cpp
--- 10.9-0/FreeFileSync/Source/ui/version_check.cpp 2019-02-10 22:01:42.126160041 -0500
-+++ 10.14-1/FreeFileSync/Source/ui/version_check.cpp 2019-07-16 11:45:36.113848111 -0400
++++ 10.18-1/FreeFileSync/Source/ui/version_check.cpp 2019-11-20 09:19:50.936975067 -0500
@@ -69,6 +69,8 @@
bool fff::shouldRunAutomaticUpdateCheck(time_t lastUpdateCheck)
@@ -57,8 +57,8 @@ diff --exclude '*.orig' -Naur 10.14-0/FreeFileSync/Source/ui/version_check.cpp 1
updateDetailsMsg = utfTo<std::wstring>(buf);
}
catch (const zen::SysError& e) { throw FileError(_("Failed to retrieve update information."), e.toString()); }
-@@ -187,8 +188,7 @@
- //access is thread-safe on Windows (WinInet), but not on Linux/OS X (wxWidgets)
+@@ -182,8 +183,7 @@
+
std::string getOnlineVersion(const std::vector<std::pair<std::string, std::string>>& postParams) //throw SysError
{
- const std::string buffer = sendHttpPost(Zstr("https://api.freefilesync.org/latest_version"), postParams,
diff --git a/freefilesync/ffs_no_eraseif.patch b/freefilesync/ffs_no_eraseif.patch
new file mode 100644
index 0000000..eaaab38
--- /dev/null
+++ b/freefilesync/ffs_no_eraseif.patch
@@ -0,0 +1,407 @@
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/afs/abstract_impl.h 10.18-2/FreeFileSync/Source/afs/abstract_impl.h
+--- 10.18-1/FreeFileSync/Source/afs/abstract_impl.h 2019-11-20 16:15:55.823668066 -0500
++++ 10.18-2/FreeFileSync/Source/afs/abstract_impl.h 2019-11-20 17:57:30.555558350 -0500
+@@ -255,7 +255,7 @@
+ pathLocks_.access([&](std::map<NativePath, std::weak_ptr<std::mutex>>& pathLocks)
+ {
+ //remove obsolete entries
+- std::erase_if(pathLocks, [](const auto& v) { return !v.second.lock(); });
++ zen::eraseIf(pathLocks, [](const auto& v) { return !v.second.lock(); });
+
+ //get or create mutex
+ std::weak_ptr<std::mutex>& weakPtr = pathLocks[nativePath];
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/afs/gdrive.cpp 10.18-2/FreeFileSync/Source/afs/gdrive.cpp
+--- 10.18-1/FreeFileSync/Source/afs/gdrive.cpp 2019-11-20 16:15:55.828668123 -0500
++++ 10.18-2/FreeFileSync/Source/afs/gdrive.cpp 2019-11-20 17:57:30.556558361 -0500
+@@ -1777,7 +1777,7 @@
+ if (it != itemDetails_.end())
+ {
+ GoogleItemDetails detailsNew = it->second;
+- std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; });
++ eraseIf(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdOld; });
+ notifyItemUpdate(stateDelta, itemId, detailsNew);
+ }
+ else //conflict!!!
+@@ -1792,7 +1792,7 @@
+ GoogleItemDetails detailsNew = it->second;
+ detailsNew.itemName = utfTo<std::string>(newName);
+
+- std::erase_if(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdFrom || id == parentIdTo; }); //
++ eraseIf(detailsNew.parentIds, [&](const std::string& id) { return id == parentIdFrom || id == parentIdTo; }); //
+ detailsNew.parentIds.push_back(parentIdTo); //not a duplicate
+
+ notifyItemUpdate(stateDelta, itemId, detailsNew);
+@@ -1902,7 +1902,7 @@
+ return; //=> avoid misleading changeLog_ entries after Google Drive sync!!!
+
+ //update change logs (and clean up obsolete entries)
+- std::erase_if(changeLog_, [&](std::weak_ptr<ItemIdDelta>& weakPtr)
++ eraseIf(changeLog_, [&](std::weak_ptr<ItemIdDelta>& weakPtr)
+ {
+ if (std::shared_ptr<ItemIdDelta> iid = weakPtr.lock())
+ {
+@@ -1923,8 +1923,8 @@
+
+ std::vector<std::string> parentIdsNew = details->parentIds;
+ std::vector<std::string> parentIdsRemoved = it->second.parentIds;
+- std::erase_if(parentIdsNew, [&](const std::string& id) { return std::find(it->second.parentIds.begin(), it->second.parentIds.end(), id) != it->second.parentIds.end(); });
+- std::erase_if(parentIdsRemoved, [&](const std::string& id) { return std::find(details->parentIds.begin(), details->parentIds.end(), id) != details->parentIds.end(); });
++ eraseIf(parentIdsNew, [&](const std::string& id) { return std::find(it->second.parentIds.begin(), it->second.parentIds.end(), id) != it->second.parentIds.end(); });
++ eraseIf(parentIdsRemoved, [&](const std::string& id) { return std::find(details->parentIds.begin(), details->parentIds.end(), id) != details->parentIds.end(); });
+
+ for (const std::string& parentId : parentIdsNew)
+ folderContents_[parentId].childItems.push_back(it); //new insert => no need for duplicate check
+@@ -1933,7 +1933,7 @@
+ {
+ auto itP = folderContents_.find(parentId);
+ if (itP != folderContents_.end())
+- std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; });
++ eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; });
+ }
+ //if all parents are removed, Google Drive will (recursively) delete the item => don't prematurely do this now: wait for change notifications!
+
+@@ -1955,7 +1955,7 @@
+ {
+ auto itP = folderContents_.find(parentId);
+ if (itP != folderContents_.end())
+- std::erase_if(itP->second.childItems, [&](auto itChild) { return itChild == it; });
++ eraseIf(itP->second.childItems, [&](auto itChild) { return itChild == it; });
+ }
+ itemDetails_.erase(it);
+ }
+@@ -1964,7 +1964,7 @@
+ if (itP != folderContents_.end())
+ {
+ for (auto itChild : itP->second.childItems) //2. delete as parent from child items (don't wait for change notifications of children)
+- std::erase_if(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; });
++ eraseIf(itChild->second.parentIds, [&](const std::string& id) { return id == itemId; });
+ folderContents_.erase(itP);
+ }
+ }
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/afs/sftp.cpp 10.18-2/FreeFileSync/Source/afs/sftp.cpp
+--- 10.18-1/FreeFileSync/Source/afs/sftp.cpp 2019-11-20 17:54:23.078438037 -0500
++++ 10.18-2/FreeFileSync/Source/afs/sftp.cpp 2019-11-20 17:57:30.557558372 -0500
+@@ -946,7 +946,7 @@
+ std::this_thread::yield();
+ return; //don't hold lock for too long: delete only one session at a time, then yield...
+ }
+- std::erase_if(sessions.sshSessionsWithThreadAffinity, [](const auto& v) { return !v.second.lock(); }); //clean up dangling weak pointer
++ eraseIf(sessions.sshSessionsWithThreadAffinity, [](const auto& v) { return !v.second.lock(); }); //clean up dangling weak pointer
+ done = true;
+ });
+ }
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/base/algorithm.cpp 10.18-2/FreeFileSync/Source/base/algorithm.cpp
+--- 10.18-1/FreeFileSync/Source/base/algorithm.cpp 2019-11-20 16:15:55.832668168 -0500
++++ 10.18-2/FreeFileSync/Source/base/algorithm.cpp 2019-11-20 17:57:30.558558384 -0500
+@@ -1372,8 +1372,8 @@
+ {
+ std::vector<const FileSystemObject*> itemSelectionLeft (rowsToCopyOnLeft .begin(), rowsToCopyOnLeft .end());
+ std::vector<const FileSystemObject*> itemSelectionRight(rowsToCopyOnRight.begin(), rowsToCopyOnRight.end());
+- std::erase_if(itemSelectionLeft, [](const FileSystemObject* fsObj) { return fsObj->isEmpty< LEFT_SIDE>(); }); //needed for correct stats!
+- std::erase_if(itemSelectionRight, [](const FileSystemObject* fsObj) { return fsObj->isEmpty<RIGHT_SIDE>(); }); //
++ eraseIf(itemSelectionLeft, [](const FileSystemObject* fsObj) { return fsObj->isEmpty< LEFT_SIDE>(); }); //needed for correct stats!
++ eraseIf(itemSelectionRight, [](const FileSystemObject* fsObj) { return fsObj->isEmpty<RIGHT_SIDE>(); }); //
+
+ const int itemTotal = static_cast<int>(itemSelectionLeft.size() + itemSelectionRight.size());
+ int64_t bytesTotal = 0;
+@@ -1548,8 +1548,8 @@
+ std::vector<FileSystemObject*> deleteLeft = rowsToDeleteOnLeft;
+ std::vector<FileSystemObject*> deleteRight = rowsToDeleteOnRight;
+
+- std::erase_if(deleteLeft, [](const FileSystemObject* fsObj) { return fsObj->isEmpty< LEFT_SIDE>(); }); //needed?
+- std::erase_if(deleteRight, [](const FileSystemObject* fsObj) { return fsObj->isEmpty<RIGHT_SIDE>(); }); //yes, for correct stats:
++ eraseIf(deleteLeft, [](const FileSystemObject* fsObj) { return fsObj->isEmpty< LEFT_SIDE>(); }); //needed?
++ eraseIf(deleteRight, [](const FileSystemObject* fsObj) { return fsObj->isEmpty<RIGHT_SIDE>(); }); //yes, for correct stats:
+
+ const int itemCount = static_cast<int>(deleteLeft.size() + deleteRight.size());
+ callback.initNewPhase(itemCount, 0, ProcessPhase::none); //throw X
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/base/db_file.cpp 10.18-2/FreeFileSync/Source/base/db_file.cpp
+--- 10.18-1/FreeFileSync/Source/base/db_file.cpp 2019-11-20 16:15:55.836668213 -0500
++++ 10.18-2/FreeFileSync/Source/base/db_file.cpp 2019-11-20 17:57:30.559558395 -0500
+@@ -591,7 +591,7 @@
+ }
+
+ //delete removed items (= "in-sync") from database
+- std::erase_if(dbFiles, [&](const InSyncFolder::FileList::value_type& v)
++ eraseIf(dbFiles, [&](const InSyncFolder::FileList::value_type& v)
+ {
+ if (contains(toPreserve, v.first))
+ return false;
+@@ -628,7 +628,7 @@
+ }
+
+ //delete removed items (= "in-sync") from database
+- std::erase_if(dbSymlinks, [&](const InSyncFolder::SymlinkList::value_type& v)
++ eraseIf(dbSymlinks, [&](const InSyncFolder::SymlinkList::value_type& v)
+ {
+ if (contains(toPreserve, v.first))
+ return false;
+@@ -663,7 +663,7 @@
+ }
+
+ //delete removed items (= "in-sync") from database
+- std::erase_if(dbFolders, [&](InSyncFolder::FolderList::value_type& v)
++ eraseIf(dbFolders, [&](InSyncFolder::FolderList::value_type& v)
+ {
+ if (auto it = toPreserve.find(v.first); it != toPreserve.end())
+ {
+@@ -687,10 +687,10 @@
+ //delete all entries for removed folder (= "in-sync") from database
+ void dbSetEmptyState(InSyncFolder& dbFolder, const Zstring& parentRelPathPf)
+ {
+- std::erase_if(dbFolder.files, [&](const InSyncFolder::FileList ::value_type& v) { return filter_.passFileFilter(parentRelPathPf + v.first); });
+- std::erase_if(dbFolder.symlinks, [&](const InSyncFolder::SymlinkList::value_type& v) { return filter_.passFileFilter(parentRelPathPf + v.first); });
++ eraseIf(dbFolder.files, [&](const InSyncFolder::FileList ::value_type& v) { return filter_.passFileFilter(parentRelPathPf + v.first); });
++ eraseIf(dbFolder.symlinks, [&](const InSyncFolder::SymlinkList::value_type& v) { return filter_.passFileFilter(parentRelPathPf + v.first); });
+
+- std::erase_if(dbFolder.folders, [&](InSyncFolder::FolderList::value_type& v)
++ eraseIf(dbFolder.folders, [&](InSyncFolder::FolderList::value_type& v)
+ {
+ const Zstring& itemRelPath = parentRelPathPf + v.first;
+
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/base/dir_lock.cpp 10.18-2/FreeFileSync/Source/base/dir_lock.cpp
+--- 10.18-1/FreeFileSync/Source/base/dir_lock.cpp 2019-11-20 16:15:55.836668213 -0500
++++ 10.18-2/FreeFileSync/Source/base/dir_lock.cpp 2019-11-20 17:57:30.559558395 -0500
+@@ -502,8 +502,8 @@
+
+ void tidyUp() //remove obsolete entries
+ {
+- std::erase_if(locksByGuid_, [](const auto& v) { return !v.second.lock(); });
+- std::erase_if(guidByPath_, [&](const auto& v) { return !contains(locksByGuid_, v.second); });
++ eraseIf(locksByGuid_, [](const auto& v) { return !v.second.lock(); });
++ eraseIf(guidByPath_, [&](const auto& v) { return locksByGuid_.find(v.second) == locksByGuid_.end(); });
+ }
+
+ std::map<Zstring, UniqueId> guidByPath_; //lockFilePath |-> GUID; n:1; locks can be referenced by a lockFilePath or alternatively a GUID
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/RealTimeSync/config.cpp 10.18-2/FreeFileSync/Source/RealTimeSync/config.cpp
+--- 10.18-1/FreeFileSync/Source/RealTimeSync/config.cpp 2019-11-20 16:15:55.820668033 -0500
++++ 10.18-2/FreeFileSync/Source/RealTimeSync/config.cpp 2019-11-20 17:57:30.559558395 -0500
+@@ -155,7 +155,7 @@
+ checkXmlMappingErrors(in, filePath); //throw FileError
+ //---------------------------------------------------------------------------------------
+
+- std::erase_if(uniqueFolders, [](const Zstring& str) { return trimCpy(str).empty(); });
++ eraseIf(uniqueFolders, [](const Zstring& str) { return trimCpy(str).empty(); });
+ cfg.directories.assign(uniqueFolders.begin(), uniqueFolders.end());
+ cfg.commandline = Zstr('"') + fff::getFreeFileSyncLauncherPath() + Zstr("\" \"") + filePath + Zstr('"');
+ }
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/RealTimeSync/monitor.cpp 10.18-2/FreeFileSync/Source/RealTimeSync/monitor.cpp
+--- 10.18-1/FreeFileSync/Source/RealTimeSync/monitor.cpp 2019-11-20 16:15:55.822668055 -0500
++++ 10.18-2/FreeFileSync/Source/RealTimeSync/monitor.cpp 2019-11-20 17:57:30.560558406 -0500
+@@ -163,7 +163,7 @@
+ {
+ std::vector<DirWatcher::Entry> changedItems = watcher->getChanges([&] { requestUiUpdate(false /*readyForSync*/); /*throw X*/ },
+ cbInterval); //throw FileError
+- std::erase_if(changedItems, [](const DirWatcher::Entry& e)
++ eraseIf(changedItems, [](const DirWatcher::Entry& e)
+ {
+ return
+ endsWith(e.itemPath, Zstr(".ffs_tmp")) || //sync.8ea2.ffs_tmp
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/RealTimeSync/tray_menu.cpp 10.18-2/FreeFileSync/Source/RealTimeSync/tray_menu.cpp
+--- 10.18-1/FreeFileSync/Source/RealTimeSync/tray_menu.cpp 2019-11-20 16:15:55.822668055 -0500
++++ 10.18-2/FreeFileSync/Source/RealTimeSync/tray_menu.cpp 2019-11-20 17:57:30.560558406 -0500
+@@ -247,7 +247,7 @@
+ rts::AbortReason rts::runFolderMonitor(const XmlRealConfig& config, const wxString& jobname)
+ {
+ std::vector<Zstring> dirNamesNonFmt = config.directories;
+- std::erase_if(dirNamesNonFmt, [](const Zstring& str) { return trimCpy(str).empty(); }); //remove empty entries WITHOUT formatting paths yet!
++ eraseIf(dirNamesNonFmt, [](const Zstring& str) { return trimCpy(str).empty(); }); //remove empty entries WITHOUT formatting paths yet!
+
+ if (dirNamesNonFmt.empty())
+ {
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/cfg_grid.cpp 10.18-2/FreeFileSync/Source/ui/cfg_grid.cpp
+--- 10.18-1/FreeFileSync/Source/ui/cfg_grid.cpp 2019-11-20 16:15:55.847668337 -0500
++++ 10.18-2/FreeFileSync/Source/ui/cfg_grid.cpp 2019-11-20 17:57:30.561558418 -0500
+@@ -113,7 +113,7 @@
+ {
+ const std::set<Zstring, LessNativePath> pathsSorted(filePaths.begin(), filePaths.end());
+
+- std::erase_if(cfgListView_, [&](auto it) { return pathsSorted.find(it->first) != pathsSorted.end(); });
++ eraseIf(cfgListView_, [&](auto it) { return pathsSorted.find(it->first) != pathsSorted.end(); });
+
+ for (const Zstring& filePath : filePaths)
+ cfgList_.erase(filePath);
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/command_box.cpp 10.18-2/FreeFileSync/Source/ui/command_box.cpp
+--- 10.18-1/FreeFileSync/Source/ui/command_box.cpp 2019-11-20 17:54:14.861345102 -0500
++++ 10.18-2/FreeFileSync/Source/ui/command_box.cpp 2019-11-20 17:57:30.561558418 -0500
+@@ -75,7 +75,7 @@
+ equalNoCase(newCommand, cmd))
+ return;
+
+- std::erase_if(history_, [&](const Zstring& item) { return equalNoCase(newCommand, item); });
++ eraseIf(history_, [&](const Zstring& item) { return equalNoCase(newCommand, item); });
+
+ history_.insert(history_.begin(), newCommand);
+
+@@ -194,7 +194,7 @@
+ //this->SetSelection(wxNOT_FOUND);
+
+ //delete selected row
+- std::erase_if(history_, [&](const Zstring& item) { return item == selValue; });
++ eraseIf(history_, [&](const Zstring& item) { return item == selValue; });
+
+ SetString(pos, wxString()); //in contrast to Delete(), this one does not kill the drop-down list and gives a nice visual feedback!
+ //Delete(pos);
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/file_view.cpp 10.18-2/FreeFileSync/Source/ui/file_view.cpp
+--- 10.18-1/FreeFileSync/Source/ui/file_view.cpp 2019-11-20 16:15:55.849668360 -0500
++++ 10.18-2/FreeFileSync/Source/ui/file_view.cpp 2019-11-20 17:57:30.562558429 -0500
+@@ -253,7 +253,7 @@
+ rowPositionsFirstChild_.clear();
+
+ //remove rows that have been deleted meanwhile
+- std::erase_if(sortedRef_, [&](const RefIndex& refIdx) { return !FileSystemObject::retrieve(refIdx.objId); });
++ eraseIf(sortedRef_, [&](const RefIndex& refIdx) { return !FileSystemObject::retrieve(refIdx.objId); });
+ }
+
+
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/folder_history_box.h 10.18-2/FreeFileSync/Source/ui/folder_history_box.h
+--- 10.18-1/FreeFileSync/Source/ui/folder_history_box.h 2019-11-20 16:15:55.849668360 -0500
++++ 10.18-2/FreeFileSync/Source/ui/folder_history_box.h 2019-11-20 17:57:30.562558429 -0500
+@@ -41,7 +41,7 @@
+ const Zstring nameTmp = zen::trimCpy(folderPathPhrase);
+
+ //insert new folder or put it to the front if already existing
+- std::erase_if(folderPathPhrases_, [&](const Zstring& item) { return equalNoCase(item, nameTmp); });
++ zen::eraseIf(folderPathPhrases_, [&](const Zstring& item) { return equalNoCase(item, nameTmp); });
+
+ folderPathPhrases_.insert(folderPathPhrases_.begin(), nameTmp);
+
+@@ -49,7 +49,7 @@
+ folderPathPhrases_.resize(maxSize_);
+ }
+
+- void delItem(const Zstring& folderPathPhrase) { std::erase_if(folderPathPhrases_, [&](const Zstring& item) { return equalNoCase(item, folderPathPhrase); }); }
++ void delItem(const Zstring& folderPathPhrase) { zen::eraseIf(folderPathPhrases_, [&](const Zstring& item) { return equalNoCase(item, folderPathPhrase); }); }
+
+ private:
+ size_t maxSize_ = 0;
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/log_panel.cpp 10.18-2/FreeFileSync/Source/ui/log_panel.cpp
+--- 10.18-1/FreeFileSync/Source/ui/log_panel.cpp 2019-11-20 16:15:55.852668394 -0500
++++ 10.18-2/FreeFileSync/Source/ui/log_panel.cpp 2019-11-20 17:57:30.562558429 -0500
+@@ -545,7 +545,7 @@
+ if (auto prov = m_gridMessages->getDataProvider())
+ {
+ std::vector<Grid::ColAttributes> colAttr = m_gridMessages->getColumnConfig();
+- std::erase_if(colAttr, [](const Grid::ColAttributes& ca) { return !ca.visible; });
++ eraseIf(colAttr, [](const Grid::ColAttributes& ca) { return !ca.visible; });
+ if (!colAttr.empty())
+ for (size_t row : m_gridMessages->getSelectedRows())
+ {
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/main_dlg.cpp 10.18-2/FreeFileSync/Source/ui/main_dlg.cpp
+--- 10.18-1/FreeFileSync/Source/ui/main_dlg.cpp 2019-11-20 17:54:16.135359512 -0500
++++ 10.18-2/FreeFileSync/Source/ui/main_dlg.cpp 2019-11-20 17:57:30.564558452 -0500
+@@ -1240,7 +1240,7 @@
+ if (auto prov = grid->getDataProvider())
+ {
+ std::vector<Grid::ColAttributes> colAttr = grid->getColumnConfig();
+- std::erase_if(colAttr, [](const Grid::ColAttributes& ca) { return !ca.visible; });
++ eraseIf(colAttr, [](const Grid::ColAttributes& ca) { return !ca.visible; });
+ if (!colAttr.empty())
+ for (size_t row : grid->getSelectedRows())
+ {
+@@ -5372,9 +5372,9 @@
+ auto colAttrCenter = m_gridMainC->getColumnConfig();
+ auto colAttrRight = m_gridMainR->getColumnConfig();
+
+- std::erase_if(colAttrLeft, [](const Grid::ColAttributes& ca) { return !ca.visible; });
+- std::erase_if(colAttrCenter, [](const Grid::ColAttributes& ca) { return !ca.visible || static_cast<ColumnTypeCenter>(ca.type) == ColumnTypeCenter::CHECKBOX; });
+- std::erase_if(colAttrRight, [](const Grid::ColAttributes& ca) { return !ca.visible; });
++ eraseIf(colAttrLeft, [](const Grid::ColAttributes& ca) { return !ca.visible; });
++ eraseIf(colAttrCenter, [](const Grid::ColAttributes& ca) { return !ca.visible || static_cast<ColumnTypeCenter>(ca.type) == ColumnTypeCenter::CHECKBOX; });
++ eraseIf(colAttrRight, [](const Grid::ColAttributes& ca) { return !ca.visible; });
+
+ if (provLeft && provCenter && provRight)
+ {
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/search_grid.cpp 10.18-2/FreeFileSync/Source/ui/search_grid.cpp
+--- 10.18-1/FreeFileSync/Source/ui/search_grid.cpp 2019-11-20 16:15:55.855668428 -0500
++++ 10.18-2/FreeFileSync/Source/ui/search_grid.cpp 2019-11-20 17:57:30.564558452 -0500
+@@ -69,7 +69,7 @@
+ if (auto prov = grid.getDataProvider())
+ {
+ std::vector<Grid::ColAttributes> colAttr = grid.getColumnConfig();
+- std::erase_if(colAttr, [](const Grid::ColAttributes& ca) { return !ca.visible; });
++ eraseIf(colAttr, [](const Grid::ColAttributes& ca) { return !ca.visible; });
+ if (!colAttr.empty())
+ {
+ const MatchFound<respectCase> matchFound(searchString);
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/FreeFileSync/Source/ui/tree_grid.cpp 10.18-2/FreeFileSync/Source/ui/tree_grid.cpp
+--- 10.18-1/FreeFileSync/Source/ui/tree_grid.cpp 2019-11-20 16:15:55.858668462 -0500
++++ 10.18-2/FreeFileSync/Source/ui/tree_grid.cpp 2019-11-20 17:57:30.565558463 -0500
+@@ -601,7 +601,7 @@
+ folderCmp_ = newData;
+
+ //remove truly empty folder pairs as early as this: we want to distinguish single/multiple folder pair cases by looking at "folderCmp"
+- std::erase_if(folderCmp_, [](const std::shared_ptr<BaseFolderPair>& baseObj)
++ eraseIf(folderCmp_, [](const std::shared_ptr<BaseFolderPair>& baseObj)
+ {
+ return AFS::isNullPath(baseObj->getAbstractPath< LEFT_SIDE>()) &&
+ AFS::isNullPath(baseObj->getAbstractPath<RIGHT_SIDE>());
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/wx+/async_task.h 10.18-2/wx+/async_task.h
+--- 10.18-1/wx+/async_task.h 2019-11-20 16:15:55.860668484 -0500
++++ 10.18-2/wx+/async_task.h 2019-11-20 17:57:30.565558463 -0500
+@@ -85,7 +85,7 @@
+
+ std::vector<std::unique_ptr<Task>> readyTasks; //Reentrancy; access to AsyncTasks::add is not protected! => evaluate outside eraseIf
+
+- std::erase_if(tasks_, [&](std::unique_ptr<Task>& task)
++ eraseIf(tasks_, [&](std::unique_ptr<Task>& task)
+ {
+ if (task->resultReady())
+ {
+diff -x '*.swp' -x .git -x '*.orig' -x '*.rej' -Naur 10.18-1/zen/stl_tools.h 10.18-2/zen/stl_tools.h
+--- 10.18-1/zen/stl_tools.h 2019-11-20 16:15:55.875668653 -0500
++++ 10.18-2/zen/stl_tools.h 2019-11-20 17:58:20.801126674 -0500
+@@ -20,6 +20,16 @@
+ //enhancements for <algorithm>
+ namespace zen
+ {
++//erase selected elements from any container:
++template <class T, class Alloc, class Predicate>
++void eraseIf(std::vector<T, Alloc>& v, Predicate p);
++
++template <class T, class LessType, class Alloc, class Predicate>
++void eraseIf(std::set<T, LessType, Alloc>& s, Predicate p);
++
++template <class KeyType, class ValueType, class LessType, class Alloc, class Predicate>
++void eraseIf(std::map<KeyType, ValueType, LessType, Alloc>& m, Predicate p);
++
+ //append STL containers
+ template <class T, class Alloc, class C>
+ void append(std::vector<T, Alloc>& v, const C& c);
+@@ -115,6 +125,36 @@
+
+
+ //######################## implementation ########################
++
++template <class T, class Alloc, class Predicate> inline
++void eraseIf(std::vector<T, Alloc>& v, Predicate p)
++{
++ v.erase(std::remove_if(v.begin(), v.end(), p), v.end());
++}
++
++
++namespace impl
++{
++template <class S, class Predicate> inline
++void setOrMapEraseIf(S& s, Predicate p)
++{
++ for (auto it = s.begin(); it != s.end();)
++ if (p(*it))
++ s.erase(it++);
++ else
++ ++it;
++}
++}
++
++
++template <class T, class LessType, class Alloc, class Predicate> inline
++void eraseIf(std::set<T, LessType, Alloc>& s, Predicate p) { impl::setOrMapEraseIf(s, p); } //don't make this any more generic! e.g. must not compile for std::vector!!!
++
++
++template <class KeyType, class ValueType, class LessType, class Alloc, class Predicate> inline
++void eraseIf(std::map<KeyType, ValueType, LessType, Alloc>& m, Predicate p) { impl::setOrMapEraseIf(m, p); }
++
++
+ template <class T, class Alloc, class C> inline
+ void append(std::vector<T, Alloc>& v, const C& c) { v.insert(v.end(), c.begin(), c.end()); }
+
diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch
index e6069d4..92b5372 100644
--- a/freefilesync/ffs_no_wx311.patch
+++ b/freefilesync/ffs_no_wx311.patch
@@ -28,19 +28,18 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
else
diff -Naur 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.13-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-06-14 20:26:56.794422701 -0400
-@@ -75,8 +75,9 @@
- Zstring cfgFolderPath;
- //OS standard path (XDG layout): ~/.config/FreeFileSync
- //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag
-- wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-- cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync";
-+ // Fedora does not have wxGTK 3.1.1 which is the dev branch.
-+ //wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-+ cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
++++ 10.18-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500
+@@ -80,8 +80,8 @@
+ //OS standard path (XDG layout): ~/.config/FreeFileSync
+ //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag
+- wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
+- const Zstring cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync";
++ // Many distros do not have wxGTK 3.1.1 which is the dev branch.
++ const Zstring cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
- std::call_once(onceFlagCreateCfgPath, [&]
+ try //create the config folder if not existing + create "Logs" subfolder while we're at it
+ {
diff --git a/FreeFileSync/Source/ui/command_box.cpp b/FreeFileSync/Source/ui/command_box.cpp
index 6e769bb..ce6110b 100644
--- a/FreeFileSync/Source/ui/command_box.cpp
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index ce183fa..3ed654a 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -7,8 +7,8 @@
%define scl_env %{nil}
%define scl_buildreq coreutils
%if 0%{?el6}%{?el7}
- %define scl_env devtoolset-8
- %define scl_buildreq devtoolset-8-toolchain
+ %define scl_env devtoolset-7
+ %define scl_buildreq devtoolset-7-toolchain
%define min_libcurl >= 7.64.0
%define min_libssh2 >= 1.8.0
%define min_openssl >= 1.1.1c
@@ -18,8 +18,8 @@
%define libssh2_name libssh2-%{name}
%endif
Name: freefilesync
-Version: 10.17
-Release: 1%{?dist}
+Version: 10.18
+Release: 2%{?dist}
Summary: A file synchronization utility
Group: Applications/File
@@ -40,6 +40,7 @@ Patch5: ffs_el.patch
Patch6: ffs_libssh2.patch
Patch7: ffs_curl.patch
Patch8: ffs_bit.patch
+Patch9: ffs_no_eraseif.patch
Packager: B Stack <bgstack15@gmail.com>
# WARNING: the build will FAIL if you have wxGTK3-devel installed. Only wxGTK2-devel should be on the build system.
@@ -97,6 +98,7 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
%patch7 -p1
%if 0%{?el6}%{?el7}%{?el8}%{?fc29}
%patch8 -p1
+%patch9 -p1
%endif
# custom build parameters for packaging application in rpm
@@ -200,6 +202,12 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Thu Nov 21 2019 B Stack <bgstack15@gmail.com> - 10.18-2
+- el and fc29 reverted to devtoolset-7, -std=c++17, and some older internal logic
+
+* Wed Nov 20 2019 B Stack <bgstack15@gmail.com> - 10.18-1
+- version bump
+
* Wed Oct 23 2019 B Stack <bgstack15@gmail.com> - 10.17-1
- version bump
- el7 uses devtoolset-8 for c++2a support
diff --git a/irfanview/README.md b/irfanview/README.md
index 9e8490e..9bf21ce 100644
--- a/irfanview/README.md
+++ b/irfanview/README.md
@@ -11,7 +11,7 @@ At least one distro does package Irfanview:
# Reverse dependency matrix
Distro | Irfanview version
--------- | -----------------
-all | 4.53
+all | 4.54
-# Differences from upstream
+# Differences from upstream packaging
None
diff --git a/irfanview/debian/changelog b/irfanview/debian/changelog
index 764161e..5c0c4a8 100644
--- a/irfanview/debian/changelog
+++ b/irfanview/debian/changelog
@@ -1,3 +1,34 @@
+irfanview (4.54-1+devuan) obs; urgency=medium
+
+ - Version 4.54 Release date: 2019-12-12
+ * Multiple Undo/Redo steps added (max. 20 steps, Properties->Editing)
+ * Zoom magnifier added to fullscreen mode
+ * Option to disable Zoom magnifier (Properties->Viewing)
+ * Profiles option added to Print dialog
+ * New option in Properties->Fullscreen: Set horizontal and/or vertical centering
+ * New option in Print dialog: Set horizontal and/or vertical centering
+ * Option to set selection border thickness (Properties->Editing)
+ * Option to enable/disable PlugIns (Help->Installed PlugIns)
+ * Extended sidecar files option: Copy/Move possible (Properties->File Handling)
+ * New Canvas dialog option/method: Set aspect ratio
+ * New option in Watch/Hot Folder dialog: Watch subfolders
+ * Support for CR3 files (preview only, add CR3 to extensions list in: Properties->Extensions->Load custom types)
+ * New Lossless JPG Dialog option: Add (or Replace) ICC color profile
+ * New Thumbnails option: Keep focus in folder tree (after folder change/click)
+ * Option to show Color Corrections dialog in dark mode
+ * Fix in Metadata PlugIn (crash with bad EXIF tag in CR2 files; KVE-2019-1184)
+ * BMP loading bug fixed (thanks to Joshua Faust, CVE-2019-16887)
+ * JP2 PlugIn loading bug fixed (thanks to Linhlhq)
+ * ANI PlugIn loading bug fixed (thanks to Linhlhq, CVE-2019-17252)
+ * RAS PlugIn loading bug fixed (thanks to Linhlhq, CVE-2019-17251)
+ * EXR PlugIn loading bug fixed (thanks to Linhlhq, CVE-2019-17255)
+ * DPX PlugIn loading bug fixed (thanks to Linhlhq, CVE-2019-17256)
+ * WSQ PlugIn loading bug fixed (thanks to Linhlhq, CVE-2019-17250)
+ * JLS PlugIn loading bug fixed (thanks to Linhlhq, CVE-2019-17253)
+ * Several PlugIns are changed/updated, please install the newest versions:
+
+ -- B Stack <bgstack15@gmail.com> Thu, 18 Dec 2019 09:20:59 -0500
+
irfanview (4.53-2+devuan) manual; urgency=medium
* The architecture of the invocation script has been split into common and arch-specific.
diff --git a/irfanview/irfanview.spec b/irfanview/irfanview.spec
index caf711e..74b44e3 100644
--- a/irfanview/irfanview.spec
+++ b/irfanview/irfanview.spec
@@ -5,8 +5,8 @@
#global upstream_url http://www.irfanview.info/files
Name: irfanview
-Version: 4.53
-Release: 2
+Version: 4.54
+Release: 1
Summary: irfanview is a graphics viewer
%define version_num %( echo %version | tr -d '\.' )
@@ -204,6 +204,9 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%{_datadir}/%{name}64
%changelog
+* Wed Dec 18 2019 B Stack <bgstack15@gmail.com> - 4.54-1
+- version bump
+
* Sun Jun 16 2019 B Stack <bgstack15@gmail.com> - 4.53-2
- improve app start scripts and mimetypes
diff --git a/makemkv-bin/debian/changelog b/makemkv-bin/debian/changelog
index 51f03d6..652ed76 100644
--- a/makemkv-bin/debian/changelog
+++ b/makemkv-bin/debian/changelog
@@ -1,3 +1,15 @@
+makemkv-bin (1.14.7-1+devuan) obs; urgency=low
+
+ * Update
+
+ -- B Stack <bgstack15@gmail.com> Wed, 04 Dec 2019 21:23:05 -0500
+
+makemkv-bin (1.14.5-2+devuan) obs; urgency=low
+
+ * Change build deps for OBS
+
+ -- B Stack <bgstack15@gmail.com> Thu, 21 Nov 2019 16:17:41 -0500
+
makemkv-bin (1.14.5-1+devuan) manual; urgency=low
* Update
diff --git a/makemkv-bin/debian/compat b/makemkv-bin/debian/compat
index b4de394..48082f7 100644
--- a/makemkv-bin/debian/compat
+++ b/makemkv-bin/debian/compat
@@ -1 +1 @@
-11
+12
diff --git a/makemkv-bin/debian/control b/makemkv-bin/debian/control
index fd4c301..cf01789 100644
--- a/makemkv-bin/debian/control
+++ b/makemkv-bin/debian/control
@@ -2,10 +2,12 @@ Source: makemkv-bin
Section: video
Priority: optional
Maintainer: B Stack <bgstack15@gmail.com>
-Build-Depends: debhelper (>=11~),
+Build-Depends: debhelper (>=12~),
+ libavcodec58,
makemkv-oss
Standards-Version: 4.1.4
Homepage: https://www.makemkv.com
+# libavcodec58 is listed only to prevent the "two choices available" error in obs. makemkv-oss handles the dependencies
Package: makemkv-bin
Architecture: any
diff --git a/makemkv-bin/debian/copyright b/makemkv-bin/debian/copyright
index 7fe3d2b..a53fbf4 100644
--- a/makemkv-bin/debian/copyright
+++ b/makemkv-bin/debian/copyright
@@ -12,7 +12,7 @@ Copyright: __NO_COPYRIGHT_NOR_LICENSE__
License: __NO_COPYRIGHT_NOR_LICENSE__
Files: src/eula_en_linux.txt
-Copyright: 2007-2018 GuinpinSoft inc
+Copyright: 2007-2019 GuinpinSoft inc
License: __HEADER___
IMPORTANT NOTE
.
diff --git a/makemkv-bin/debian/settings.conf.example b/makemkv-bin/debian/settings.conf.example
index c223f5b..018aba6 100644
--- a/makemkv-bin/debian/settings.conf.example
+++ b/makemkv-bin/debian/settings.conf.example
@@ -1,11 +1,11 @@
#
-# MakeMKV settings file, written by MakeMKV v1.14.5 linux(x64-release)
-# suitable for version 1.14.5, expires 2019-11-31
+# MakeMKV settings file, written by MakeMKV v1.14.7 linux(x64-release)
+# suitable for version 1.14.7, expires 2020-01-31
app_DestinationDir = ""
app_InterfaceLanguage = "eng"
app_Java = ""
-app_Key = "T-2541DIINav5@4EGGUu7241BvCfC4XgLo6D4oPhE2SeyupYYWNYkg_48BAZACI4LfyQ"
+app_Key = "T-a37dwZgouzYiNxPOnU4AbpRtCakD0UzdFPuHLnCfX2O2kshXG4KhC37lho7axaXvtZ"
app_PreferredLanguage = "eng"
app_ccextractor = ""
diff --git a/makemkv-oss/debian/changelog b/makemkv-oss/debian/changelog
index 3d2c9db..7a323b0 100644
--- a/makemkv-oss/debian/changelog
+++ b/makemkv-oss/debian/changelog
@@ -1,3 +1,15 @@
+makemkv-oss (1.14.7-1+devuan) obs; urgency=low
+
+ * Update
+
+ -- B Stack <bgstack15@gmail.com> Wed, 04 Dec 2019 21:04:41 -0500
+
+makemkv-oss (1.14.5-2+devuan) obs; urgency=low
+
+ * Change build deps for OBS
+
+ -- B Stack <bgstack15@gmail.com> Thu, 21 Nov 2019 13:20:28 -0500
+
makemkv-oss (1.14.5-1+devuan) manual; urgency=low
* Update
diff --git a/makemkv-oss/debian/compat b/makemkv-oss/debian/compat
index b4de394..48082f7 100644
--- a/makemkv-oss/debian/compat
+++ b/makemkv-oss/debian/compat
@@ -1 +1 @@
-11
+12
diff --git a/makemkv-oss/debian/control b/makemkv-oss/debian/control
index 4b2e1d9..1a9b93a 100644
--- a/makemkv-oss/debian/control
+++ b/makemkv-oss/debian/control
@@ -2,8 +2,9 @@ Source: makemkv-oss
Section: video
Priority: optional
Maintainer: B Stack <bgstack15@gmail.com>
-Build-Depends: debhelper (>=11~),
+Build-Depends: debhelper (>=12~),
libavcodec-dev,
+ libavcodec58,
libc6-dev,
libexpat1-dev,
libgl1-mesa-dev,
@@ -13,6 +14,7 @@ Build-Depends: debhelper (>=11~),
zlib1g-dev
Standards-Version: 4.1.4
Homepage: https://www.makemkv.com
+# libavcodec58 is listed only to prevent the "two choices available" error in obs. makemkv-oss handles the dependencies
Package: makemkv-oss
Architecture: any
diff --git a/makemkv-oss/debian/copyright b/makemkv-oss/debian/copyright
index 406651e..b684175 100644
--- a/makemkv-oss/debian/copyright
+++ b/makemkv-oss/debian/copyright
@@ -21,12 +21,10 @@ Files: libabi/inc/lgpl/expatabi.h
libabi/src/xpat.c
libabi/src/zlib.c
libdriveio/inc/driveio/driveio.h
+ libdriveio/inc/driveio/error.h
libdriveio/inc/driveio/scsicmd.h
libdriveio/inc/driveio/scsihlp.h
libdriveio/inc/lgpl/tcpip.h
- libdriveio/src/drives/drive.h
- libdriveio/src/drives/pioneer.cpp
- libdriveio/src/drives/xboxhddvd.cpp
libdriveio/src/infolist.cpp
libdriveio/src/scsihlp.cpp
libdriveio/src/stdquery.cpp
@@ -67,10 +65,10 @@ Files: libabi/inc/lgpl/expatabi.h
libmmbd/src/utf8.h
makemkvgui/inc/QtExt/NativeFileDialog.h
makemkvgui/src/nativefiledialog.cpp
-Copyright: 2007-2018 GuinpinSoft inc <libdriveio@makemkv.com>
- 2007-2018 GuinpinSoft inc <libmkv@makemkv.com>
- 2007-2018 GuinpinSoft inc <libmmbd@makemkv.com>
- 2007-2018 GuinpinSoft inc <libqtext@makemkv.com>
+Copyright: 2007-2019 GuinpinSoft inc <libdriveio@makemkv.com>
+ 2007-2019 GuinpinSoft inc <libmkv@makemkv.com>
+ 2007-2019 GuinpinSoft inc <libmmbd@makemkv.com>
+ 2007-2019 GuinpinSoft inc <libqtext@makemkv.com>
License: LGPL-2.1+
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -136,7 +134,7 @@ Files: makemkvgui/src/aboutbox.cpp
makemkvgui/src/str/en_utf16.cpp
makemkvgui/src/uisync.cpp
makemkvgui/src/viteminfo.cpp
-Copyright: 2007-2018 GuinpinSoft inc <makemkvgui@makemkv.com>
+Copyright: 2007-2019 GuinpinSoft inc <makemkvgui@makemkv.com>
License: __UNKNOWN__
You may use this file in accordance with the end user license
agreement provided with the Software. For licensing terms and
@@ -711,7 +709,7 @@ License: LGPL-2.1+
Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.
Files: libffabi/src/ffabicfg.h.in
-Copyright: 2007-2018 GuinpinSoft inc <libmkv@makemkv.com>
+Copyright: 2007-2019 GuinpinSoft inc <libmkv@makemkv.com>
License: LGPL-2.1+
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -923,7 +921,7 @@ License: LGPL-2.1+
Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.
Files: License.txt
-Copyright: 2007-2018 GuinpinSoft inc
+Copyright: 2007-2019 GuinpinSoft inc
License: __HEADER___
IMPORTANT NOTE
.
@@ -1092,7 +1090,7 @@ License: GPL-3.0+ with autoconf exception
#----------------------------------------------------------------------------
# License file: License.txt
- Copyright (C) 2007-2018 GuinpinSoft inc
+ Copyright (C) 2007-2019 GuinpinSoft inc
.
IMPORTANT NOTE
.
diff --git a/makemkv/README.md b/makemkv/README.md
index 8b1dc8b..58c49db 100644
--- a/makemkv/README.md
+++ b/makemkv/README.md
@@ -4,11 +4,12 @@ https://www.makemkv.com/forum/viewtopic.php?f=5&t=1053
# Reason for being in stackrpms
Fedora does not package makemkv because it is only partially open-source. I do not want to depend on external repos too much. I also include some logic for always being able to run makemkv.
+As of makemkv 1.14.7, I am diverging from negativo17's spec file.
# Reverse dependency matrix
Distro | makemkv version
---------- | ---------------
-All | 1.14.5
+All | 1.14.7
# Differences from upstream
-See file [stackrpms-makemkv.spec.diff](stackrpms-makemkv.spec.diff)
+See file [stackrpms-makemkv.spec.diff](stackrpms-makemkv.spec.diff) which was last applied on version 1.14.5.
diff --git a/makemkv/changelog.txt b/makemkv/changelog.txt
index 22c0f2a..39aaebb 100644
--- a/makemkv/changelog.txt
+++ b/makemkv/changelog.txt
@@ -1,5 +1,16 @@
Revision history
+MakeMKV v1.14.7 ( 4.12.2019 )
+
+ Bug fixes:
+ Better compatibility for decrypted AACS 2.1 FMTS files
+ Fixed variable expansion bug for default file name template
+
+MakeMKV v1.14.6 ( 2.12.2019 )
+
+ Added support for AACS 2.1
+ Many small bugfixes and improvements
+
MakeMKV v1.14.5 ( 9.6.2019 )
Some small miscellaneous improvements
diff --git a/makemkv/makemkv-bin-1.14.5.tar.gz b/makemkv/makemkv-bin-1.14.5.tar.gz
deleted file mode 100644
index 1461179..0000000
--- a/makemkv/makemkv-bin-1.14.5.tar.gz
+++ /dev/null
Binary files differ
diff --git a/makemkv/makemkv-oss-1.14.5.tar.gz b/makemkv/makemkv-oss-1.14.5.tar.gz
deleted file mode 100644
index e4ee323..0000000
--- a/makemkv/makemkv-oss-1.14.5.tar.gz
+++ /dev/null
Binary files differ
diff --git a/makemkv/makemkv.spec b/makemkv/makemkv.spec
index db40955..fd83dd6 100644
--- a/makemkv/makemkv.spec
+++ b/makemkv/makemkv.spec
@@ -13,17 +13,17 @@
Summary: DVD and Blu-ray to MKV converter and network streamer
Name: makemkv
-Version: 1.14.5
+Version: 1.14.7
Release: 10%{?dist}
License: GuinpinSoft inc and Mozilla Public License Version 1.1 and LGPLv2.1+
URL: http://www.%{name}.com/
ExclusiveArch: %{ix86} x86_64
-Source0: http://www.%{name}.com/download/%{name}-oss-%{version}.tar.gz
-Source1: http://www.%{name}.com/download/%{name}-bin-%{version}.tar.gz
+Source0: https://www.%{name}.com/download/%{name}-oss-%{version}.tar.gz
+Source1: https://www.%{name}.com/download/%{name}-bin-%{version}.tar.gz
Source2: changelog.txt
Source3: %{name}.appdata.xml
-Source4: http://www.%{name}.com/developers/usage.txt#/%{name}con.txt
+Source4: https://www.%{name}.com/developers/usage.txt#/%{name}con.txt
Source5: %{name}-wrapper
Source6: settings.conf.example
@@ -151,6 +151,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_libdir}/libmmbd.so.0
%changelog
+* Wed Dec 04 2019 B Stack <bgstack15@gmail.com> - 1.14.7-10
+- Update
+
* Mon Nov 11 2019 B Stack <bgstack15@gmail.com> - 1.14.5-10
- Add stackrpms customizations
diff --git a/makemkv/settings.conf.example b/makemkv/settings.conf.example
index c223f5b..018aba6 100644
--- a/makemkv/settings.conf.example
+++ b/makemkv/settings.conf.example
@@ -1,11 +1,11 @@
#
-# MakeMKV settings file, written by MakeMKV v1.14.5 linux(x64-release)
-# suitable for version 1.14.5, expires 2019-11-31
+# MakeMKV settings file, written by MakeMKV v1.14.7 linux(x64-release)
+# suitable for version 1.14.7, expires 2020-01-31
app_DestinationDir = ""
app_InterfaceLanguage = "eng"
app_Java = ""
-app_Key = "T-2541DIINav5@4EGGUu7241BvCfC4XgLo6D4oPhE2SeyupYYWNYkg_48BAZACI4LfyQ"
+app_Key = "T-a37dwZgouzYiNxPOnU4AbpRtCakD0UzdFPuHLnCfX2O2kshXG4KhC37lho7axaXvtZ"
app_PreferredLanguage = "eng"
app_ccextractor = ""
diff --git a/scite-el/README.md b/scite-el/README.md
index d19fe20..fe53281 100644
--- a/scite-el/README.md
+++ b/scite-el/README.md
@@ -7,10 +7,15 @@ Fedora and CentOS do not package scite and I have use of them. CentOS 7 relies o
# Reverse dependency matrix
Distro | scite version
---------- | ---------------
-CentOS 6 | 3.7.5
-CentOS 7 | 3.7.5
-CentOS 8 | 4.1.6
-Fedora 30 | 4.1.6
+CentOS 6 | 3.7.6
+CentOS 7 | 3.7.6
+CentOS 8 | 4.2.3
+Fedora 30 | 4.2.3
-# Differences from upstream
+# Differences
+## From upstream
See file [stackrpms-scite.spec.diff](stackrpms-scite.spec.diff)
+## Between scite-fedora and scite-el
+Run file [fc-el-scite-diff.sh](fc-el-scite-diff.sh).
+
+ scite-fedora/fc-el-scite-diff.sh | vi -
diff --git a/scite-el/scite.spec b/scite-el/scite.spec
index ae64d07..ca8c3d6 100644
--- a/scite-el/scite.spec
+++ b/scite-el/scite.spec
@@ -98,6 +98,9 @@ desktop-file-install --delete-original \
%{_datadir}/applications/*
%changelog
+* Thu Dec 19 2019 B Stack <bgstack15@gmail.com> - 4.2.3-1/3.7.6-1
+- Update version
+
* Mon Nov 11 2019 B Stack <bgstack15@gmail.com> - 4.2.2-1/3.7.6-1
- Update version
diff --git a/scite-fedora/README.md b/scite-fedora/README.md
index d19fe20..fe53281 100644
--- a/scite-fedora/README.md
+++ b/scite-fedora/README.md
@@ -7,10 +7,15 @@ Fedora and CentOS do not package scite and I have use of them. CentOS 7 relies o
# Reverse dependency matrix
Distro | scite version
---------- | ---------------
-CentOS 6 | 3.7.5
-CentOS 7 | 3.7.5
-CentOS 8 | 4.1.6
-Fedora 30 | 4.1.6
+CentOS 6 | 3.7.6
+CentOS 7 | 3.7.6
+CentOS 8 | 4.2.3
+Fedora 30 | 4.2.3
-# Differences from upstream
+# Differences
+## From upstream
See file [stackrpms-scite.spec.diff](stackrpms-scite.spec.diff)
+## Between scite-fedora and scite-el
+Run file [fc-el-scite-diff.sh](fc-el-scite-diff.sh).
+
+ scite-fedora/fc-el-scite-diff.sh | vi -
diff --git a/scite-fedora/fc-el-scite-diff.sh b/scite-fedora/fc-el-scite-diff.sh
new file mode 100755
index 0000000..bae0376
--- /dev/null
+++ b/scite-fedora/fc-el-scite-diff.sh
@@ -0,0 +1,3 @@
+# use this file to display the differences between fedora and el scite rpm source directories
+# usage: scite-fedora/fc-el-scite-diff.sh | vi -
+diff -x debian -x stackrpms*.diff -x '*scite*.sh' -x '*z' -x '.*.swp' -Naur scite-fedora scite-el
diff --git a/scite-fedora/scite.spec b/scite-fedora/scite.spec
index b80a183..a8a6e93 100644
--- a/scite-fedora/scite.spec
+++ b/scite-fedora/scite.spec
@@ -1,5 +1,5 @@
# el is on 3.x, fc is on 4.x
-%global pkgversion 4.2.2
+%global pkgversion 4.2.3
%define tarballversion %( echo %pkgversion | tr -d '.' )
%define scl_env %{nil}
@@ -98,6 +98,9 @@ desktop-file-install --delete-original \
%{_datadir}/applications/*
%changelog
+* Thu Dec 19 2019 B Stack <bgstack15@gmail.com> - 4.2.3-1/3.7.6-1
+- Update version
+
* Mon Nov 11 2019 B Stack <bgstack15@gmail.com> - 4.2.2-1/3.7.6-1
- Update version
diff --git a/simple-mtpfs/README.md b/simple-mtpfs/README.md
new file mode 100644
index 0000000..6ffa086
--- /dev/null
+++ b/simple-mtpfs/README.md
@@ -0,0 +1,14 @@
+# Simple-mtpfs upstream
+https://github.com/phatina/simple-mtpfs/
+Upstream has its own debian/ directory but it was only a reference and not a wholesale source for this dpkg.
+
+# Reason for being in stackrpms
+Devuan does not package simple-mtpfs and I want to use it.
+
+# Reverse dependency matrix
+Distro | simple-mtpfs version
+-------------- | --------------------
+Devuan Ceres | git master (c9518f3)
+
+# Differences from upstream packaging info
+None
diff --git a/simple-mtpfs/debian/README.Debian b/simple-mtpfs/debian/README.Debian
new file mode 100644
index 0000000..2dd3b63
--- /dev/null
+++ b/simple-mtpfs/debian/README.Debian
@@ -0,0 +1,6 @@
+simple-mtpfs for Devuan
+
+ * Generated with a fresh debmake, but still heavily use upstream debian/ directory contents.
+ * Uses upstream vcs master branch.
+
+ -- B Stack <bgstack15@gmail.com/> Tue, 17 Dec 2019 21:57:30 -0500
diff --git a/simple-mtpfs/debian/changelog b/simple-mtpfs/debian/changelog
new file mode 100644
index 0000000..18b0cc2
--- /dev/null
+++ b/simple-mtpfs/debian/changelog
@@ -0,0 +1,29 @@
+simple-mtpfs (20191217-c9518f3+devuan) OBS; urgency=low
+
+ * Rebuild for devuan from upstream master branch
+
+ -- B Stack <bgstack15@gmail.com/> Tue, 17 Dec 2019 21:57:30 -0500
+
+simple-mtpfs (0.3.0-1) unstable; urgency=low
+
+ * Upgrade to 0.3.0
+
+ -- Peter Hatina <phatina@gmail.com> Sun, 25 Dec 2016 11:39:22 +0100
+
+simple-mtpfs (0.2.1-1) unstable; urgency=low
+
+ * Upgrade to v0.2.1
+
+ -- Peter Hatina <phatina@gmail.com> Sun, 27 Nov 2016 16:05:41 +0100
+
+simple-mtpfs (0.2-1) unstable; urgency=low
+
+ * Upgrade to v0.2
+
+ -- Peter Hatina <phatina@gmail.com> Tue, 03 Dec 2013 21:51:20 +0100
+
+simple-mtpfs (0.1-1) precise; urgency=low
+
+ * Initial release
+
+ -- Eugene San (eugenesan) <eugenesan@gmail.com> Wed, 09 Jan 2013 16:13:06 +0200
diff --git a/simple-mtpfs/debian/compat b/simple-mtpfs/debian/compat
new file mode 100644
index 0000000..48082f7
--- /dev/null
+++ b/simple-mtpfs/debian/compat
@@ -0,0 +1 @@
+12
diff --git a/simple-mtpfs/debian/control b/simple-mtpfs/debian/control
new file mode 100644
index 0000000..d1ccd89
--- /dev/null
+++ b/simple-mtpfs/debian/control
@@ -0,0 +1,27 @@
+Source: simple-mtpfs
+Section: utils
+Priority: optional
+Maintainer: B Stack <bgstack15@gmail.com/>
+XSBC-Original-Maintainer: Peter Hatina <phatina@gmail.com>
+Build-Depends: debhelper (>=12~),
+ pkg-config,
+ libmtp-dev,
+ libfuse-dev (>=2.7.3)
+Standards-Version: 4.1.4
+Homepage: https://github.com/phatina/simple-mtpfs
+Vcs-Git: git://github.com/phatina/simple-mtpfs.git
+Vcs-Browser: https://github.com/phatina/simple-mtpfs
+
+Package: simple-mtpfs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, fuse
+Provides: mtpfs
+Conflicts: mtpfs
+Description: Simple MTP fuse filesystem driver
+ SIMPLE-MTPFS (Simple Media Transfer Protocol FileSystem) is a file system for
+ Linux (and other operating systems with a FUSE implementation, such as Mac OS X
+ or FreeBSD) capable of operating on files on MTP devices attached via
+ USB to local machine. On the local computer where the SIMPLE-MTPFS is
+ mounted, the implementation makes use of the FUSE (Filesystem in Userspace)
+ kernel module. The practical effect of this is that the end user can seamlessly
+ interact with MTP device files.
diff --git a/simple-mtpfs/debian/copyright b/simple-mtpfs/debian/copyright
new file mode 100644
index 0000000..6759b91
--- /dev/null
+++ b/simple-mtpfs/debian/copyright
@@ -0,0 +1,423 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: simple-mtpfs
+Source: <url://example.com>
+#
+# Please double check copyright with the licensecheck(1) command.
+
+Files: src/simple-mtpfs-fuse.cpp
+ src/simple-mtpfs-fuse.h
+ src/simple-mtpfs-libmtp.cpp
+ src/simple-mtpfs-libmtp.h
+ src/simple-mtpfs-log.cpp
+ src/simple-mtpfs-log.h
+ src/simple-mtpfs-main.cpp
+ src/simple-mtpfs-mtp-device.cpp
+ src/simple-mtpfs-mtp-device.h
+ src/simple-mtpfs-sha1.cpp
+ src/simple-mtpfs-sha1.h
+ src/simple-mtpfs-tmp-files-pool.cpp
+ src/simple-mtpfs-tmp-files-pool.h
+ src/simple-mtpfs-type-basic.h
+ src/simple-mtpfs-type-dir.cpp
+ src/simple-mtpfs-type-dir.h
+ src/simple-mtpfs-type-file.cpp
+ src/simple-mtpfs-type-file.h
+ src/simple-mtpfs-type-tmp-file.cpp
+ src/simple-mtpfs-type-tmp-file.h
+ src/simple-mtpfs-util.cpp
+ src/simple-mtpfs-util.h
+Copyright: 2012-2016 Peter Hatina <phatina@gmail.com>
+License: GPL-2.0+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of
+ the License, or (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ ***** END LICENSE BLOCK *****
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ Version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+Files: AUTHORS
+ NEWS
+ README.md
+ autogen.sh
+ configure.ac
+ makefile.am
+ man/makefile.am
+ man/simple-mtpfs.1
+ simple-mtpfs.spec
+ src/makefile.am
+ src/simple-mtpfs-ls.cpp
+Copyright: __NO_COPYRIGHT_NOR_LICENSE__
+License: __NO_COPYRIGHT_NOR_LICENSE__
+
+Files: INSTALL
+Copyright: 1994-2014 Free Software Foundation, Inc.
+License: PERMISSIVE
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. This file is offered as-is,
+ without warranty of any kind.
+ .
+ Basic Installation
+
+Files: m4/cxx11.m4
+Copyright: 2008 Benjamin Kosnik <bkoz@redhat.com>
+ 2012 Zack Weinberg <zackw@panix.com>
+License: __AUTO_PERMISSIVE__
+ Autogenerated files with permissive licenses.
+
+#----------------------------------------------------------------------------
+# Files marked as NO_LICENSE_TEXT_FOUND may be covered by the following
+# license/copyright files.
+
+#----------------------------------------------------------------------------
+# License file: COPYING
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+ .
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+ .
+ Preamble
+ .
+ The licenses for most software are designed to take away your
+ freedom to share and change it. By contrast, the GNU General Public
+ License is intended to guarantee your freedom to share and change free
+ software--to make sure the software is free for all its users. This
+ General Public License applies to most of the Free Software
+ Foundation's software and to any other program whose authors commit to
+ using it. (Some other Free Software Foundation software is covered by
+ the GNU Lesser General Public License instead.) You can apply it to
+ your programs, too.
+ .
+ When we speak of free software, we are referring to freedom, not
+ price. Our General Public Licenses are designed to make sure that you
+ have the freedom to distribute copies of free software (and charge for
+ this service if you wish), that you receive source code or can get it
+ if you want it, that you can change the software or use pieces of it
+ in new free programs; and that you know you can do these things.
+ .
+ To protect your rights, we need to make restrictions that forbid
+ anyone to deny you these rights or to ask you to surrender the rights.
+ These restrictions translate to certain responsibilities for you if you
+ distribute copies of the software, or if you modify it.
+ .
+ For example, if you distribute copies of such a program, whether
+ gratis or for a fee, you must give the recipients all the rights that
+ you have. You must make sure that they, too, receive or can get the
+ source code. And you must show them these terms so they know their
+ rights.
+ .
+ We protect your rights with two steps: (1) copyright the software, and
+ (2) offer you this license which gives you legal permission to copy,
+ distribute and/or modify the software.
+ .
+ Also, for each author's protection and ours, we want to make certain
+ that everyone understands that there is no warranty for this free
+ software. If the software is modified by someone else and passed on, we
+ want its recipients to know that what they have is not the original, so
+ that any problems introduced by others will not reflect on the original
+ authors' reputations.
+ .
+ Finally, any free program is threatened constantly by software
+ patents. We wish to avoid the danger that redistributors of a free
+ program will individually obtain patent licenses, in effect making the
+ program proprietary. To prevent this, we have made it clear that any
+ patent must be licensed for everyone's free use or not licensed at all.
+ .
+ The precise terms and conditions for copying, distribution and
+ modification follow.
+ .
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+ .
+ 0. This License applies to any program or other work which contains
+ a notice placed by the copyright holder saying it may be distributed
+ under the terms of this General Public License. The "Program", below,
+ refers to any such program or work, and a "work based on the Program"
+ means either the Program or any derivative work under copyright law:
+ that is to say, a work containing the Program or a portion of it,
+ either verbatim or with modifications and/or translated into another
+ language. (Hereinafter, translation is included without limitation in
+ the term "modification".) Each licensee is addressed as "you".
+ .
+ Activities other than copying, distribution and modification are not
+ covered by this License; they are outside its scope. The act of
+ running the Program is not restricted, and the output from the Program
+ is covered only if its contents constitute a work based on the
+ Program (independent of having been made by running the Program).
+ Whether that is true depends on what the Program does.
+ .
+ 1. You may copy and distribute verbatim copies of the Program's
+ source code as you receive it, in any medium, provided that you
+ conspicuously and appropriately publish on each copy an appropriate
+ copyright notice and disclaimer of warranty; keep intact all the
+ notices that refer to this License and to the absence of any warranty;
+ and give any other recipients of the Program a copy of this License
+ along with the Program.
+ .
+ You may charge a fee for the physical act of transferring a copy, and
+ you may at your option offer warranty protection in exchange for a fee.
+ .
+ 2. You may modify your copy or copies of the Program or any portion
+ of it, thus forming a work based on the Program, and copy and
+ distribute such modifications or work under the terms of Section 1
+ above, provided that you also meet all of these conditions:
+ .
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+ .
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+ .
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+ .
+ These requirements apply to the modified work as a whole. If
+ identifiable sections of that work are not derived from the Program,
+ and can be reasonably considered independent and separate works in
+ themselves, then this License, and its terms, do not apply to those
+ sections when you distribute them as separate works. But when you
+ distribute the same sections as part of a whole which is a work based
+ on the Program, the distribution of the whole must be on the terms of
+ this License, whose permissions for other licensees extend to the
+ entire whole, and thus to each and every part regardless of who wrote it.
+ .
+ Thus, it is not the intent of this section to claim rights or contest
+ your rights to work written entirely by you; rather, the intent is to
+ exercise the right to control the distribution of derivative or
+ collective works based on the Program.
+ .
+ In addition, mere aggregation of another work not based on the Program
+ with the Program (or with a work based on the Program) on a volume of
+ a storage or distribution medium does not bring the other work under
+ the scope of this License.
+ .
+ 3. You may copy and distribute the Program (or a work based on it,
+ under Section 2) in object code or executable form under the terms of
+ Sections 1 and 2 above provided that you also do one of the following:
+ .
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+ .
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+ .
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+ .
+ The source code for a work means the preferred form of the work for
+ making modifications to it. For an executable work, complete source
+ code means all the source code for all modules it contains, plus any
+ associated interface definition files, plus the scripts used to
+ control compilation and installation of the executable. However, as a
+ special exception, the source code distributed need not include
+ anything that is normally distributed (in either source or binary
+ form) with the major components (compiler, kernel, and so on) of the
+ operating system on which the executable runs, unless that component
+ itself accompanies the executable.
+ .
+ If distribution of executable or object code is made by offering
+ access to copy from a designated place, then offering equivalent
+ access to copy the source code from the same place counts as
+ distribution of the source code, even though third parties are not
+ compelled to copy the source along with the object code.
+ .
+ 4. You may not copy, modify, sublicense, or distribute the Program
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense or distribute the Program is
+ void, and will automatically terminate your rights under this License.
+ However, parties who have received copies, or rights, from you under
+ this License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ .
+ 5. You are not required to accept this License, since you have not
+ signed it. However, nothing else grants you permission to modify or
+ distribute the Program or its derivative works. These actions are
+ prohibited by law if you do not accept this License. Therefore, by
+ modifying or distributing the Program (or any work based on the
+ Program), you indicate your acceptance of this License to do so, and
+ all its terms and conditions for copying, distributing or modifying
+ the Program or works based on it.
+ .
+ 6. Each time you redistribute the Program (or any work based on the
+ Program), the recipient automatically receives a license from the
+ original licensor to copy, distribute or modify the Program subject to
+ these terms and conditions. You may not impose any further
+ restrictions on the recipients' exercise of the rights granted herein.
+ You are not responsible for enforcing compliance by third parties to
+ this License.
+ .
+ 7. If, as a consequence of a court judgment or allegation of patent
+ infringement or for any other reason (not limited to patent issues),
+ conditions are imposed on you (whether by court order, agreement or
+ otherwise) that contradict the conditions of this License, they do not
+ excuse you from the conditions of this License. If you cannot
+ distribute so as to satisfy simultaneously your obligations under this
+ License and any other pertinent obligations, then as a consequence you
+ may not distribute the Program at all. For example, if a patent
+ license would not permit royalty-free redistribution of the Program by
+ all those who receive copies directly or indirectly through you, then
+ the only way you could satisfy both it and this License would be to
+ refrain entirely from distribution of the Program.
+ .
+ If any portion of this section is held invalid or unenforceable under
+ any particular circumstance, the balance of the section is intended to
+ apply and the section as a whole is intended to apply in other
+ circumstances.
+ .
+ It is not the purpose of this section to induce you to infringe any
+ patents or other property right claims or to contest validity of any
+ such claims; this section has the sole purpose of protecting the
+ integrity of the free software distribution system, which is
+ implemented by public license practices. Many people have made
+ generous contributions to the wide range of software distributed
+ through that system in reliance on consistent application of that
+ system; it is up to the author/donor to decide if he or she is willing
+ to distribute software through any other system and a licensee cannot
+ impose that choice.
+ .
+ This section is intended to make thoroughly clear what is believed to
+ be a consequence of the rest of this License.
+ .
+ 8. If the distribution and/or use of the Program is restricted in
+ certain countries either by patents or by copyrighted interfaces, the
+ original copyright holder who places the Program under this License
+ may add an explicit geographical distribution limitation excluding
+ those countries, so that distribution is permitted only in or among
+ countries not thus excluded. In such case, this License incorporates
+ the limitation as if written in the body of this License.
+ .
+ 9. The Free Software Foundation may publish revised and/or new versions
+ of the General Public License from time to time. Such new versions will
+ be similar in spirit to the present version, but may differ in detail to
+ address new problems or concerns.
+ .
+ Each version is given a distinguishing version number. If the Program
+ specifies a version number of this License which applies to it and "any
+ later version", you have the option of following the terms and conditions
+ either of that version or of any later version published by the Free
+ Software Foundation. If the Program does not specify a version number of
+ this License, you may choose any version ever published by the Free Software
+ Foundation.
+ .
+ 10. If you wish to incorporate parts of the Program into other free
+ programs whose distribution conditions are different, write to the author
+ to ask for permission. For software which is copyrighted by the Free
+ Software Foundation, write to the Free Software Foundation; we sometimes
+ make exceptions for this. Our decision will be guided by the two goals
+ of preserving the free status of all derivatives of our free software and
+ of promoting the sharing and reuse of software generally.
+ .
+ NO WARRANTY
+ .
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+ REPAIR OR CORRECTION.
+ .
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGES.
+ .
+ END OF TERMS AND CONDITIONS
+ .
+ How to Apply These Terms to Your New Programs
+ .
+ If you develop a new program, and you want it to be of the greatest
+ possible use to the public, the best way to achieve this is to make it
+ free software which everyone can redistribute and change under these terms.
+ .
+ To do so, attach the following notices to the program. It is safest
+ to attach them to the start of each source file to most effectively
+ convey the exclusion of warranty; and each file should have at least
+ the "copyright" line and a pointer to where the full notice is found.
+ .
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+ .
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ Also add information on how to contact you by electronic and paper mail.
+ .
+ If the program is interactive, make it output a short notice like this
+ when it starts in an interactive mode:
+ .
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+ .
+ The hypothetical commands `show w' and `show c' should show the appropriate
+ parts of the General Public License. Of course, the commands you use may
+ be called something other than `show w' and `show c'; they could even be
+ mouse-clicks or menu items--whatever suits your program.
+ .
+ You should also get your employer (if you work as a programmer) or your
+ school, if any, to sign a "copyright disclaimer" for the program, if
+ necessary. Here is a sample; alter the names:
+ .
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+ .
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+ .
+ This General Public License does not permit incorporating your program into
+ proprietary programs. If your program is a subroutine library, you may
+ consider it more useful to permit linking proprietary applications with the
+ library. If this is what you want to do, use the GNU Lesser General
+ Public License instead of this License.
+ .
diff --git a/simple-mtpfs/debian/patches/series b/simple-mtpfs/debian/patches/series
new file mode 100644
index 0000000..4a97dfa
--- /dev/null
+++ b/simple-mtpfs/debian/patches/series
@@ -0,0 +1 @@
+# You must remove unused comment lines for the released package.
diff --git a/simple-mtpfs/debian/rules b/simple-mtpfs/debian/rules
new file mode 100755
index 0000000..ec34512
--- /dev/null
+++ b/simple-mtpfs/debian/rules
@@ -0,0 +1,18 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+# minimise needless linking
+export DEB_LDFLAGS_MAINT_APPEND= -Wl,--as-needed
+
+%:
+ dh $@ --parallel --with autoreconf
+
+# use --as-needed only if supported by dh-autoreconf (to simplify backporting)
+DH_AS_NEEDED=$(shell dpkg --compare-versions $$(dpkg --status dh-autoreconf | grep Version | cut -d' ' -f2) ge 6 && echo --as-needed)
+override_dh_autoreconf:
+ [ ! -x "./autogen.sh" ] || ./autogen.sh
+ dh_autoreconf $(DH_AS_NEEDED)
diff --git a/simple-mtpfs/debian/simple-mtpfs.docs b/simple-mtpfs/debian/simple-mtpfs.docs
new file mode 100644
index 0000000..8913f46
--- /dev/null
+++ b/simple-mtpfs/debian/simple-mtpfs.docs
@@ -0,0 +1,2 @@
+NEWS
+README.md
diff --git a/simple-mtpfs/debian/simple-mtpfs.links b/simple-mtpfs/debian/simple-mtpfs.links
new file mode 100644
index 0000000..27cb27c
--- /dev/null
+++ b/simple-mtpfs/debian/simple-mtpfs.links
@@ -0,0 +1,4 @@
+usr/bin/simple-mtpfs usr/bin/mtpfs
+usr/bin/simple-mtpfs sbin/mount.mtpfs
+usr/share/man/man1/simple-mtpfs.1 usr/share/man/man1/mtpfs.1
+usr/share/man/man1/simple-mtpfs.1 usr/share/man/man1/mount.mtpfs.1
diff --git a/simple-mtpfs/debian/simple-mtpfs.manpages b/simple-mtpfs/debian/simple-mtpfs.manpages
new file mode 100644
index 0000000..9b79b47
--- /dev/null
+++ b/simple-mtpfs/debian/simple-mtpfs.manpages
@@ -0,0 +1 @@
+man/simple-mtpfs.1
diff --git a/simple-mtpfs/debian/source/format b/simple-mtpfs/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/simple-mtpfs/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/simple-mtpfs/debian/source/local-options b/simple-mtpfs/debian/source/local-options
new file mode 100644
index 0000000..00131ee
--- /dev/null
+++ b/simple-mtpfs/debian/source/local-options
@@ -0,0 +1,2 @@
+#abort-on-upstream-changes
+#unapply-patches
diff --git a/simple-mtpfs/debian/watch b/simple-mtpfs/debian/watch
new file mode 100644
index 0000000..3a5c96d
--- /dev/null
+++ b/simple-mtpfs/debian/watch
@@ -0,0 +1,3 @@
+# You must remove unused comment lines for the released package.
+version=3
+https://github.com/downloads/phatina/simple-mtpfs/simple-mtpfs-(.+).tar.gz
diff --git a/veracrypt/debian/changelog b/veracrypt/debian/changelog
index 884430d..13d13d3 100644
--- a/veracrypt/debian/changelog
+++ b/veracrypt/debian/changelog
@@ -1,3 +1,9 @@
+veracrypt (1.24-2+devuan) obs; urgency=low
+
+ * Attempt a build with gtk3
+
+ -- B Stack <bgstack15@gmail.com> Thu, 21 Nov 2019 10:58:35 -0500
+
veracrypt (1.24-1+devuan) obs; urgency=low
* New upstream version
diff --git a/veracrypt/debian/control b/veracrypt/debian/control
index 02fb1aa..b33eb0e 100644
--- a/veracrypt/debian/control
+++ b/veracrypt/debian/control
@@ -5,7 +5,7 @@ Maintainer: B Stack <bgstack15@gmail.com>
Build-Depends: debhelper (>= 11),
libayatana-appindicator-dev | libappindicator-dev,
libfuse-dev,
- libwxgtk3.0-dev,
+ libwxgtk3.0-gtk3-dev,
pkg-config,
yasm [any-i386 any-amd64]
Standards-Version: 4.2.1
bgstack15