summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2019-06-15 15:47:46 +0000
committerB Stack <bgstack15@gmail.com>2019-06-15 15:47:46 +0000
commit82800d089b42be1f6d98afd13379db81f5e71ead (patch)
tree7e64b76abac725f5aef87b51661449beda73efdc
parentMerge branch 'scite-bump' into 'master' (diff)
parentfreefilesync 10.13 dpkg rc1 (diff)
downloadstackrpms-82800d089b42be1f6d98afd13379db81f5e71ead.tar.gz
stackrpms-82800d089b42be1f6d98afd13379db81f5e71ead.tar.bz2
stackrpms-82800d089b42be1f6d98afd13379db81f5e71ead.zip
Merge branch 'freefilesync-bump' into 'master'
Freefilesync 10.13 Closes #8 See merge request bgstack15/stackrpms!64
-rw-r--r--freefilesync/FreeFileSync.desktop12
-rw-r--r--freefilesync/RealTimeSync.desktop11
-rw-r--r--freefilesync/debian/FreeFileSync.desktop15
-rw-r--r--freefilesync/debian/RealTimeSync.desktop14
-rw-r--r--freefilesync/debian/changelog20
-rw-r--r--freefilesync/debian/freefilesync.desktop11
-rw-r--r--freefilesync/debian/freefilesync.install4
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch23
-rw-r--r--freefilesync/debian/patches/ffs_no_wx311.patch28
-rw-r--r--freefilesync/debian/realtimesync.desktop10
-rwxr-xr-xfreefilesync/debian/rules51
-rw-r--r--freefilesync/ffs_el.patch23
-rw-r--r--freefilesync/ffs_fedora.patch21
-rw-r--r--freefilesync/ffs_no_wx311.patch28
-rw-r--r--freefilesync/freefilesync.spec41
15 files changed, 176 insertions, 136 deletions
diff --git a/freefilesync/FreeFileSync.desktop b/freefilesync/FreeFileSync.desktop
index 8e1163e..d7b508d 100644
--- a/freefilesync/FreeFileSync.desktop
+++ b/freefilesync/FreeFileSync.desktop
@@ -1,13 +1,15 @@
[Desktop Entry]
-Name=FreeFileSync
-GenericName=File synchronization
-GenericName[pt_BR]=Sincronização de arquivos
+Categories=GTK;Utility;FileTools;
Comment=Backup software to synchronize files and folders
Comment[pt_BR]=Aplicação de backup para sincronizar arquivos e diretórios
Exec=FreeFileSync
+GenericName=File synchronization
+GenericName[pt_BR]=Sincronização de arquivos
Icon=FreeFileSync
+MimeType=application/x-freefilesync-ffs;application/x-freefilesync-batch
+Name=FreeFileSync
Path=/usr/share/freefilesync
+StartupNotify=true
+StartupWMClass=FreeFileSync
Terminal=false
Type=Application
-StartupNotify=true
-Categories=GTK;Utility;
diff --git a/freefilesync/RealTimeSync.desktop b/freefilesync/RealTimeSync.desktop
index 0a94126..fa2b1d4 100644
--- a/freefilesync/RealTimeSync.desktop
+++ b/freefilesync/RealTimeSync.desktop
@@ -1,13 +1,14 @@
[Desktop Entry]
-Name=RealTimeSync
-GenericName=Automated Synchronization
-GenericName[pt_BR]=Sincronização Automatizada
+Categories=GTK;Utility;FileTools;
Comment=Real time synchronization
Comment[pt_BR]=Sincronização em tempo real
Exec=RealTimeSync
+GenericName=Automated Synchronization
+GenericName[pt_BR]=Sincronização Automatizada
Icon=RealTimeSync
+MimeType=application/x-freefilesync-real
+Name=RealTimeSync
Path=/usr/share/freefilesync
+StartupNotify=true
Terminal=false
Type=Application
-StartupNotify=true
-Categories=GTK;Utility;
diff --git a/freefilesync/debian/FreeFileSync.desktop b/freefilesync/debian/FreeFileSync.desktop
new file mode 100644
index 0000000..d7b508d
--- /dev/null
+++ b/freefilesync/debian/FreeFileSync.desktop
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Categories=GTK;Utility;FileTools;
+Comment=Backup software to synchronize files and folders
+Comment[pt_BR]=Aplicação de backup para sincronizar arquivos e diretórios
+Exec=FreeFileSync
+GenericName=File synchronization
+GenericName[pt_BR]=Sincronização de arquivos
+Icon=FreeFileSync
+MimeType=application/x-freefilesync-ffs;application/x-freefilesync-batch
+Name=FreeFileSync
+Path=/usr/share/freefilesync
+StartupNotify=true
+StartupWMClass=FreeFileSync
+Terminal=false
+Type=Application
diff --git a/freefilesync/debian/RealTimeSync.desktop b/freefilesync/debian/RealTimeSync.desktop
new file mode 100644
index 0000000..fa2b1d4
--- /dev/null
+++ b/freefilesync/debian/RealTimeSync.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Categories=GTK;Utility;FileTools;
+Comment=Real time synchronization
+Comment[pt_BR]=Sincronização em tempo real
+Exec=RealTimeSync
+GenericName=Automated Synchronization
+GenericName[pt_BR]=Sincronização Automatizada
+Icon=RealTimeSync
+MimeType=application/x-freefilesync-real
+Name=RealTimeSync
+Path=/usr/share/freefilesync
+StartupNotify=true
+Terminal=false
+Type=Application
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 8fab084..c3a0c6b 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,23 @@
+freefilesync (10.13-1+devuan) manual; urgency=low
+
+ * Allow to rename configurations via context menu
+ * Work around hang on SMB network with broken FileFullDirectoryInformation
+ * Work around SMB share returning empty item name
+ * Detect and preempt keyman64.dll crash on exit
+ * Manage notification sounds via global options dialog
+ * Support 32-bit Debian Jessie and later releases
+ * Work around silent failure to case-only rename on FAT drives (Windows 10)
+ * Simplified installation folder structure
+ * Update main grid scrollbars when resizing columns on other side
+ * Preserve input focus when clicking on grid column label
+ * Buffer result of process path normalization
+ * Mirror middle grid icons for RTL layout (Linux)
+ * Force LTR layout until wxWidgets supports RTL (macOS)
+ * Fixed pair scrolling mismatch when grid height is exceeded by one row
+ * Fixed startup failure due to missing /etc/machine-id (Linux)
+
+ -- B Stack <bgstack15@gmail.com> Sat, 15 Jun 2019 10:40:49 -0400
+
freefilesync (10.12-1+devuan) manual; urgency=low
* Show sync start time and date in progress dialog title
diff --git a/freefilesync/debian/freefilesync.desktop b/freefilesync/debian/freefilesync.desktop
deleted file mode 100644
index 0f272d1..0000000
--- a/freefilesync/debian/freefilesync.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Name=FreeFileSync
-Comment=Keep files and folders synchronized
-Exec=FreeFileSync %f
-Terminal=false
-Type=Application
-Icon=FreeFileSync
-MimeType=application/x-freefilesync-ffs;application/x-freefilesync-batch
-Categories=Utility;FileTools;GTK;
-StartupWMClass=FreeFileSync
-StartupNotify=true
diff --git a/freefilesync/debian/freefilesync.install b/freefilesync/debian/freefilesync.install
index 42a8eb1..b857502 100644
--- a/freefilesync/debian/freefilesync.install
+++ b/freefilesync/debian/freefilesync.install
@@ -1,2 +1,2 @@
-debian/freefilesync.desktop /usr/share/applications
-debian/realtimesync.desktop /usr/share/applications
+debian/FreeFileSync.desktop /usr/share/applications
+debian/RealTimeSync.desktop /usr/share/applications
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index 977fa2b..b757e8b 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -1,15 +1,16 @@
-diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/base/ffs_paths.cpp 10.11-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.11-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-04-12 08:05:57.000000000 -0400
-+++ 10.11-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-04-12 13:58:55.050550183 -0400
-@@ -59,7 +59,7 @@
- ZEN_ON_SCOPE_EXIT(wxTheApp->SetAppName(appName));
-
- //if (isPortableVersion())
-- return appendSeparator(getExeFolderParentPath());
-+ return appendSeparator("/usr") + appendSeparator("share") + appendSeparator("freefilesync");
- //else //use OS' standard paths
- // return appendSeparator(utfTo<Zstring>(wxStandardPathsBase::Get().GetResourcesDir()));
+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:36:28.178274292 -0400
+@@ -55,7 +55,8 @@
+
+ Zstring fff::getResourceDirPf()
+ {
+- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR;
++ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly
++ return Zstr("/usr/share/freefilesync/");
}
+
+
diff -Naur -x '*.orig' -x '*.rej' 10.11-0/FreeFileSync/Source/Makefile 10.11-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
diff --git a/freefilesync/debian/patches/ffs_no_wx311.patch b/freefilesync/debian/patches/ffs_no_wx311.patch
index 871e083..a1ff0e4 100644
--- a/freefilesync/debian/patches/ffs_no_wx311.patch
+++ b/freefilesync/debian/patches/ffs_no_wx311.patch
@@ -25,20 +25,18 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
toScroll += scrollSpeed * deltaSecs;
}
else
-diff -Naur 10.6-0/FreeFileSync/Source/base/ffs_paths.cpp 10.6-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.6-0/FreeFileSync/Source/base/ffs_paths.cpp 2018-11-13 06:58:40.771249592 -0500
-+++ 10.6-1/FreeFileSync/Source/base/ffs_paths.cpp 2018-11-14 21:39:14.715702415 -0500
-@@ -85,8 +85,11 @@
- else //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 28 does not have wxGTK 3.1.1 yet.
-+ // So subsitute a hard-coded name instead of requesting file layout of XDG
-+ //wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-+ cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
- }
+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";
+
std::call_once(onceFlagCreateCfgPath, [&]
diff --git a/freefilesync/debian/realtimesync.desktop b/freefilesync/debian/realtimesync.desktop
deleted file mode 100644
index 4bc586f..0000000
--- a/freefilesync/debian/realtimesync.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=RealtimeSync
-Comment=Start synchronization in real time
-Exec=RealTimeSync %f
-Terminal=false
-Type=Application
-Icon=RealTimeSync
-Categories=Utility;FileTools;GTK;
-MimeType=application/x-freefilesync-real
-StartupNotify=true
diff --git a/freefilesync/debian/rules b/freefilesync/debian/rules
index 6feb0f5..6ebd427 100755
--- a/freefilesync/debian/rules
+++ b/freefilesync/debian/rules
@@ -35,13 +35,13 @@ override_dh_auto_install:
#dh_auto_install --sourcedirectory=FreeFileSync/Source/RealTimeSync
install -d ${buildroot}${_bindir} ${buildroot}${_datadir}/${appname}
install -Dm 0755 -t ${buildroot}${_bindir} ${debuildappdir}/Build/Bin/${pkgname} ${debuildappdir}/Build/Bin/${prog2name}
- cp -pr ${debuildappdir}/Build/Languages ${debuildappdir}/Build/Misc ${buildroot}${_datadir}/${appname}
+ cp -pr ${debuildappdir}/Build/Resources/* ${buildroot}${_datadir}/${appname}
# make extra sure the files are not marked with executable
find ${debuildappdir}/share/${pkgname} -type f -exec chmod -x '{}' \; || :
# desktop files
- :
+ # handled by dpkg already
# application start script
# none
@@ -53,7 +53,7 @@ override_dh_auto_install:
# handled by dpkg already
# icons
- unzip ${pkgname}/Build/Misc/Icons.zip file_batch.png
+ unzip ${pkgname}/Build/Resources/Icons.zip file_batch.png file_sync.png
mkdir -p ${buildroot}${_datadir}/icons/hicolor/16x16/apps
mkdir -p ${buildroot}${_datadir}/icons/hicolor/32x32/apps
mkdir -p ${buildroot}${_datadir}/icons/hicolor/48x48/apps
@@ -64,29 +64,32 @@ override_dh_auto_install:
mkdir -p ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes
mkdir -p ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes
mkdir -p ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/apps/${pkgname}.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/apps/${pkgname}.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/apps/${pkgname}.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/apps/${pkgname}.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/apps/${pkgname}.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-ffs.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-ffs.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-ffs.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-ffs.png
- convert ${pkgname}/Build/Misc/${pkgname}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes/application-x-freefilesync-ffs.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/apps/${prog2name}.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/apps/${prog2name}.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/apps/${prog2name}.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/apps/${prog2name}.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/apps/${prog2name}.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-real.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-real.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-real.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-real.png
- convert ${pkgname}/Build/Misc/${prog2name}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes/application-x-freefilesync-real.png
+ # apps
+ convert ${pkgname}/Build/Resources/${pkgname}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/apps/${pkgname}.png
+ convert ${pkgname}/Build/Resources/${pkgname}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/apps/${pkgname}.png
+ convert ${pkgname}/Build/Resources/${pkgname}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/apps/${pkgname}.png
+ convert ${pkgname}/Build/Resources/${pkgname}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/apps/${pkgname}.png
+ convert ${pkgname}/Build/Resources/${pkgname}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/apps/${pkgname}.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/apps/${prog2name}.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/apps/${prog2name}.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/apps/${prog2name}.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/apps/${prog2name}.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/apps/${prog2name}.png
+ # mimetypes
convert file_batch.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-batch.png
convert file_batch.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-batch.png
convert file_batch.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-batch.png
convert file_batch.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-batch.png
convert file_batch.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes/application-x-freefilesync-batch.png
- rm -f file_batch.png
+ convert file_sync.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-ffs.png
+ convert file_sync.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-ffs.png
+ convert file_sync.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-ffs.png
+ convert file_sync.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-ffs.png
+ convert file_sync.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes/application-x-freefilesync-ffs.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-real.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-real.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-real.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-real.png
+ convert ${pkgname}/Build/Resources/${prog2name}.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes/application-x-freefilesync-real.png
+
+ rm -f file_batch.png file_sync.png
diff --git a/freefilesync/ffs_el.patch b/freefilesync/ffs_el.patch
index a64c21f..644dfcb 100644
--- a/freefilesync/ffs_el.patch
+++ b/freefilesync/ffs_el.patch
@@ -2,18 +2,19 @@ The cstddef discovery is from https://stackoverflow.com/questions/52567517/freef
Some changes just make the application work better in an installed setting (e.g., the hard-coded resouce path).
Tricking the wxWidgets ABI version comes from https://stackoverflow.com/questions/45123664/wxwidgets-runtime-error-mismatch-version/47822976#47822976
FreeFileSync 10.11 updated the default compile flags to -std=c++2a, but this fails on gcc 4.8.5 on el7. Reverting to -std=c++17 allows the application to compile.
-diff -Naur -x '*.orig' -x '*.rej' -x '*.swp' 10.11-0/FreeFileSync/Source/base/ffs_paths.cpp 10.11-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.11-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-04-12 07:59:45.368162920 -0400
-+++ 10.11-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-04-12 10:19:57.226913391 -0400
-@@ -59,7 +59,7 @@
- ZEN_ON_SCOPE_EXIT(wxTheApp->SetAppName(appName));
-
- //if (isPortableVersion())
-- return appendSeparator(getExeFolderParentPath());
-+ return appendSeparator("/usr") + appendSeparator("share") + appendSeparator("freefilesync");
- //else //use OS' standard paths
- // return appendSeparator(utfTo<Zstring>(wxStandardPathsBase::Get().GetResourcesDir()));
+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:36:28.178274292 -0400
+@@ -55,7 +55,8 @@
+
+ Zstring fff::getResourceDirPf()
+ {
+- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR;
++ // For Fedora/EL, install to /usr/share/freefilesync specificly
++ return Zstr("/usr/share/freefilesync/");
}
+
+
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.11-1/FreeFileSync/Source/Makefile 2019-04-12 10:21:04.341525635 -0400
diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch
index debe6a6..dc91530 100644
--- a/freefilesync/ffs_fedora.patch
+++ b/freefilesync/ffs_fedora.patch
@@ -1,16 +1,17 @@
Upstream uses a libcurl more current than Fedora 29.
-diff -Naur 10.11-0/FreeFileSync/Source/base/ffs_paths.cpp 10.11-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.11-0/FreeFileSync/Source/base/ffs_paths.cpp 2019-04-12 07:59:45.368162920 -0400
-+++ 10.11-1/FreeFileSync/Source/base/ffs_paths.cpp 2019-04-12 08:27:24.421735762 -0400
-@@ -59,7 +59,7 @@
- ZEN_ON_SCOPE_EXIT(wxTheApp->SetAppName(appName));
+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:36:28.178274292 -0400
+@@ -55,7 +55,8 @@
- //if (isPortableVersion())
-- return appendSeparator(getExeFolderParentPath());
-+ return appendSeparator("/usr") + appendSeparator("share") + appendSeparator("freefilesync");
- //else //use OS' standard paths
- // return appendSeparator(utfTo<Zstring>(wxStandardPathsBase::Get().GetResourcesDir()));
+ Zstring fff::getResourceDirPf()
+ {
+- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR;
++ // For Fedora/EL, install to /usr/share/freefilesync specificly
++ return Zstr("/usr/share/freefilesync/");
}
+
+
diff -Naur 10.11-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 10.11-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h
--- 10.11-0/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-04-12 07:59:45.130151956 -0400
+++ 10.11-1/FreeFileSync/Source/afs/libcurl/curl_wrap.h 2019-04-12 08:27:24.423735854 -0400
diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch
index 871e083..a1ff0e4 100644
--- a/freefilesync/ffs_no_wx311.patch
+++ b/freefilesync/ffs_no_wx311.patch
@@ -25,20 +25,18 @@ diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp
toScroll += scrollSpeed * deltaSecs;
}
else
-diff -Naur 10.6-0/FreeFileSync/Source/base/ffs_paths.cpp 10.6-1/FreeFileSync/Source/base/ffs_paths.cpp
---- 10.6-0/FreeFileSync/Source/base/ffs_paths.cpp 2018-11-13 06:58:40.771249592 -0500
-+++ 10.6-1/FreeFileSync/Source/base/ffs_paths.cpp 2018-11-14 21:39:14.715702415 -0500
-@@ -85,8 +85,11 @@
- else //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 28 does not have wxGTK 3.1.1 yet.
-+ // So subsitute a hard-coded name instead of requesting file layout of XDG
-+ //wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG);
-+ cfgFolderPath = appendSeparator(utfTo<Zstring>(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo<Zstring>(".config")) + "FreeFileSync";
- }
+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";
+
std::call_once(onceFlagCreateCfgPath, [&]
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index fb7c4a3..0b3c344 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -14,7 +14,7 @@
%define min_openssl >= 1.1.0h
%endif
Name: freefilesync
-Version: 10.12
+Version: 10.13
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -100,12 +100,12 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
%build
%if !%{dummy_package}
%if "%{?scl_env}" != ""
- scl enable %{scl_env} /bin/bash << EOF
+ scl enable %{scl_env} /bin/bash << 'EOFSCL'
%endif
%make_build -C %{pkgname}/Source
%make_build -C %{pkgname}/Source/%{prog2name}
%if "%{?scl_env}" != ""
-EOF
+EOFSCL
%endif
%endif
@@ -117,7 +117,7 @@ EOF
pushd %{pkgname}/Build
install -d %{buildroot}%{_bindir} %{buildroot}%{_datadir}/%{name}
install -Dm 0755 -t %{buildroot}%{_bindir} Bin/%{pkgname} Bin/%{prog2name}
-cp -pr Languages Misc %{buildroot}%{_datadir}/%{name}
+cd Resources ; cp -pr * %{buildroot}%{_datadir}/%{name}
popd
%endif
@@ -140,16 +140,20 @@ install -d %{buildroot}%{_datadir}/mime/packages
install -Dm 0644 -t %{buildroot}%{_datadir}/mime/packages %{SOURCE3}
# icons
-unzip %{pkgname}/Build/Misc/Icons.zip file_batch.png
+unzip %{pkgname}/Build/Resources/Icons.zip file_batch.png file_sync.png
+ff=" -filter Lanczos"
for res in 16 22 24 32 48 64 96 128 256 ;do
- dir=%{buildroot}%{_datadir}/icons/hicolor/${res}x${res}/apps
- mkdir -p ${dir} ${dir}/../mimetypes
- for icon in %{pkgname} %{prog2name} ;do
- convert %{pkgname}/Build/Misc/${icon}.png -filter Lanczos -resize ${res}x${res} \
- ${dir}/${icon}.png
- done
- convert file_batch.png -filter Lanczos -resize ${res}x${res} ${dir}/../mimetypes/application-x-freefilesync-batch.png
+ dir=%{buildroot}%{_datadir}/icons/hicolor/${res}x${res}
+ rr=" -resize ${res}x${res}"
+ mkdir -p ${dir}/apps ${dir}/mimetypes
+ # apps
+ convert %{pkgname}/Build/Resources/%{pkgname}.png ${ff} ${rr} ${dir}/apps/%{pkgname}.png
+ convert %{pkgname}/Build/Resources/%{prog2name}.png ${ff} ${rr} ${dir}/apps/%{prog2name}.png
+ # mimetypes
+ convert file_batch.png ${ff} ${rr} ${dir}/mimetypes/application-x-freefilesync-batch.png
+ convert file_sync.png ${ff} ${rr} ${dir}/mimetypes/application-x-freefilesync-ffs.png
+ convert %{pkgname}/Build/Resources/%{prog2name}.png ${ff} ${rr} ${dir}/mimetypes/application-x-freefilesync-real.png
done
%clean
@@ -157,7 +161,6 @@ done
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-update-desktop-database &> /dev/null || :
%preun
# is it a final removal?
@@ -166,16 +169,15 @@ update-desktop-database &> /dev/null || :
#fi
%postun
-update-desktop-database &> /dev/null || :
if test "$1" = "0" ;
then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans
-gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 || :
+update-desktop-database 1>/dev/null 2>&1 & :
+gtk-update-icon-cache %{_datadir}/icons/hicolor 1>/dev/null 2>&1 & :
+update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%files
%license %attr(444, -, -) License.txt
@@ -189,6 +191,11 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 || :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Sat Jun 15 2019 B Stack <bgstack15@gmail.com> - 10.13-1
+- version bump
+- improve mimetype icon deployment
+
+- add mimetypes, to match dpkg
* Sun May 12 2019 B Stack <bgstack15@gmail.com> - 10.12-1
- version bump
- improve icons used from upstream, to match dpkg
bgstack15