diff options
Diffstat (limited to 'freefilesync')
-rw-r--r-- | freefilesync/FreeFileSync.desktop | 12 | ||||
-rw-r--r-- | freefilesync/RealTimeSync.desktop | 11 | ||||
-rw-r--r-- | freefilesync/debian/FreeFileSync.desktop | 15 | ||||
-rw-r--r-- | freefilesync/debian/RealTimeSync.desktop | 14 | ||||
-rw-r--r-- | freefilesync/debian/changelog | 20 | ||||
-rw-r--r-- | freefilesync/debian/freefilesync.desktop | 11 | ||||
-rw-r--r-- | freefilesync/debian/freefilesync.install | 4 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_devuan.patch | 23 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_no_wx311.patch | 28 | ||||
-rw-r--r-- | freefilesync/debian/realtimesync.desktop | 10 | ||||
-rwxr-xr-x | freefilesync/debian/rules | 51 | ||||
-rw-r--r-- | freefilesync/ffs_el.patch | 23 | ||||
-rw-r--r-- | freefilesync/ffs_fedora.patch | 21 | ||||
-rw-r--r-- | freefilesync/ffs_no_wx311.patch | 28 | ||||
-rw-r--r-- | freefilesync/freefilesync.spec | 41 |
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 |