summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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/ffs_el.patch23
-rw-r--r--freefilesync/ffs_fedora.patch21
-rw-r--r--freefilesync/ffs_no_wx311.patch28
-rw-r--r--freefilesync/freefilesync.spec41
8 files changed, 102 insertions, 63 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/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