Commit e5432efe authored by B Stack's avatar B Stack

freefilesync 10.13 rpm rc1

   Fixes #8 .desktop file is missing mimetypes:
   Added the hooks for dealing with mimetypes, and the icons, and the
   desktop file mimetype info
parent 34488ace
[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;
[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;
[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
[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
......@@ -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
......
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
......
......@@ -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, [&]
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment