diff options
26 files changed, 331 insertions, 269 deletions
diff --git a/freefilesync/README.md b/freefilesync/README.md index c09acd5..1e0b276 100644 --- a/freefilesync/README.md +++ b/freefilesync/README.md @@ -1,24 +1,31 @@ -# FreeFileSync upstream +# Readme for freefilesync + +## FreeFileSync upstream https://freefilesync.org -Forked from `https://github.com/PhantomX/chinforpms/blob/master/_pasture/freefilesync/freefilesync.spec` +Forked from [https://github.com/PhantomX/chinforpms/blob/master/\_pasture/freefilesync/freefilesync.spec](https://github.com/PhantomX/chinforpms/blob/master/_pasture/freefilesync/freefilesync.spec) https://gitlab.com/opensource-tracking/FreeFileSync -# Reason for being in stackrpms +## Reason for being in stackrpms Fedora, CentOS, and Devuan do not package FreeFileSync. I maintained a separate spec file for this application, but rebased to a fork from PhantomX. -# Reverse dependency matrix +## Alternatives +* rsync traditional cli sync utility +* grsync gtk frotend for rsync +* duplicati sync with cloud storage offerings +* rclone another cloud storage sync utility + +## Reverse dependency matrix Distro | FreeFileSync version | gtk version -------------- | -------------------- | ---------------- -CentOS 7 | 10.19 | 2 -CentOS 8 | 10.19 | 2 -Fedora 29 | 10.19 | 2 -Fedora 30 | 10.19 | 2 -Fedora 31 | 10.19 | 2 -Fedora Rawhide | 10.19 | 2 -Devuan Ceres | 10.19 | 2 (stable), 3 (unstable) +CentOS 7 | 10.24 | 2 +CentOS 8 | 10.24 | 2 +Fedora 32 | 11.3 | 2 +Fedora 33 | 11.3 | 2 +Fedora Rawhide | 11.3 | 2 +Devuan Ceres | 11.3 | 3 -# Additional info -Devuan upstream recently dropped gtk2 packages required for building FreeFileSync. This means that OBS can only build the gtk3 version, which has some serious stability problems. My local gtk2 build is much more stable but depends on my local devuan-archive repo. +## Additional info +Upstream officially still [uses gtk2](https://freefilesync.org/forum/viewtopic.php?t=7660&p=26079#p26063) but the code supports gtk3 starting around version 10.25. With version 10.25, only stdc++=20 is supported, so el7 cannot go any higher: I was unable to find g++-10 for el7. -# Differences from upstream +## Differences from upstream None diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index 301e624..2e40831 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,21 @@ +freefilesync (11.3-1+devuan) obs; urgency=low + + * Upstream updates + - Enhanced main grid color scheme + - Mouse-highlight for file selection + - Added file create/delete indicators + - Show file list tooltip for missing items + - Click folder name and scroll to group start + - Log failure to create application default config folder + - Added tooltips and fixed help link context menu + - Fixed tooltip not updated when scrolling (macOS, Linux) + - Move error dialogs to foreground during batch sync + - Align context menu popup positions + - Updated translation files + * [bgstack15] update traditional view patch + + -- Ben Stack <bgstack15@gmail.com> Mon, 02 Nov 2020 07:44:57 -0500 + freefilesync (11.2-1+devuan) obs; urgency=low * Upstream updates diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+devuan.dsc index e5cae56..347d8d8 100644 --- a/freefilesync/debian/freefilesync+devuan.dsc +++ b/freefilesync/debian/freefilesync+devuan.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: freefilesync Binary: freefilesync Architecture: any -Version: 11.2-1+devuan +Version: 11.3-1+devuan Maintainer: B Stack <bgstack15@gmail.com> Homepage: https://freefilesync.org/ Standards-Version: 4.1.4 diff --git a/freefilesync/debian/patches/ffs_curl.patch b/freefilesync/debian/patches/ffs_curl.patch index 549d9ac..604ab30 100644 --- a/freefilesync/debian/patches/ffs_curl.patch +++ b/freefilesync/debian/patches/ffs_curl.patch @@ -1,10 +1,10 @@ Source: AUR -Author: Simon Brulhart -Date: 2019-10-20 21:33:47 +0200 +Author: Simon Brulhart, bgstack15 +Date: 2020-11-01 17:22:33 -0500 Message: remove assertion for libcurl version >1.67 (1.66 should be safe but slower) The upstream release uses the curl git master branch instead of release versions. The AUR guy thinks it's acceptable to use the older version of libcurl, that is actually already released. -Version: FreeFileSync 10.17 +Version: FreeFileSync 11.3 diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/afs/ftp.cpp --- 10.21-0/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 08:56:08.608066350 -0400 +++ 10.21-1/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 09:23:46.882110499 -0400 @@ -17,18 +17,18 @@ diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/a /* 1. CURLFTPMETHOD_NOCWD requires absolute paths to unconditionally skip CWDs: https://github.com/curl/curl/pull/4382 2. CURLFTPMETHOD_SINGLECWD requires absolute paths to skip one needless "CWD entry path": https://github.com/curl/curl/pull/4332 => https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an -diff -Naur 10.20-0/libcurl/curl_wrap.h 10.20-1/libcurl/curl_wrap.h ---- 10.21-0/libcurl/curl_wrap.h 2020-03-18 08:56:08.488065042 -0400 -+++ 10.21-1/libcurl/curl_wrap.h 2020-03-18 09:25:52.871480165 -0400 -@@ -137,9 +137,9 @@ +diff -x '*.orig' -x '*.rej' -aur 11.3-0/libcurl/curl_wrap.h 11.3-1/libcurl/curl_wrap.h +--- 11.3-0/libcurl/curl_wrap.h 2020-11-01 17:14:27.183497417 -0500 ++++ 11.3-1/libcurl/curl_wrap.h 2020-11-01 17:21:38.883967113 -0500 +@@ -137,10 +137,7 @@ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3); ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR); -+ //ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR); +- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PROXY); } -- static_assert(CURL_LAST == CURLE_QUIC_CONNECT_ERROR + 1); -+ //static_assert(CURL_LAST == CURLE_QUIC_CONNECT_ERROR + 1); +- static_assert(CURL_LAST == CURLE_PROXY + 1); return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc))); } + diff --git a/freefilesync/debian/patches/ffs_libssh2.patch b/freefilesync/debian/patches/ffs_libssh2.patch index d5ca14e..022914b 100644 --- a/freefilesync/debian/patches/ffs_libssh2.patch +++ b/freefilesync/debian/patches/ffs_libssh2.patch @@ -9,8 +9,8 @@ Source: <none> Author: B Stack Message: libssh2 v1.8.0 does not yet implement these two error messages. I do not know why distros are not serving libssh2 v1.9.0 which wa released June 20, 2019. Date: 2019-09-17T13:41:23Z ---- 10.21-0/libssh2/libssh2_wrap.h 2020-03-18 08:56:08.500065173 -0400 -+++ 10.21-1/libssh2/libssh2_wrap.h 2020-03-18 09:11:49.398311857 -0400 +--- 11.3-0/libssh2/libssh2_wrap.h 2020-11-01 17:14:27.203497619 -0500 ++++ 11.3-1/libssh2/libssh2_wrap.h 2020-11-01 17:18:42.294130563 -0500 @@ -172,8 +172,8 @@ ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT); ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET); @@ -20,5 +20,6 @@ Date: 2019-09-17T13:41:23Z + //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL); + //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED); - default: + default: return replaceCpy<std::wstring>(L"SSH status %x", L"%x", numberTo<std::wstring>(sc)); + diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch index 173842f..ff78325 100644 --- a/freefilesync/debian/patches/ffs_traditional_view.patch +++ b/freefilesync/debian/patches/ffs_traditional_view.patch @@ -1,7 +1,11 @@ -diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_grid.cpp 11.2-1-trad3/FreeFileSync/Source/ui/file_grid.cpp ---- 11.2-1/FreeFileSync/Source/ui/file_grid.cpp 2020-10-02 14:39:05.289463269 -0400 -+++ 11.2-1-trad3/FreeFileSync/Source/ui/file_grid.cpp 2020-10-02 20:48:25.047194116 -0400 -@@ -446,8 +446,10 @@ +Version: 11.3 +Date: 2020-11-01 +Author: bgstack15@gmail.com +Message: restore a traditional view to FreeFileSync +diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp +--- 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 2020-11-01 17:14:27.531500950 -0500 ++++ 11.3-1/FreeFileSync/Source/ui/file_grid.cpp 2020-11-01 22:52:14.590746142 -0500 +@@ -493,8 +493,10 @@ case ItemPathFormat::name: return utfTo<std::wstring>(fsObj->getItemName<side>()); case ItemPathFormat::relative: @@ -12,20 +16,11 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g return AFS::getDisplayPath(fsObj->getAbstractPath<side>()); } assert(false); -@@ -529,7 +531,8 @@ - //---------------------------------------------------------------------------------- - wxDCPenChanger dummy(dc, wxPen(row == pdi.groupLastRow - 1 /*last group item*/ ? - getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0), fastFromDIP(1))); -- dc.DrawLine(rect.GetBottomLeft(), rect.GetBottomRight() + wxPoint(1, 0)); -+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) -+ dc.DrawLine(rect.GetBottomLeft(), rect.GetBottomRight() + wxPoint(1, 0)); - } - - -@@ -628,6 +631,24 @@ +@@ -654,6 +656,27 @@ else //=> BaseFolderPair groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>()); break; ++ + case ItemPathFormat::traditional: + if (auto groupFolder = dynamic_cast<const FolderPair*>(pdi.folderGroupObj)) + { @@ -36,6 +31,7 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g + else //=> BaseFolderPair + groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>()); + break; ++ + case ItemPathFormat::tradrel: + if (pdi.folderGroupObj) + { @@ -44,25 +40,26 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g + utfTo<std::wstring>(pdi.folderGroupObj ->template getItemName<side>()); + } + break; ++ } //path components should follow the app layout direction and are NOT a single piece of text! -@@ -655,6 +676,31 @@ - int widthGroupName = groupName .empty() ? 0 : (iconSize + gridGap_ + getTextExtentBuffered(dc, groupName).x + 2 * gridGap_); - int widthGroupItems = widthGroupSep + (drawFileIcons ? iconSize + gridGap_ : 0) + groupItemNamesWidth; +@@ -684,6 +707,31 @@ + int groupItemsWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + groupItemNamesWidth; + const int groupItemsMinWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + ellipsisWidth; -+ // start trad patch ++ // start trad patch + -+ //add slashes for better readability -+ assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\')); -+ const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR); ++ // rearrange this one section ++ //add slashes for better readability + a wide gap for disambiguation ++ assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\')); ++ const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR); + + switch (itemPathFormat_) + { + case ItemPathFormat::traditional: + case ItemPathFormat::tradrel: -+ widthGroupParent -= widthGroupName - getTextExtentBuffered(dc, utfTo<std::wstring>(FILE_NAME_SEPARATOR)).x; -+ ++ groupParentWidth -= groupNameWidth - getTextExtentBuffered(dc, utfTo<std::wstring>(FILE_NAME_SEPARATOR)).x; + if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/ + !endsWith(groupParentFolder, L'\\') && /*e.g. C:\ */ + groupParentFolder.size() > 0 ) @@ -77,83 +74,72 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g + // but with the "add slashes" paragraph 1 moved to above this switch statement! + //not enough space? => collapse - if (int excessWidth = gridGap_ + widthGroupParent + widthGroupName + widthGroupItems - maxWidth; + if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth; excessWidth > 0) -@@ -664,10 +710,6 @@ +@@ -693,10 +741,6 @@ //1. render group components on two rows stackedGroupRender = true; -- //add slashes for better readability +- //add slashes for better readability + a wide gap for disambiguation - assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\')); - const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR); - if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/ !endsWith(groupParentFolder, L'\\')) /*e.g. C:\ */ groupParentFolder += groupParentSep; -@@ -725,6 +767,11 @@ +@@ -755,6 +799,11 @@ + } } } - ++ + // end of original section, and back to the trad patch! + break; + } + // and end the addition for trad patch -+ + return { - itemName, -@@ -793,6 +840,9 @@ +@@ -873,6 +922,9 @@ rectGroup = rectGroupParent = rectGroupName = rectTmp; - rectGroupParent.width = widthGroupParent; + rectGroupParent.width = groupParentWidth; + // re-add back the width of groupname so that the directory name is clickable + if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) -+ rectGroupParent.width += widthGroupName; - rectGroupName .width = widthGroupName; ++ rectGroupParent.width += groupNameWidth; + rectGroupName .width = groupNameWidth; if (stackedGroupRender) -@@ -829,7 +879,8 @@ - if (row == pdi.groupLastRow - 1 /*last group item*/) //restore the group separation line we just cleared - { - wxDCPenChanger dummy(dc, wxPen(getColorGridLine(), fastFromDIP(1))); -- dc.DrawLine(rectGroup.GetBottomLeft(), rectGroup.GetBottomRight() + wxPoint(1, 0)); -+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) -+ dc.DrawLine(rectGroup.GetBottomLeft(), rectGroup.GetBottomRight() + wxPoint(1, 0)); - } - } +@@ -922,6 +974,7 @@ + rectNav.width = fastFromDIP(20); -@@ -844,7 +895,7 @@ - dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST); - } + if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line! ++ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) + rectNav.height -= fastFromDIP(1); + + wxColor backCol = *wxWHITE; +@@ -930,7 +983,7 @@ + dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST); + } - if (!groupName.empty() && row == groupFirstRow) + if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() && row == groupFirstRow) { - wxDCTextColourChanger textColorGroupName(dc); - if (static_cast<HoverAreaGroup>(rowHover) == HoverAreaGroup::groupName) -@@ -865,9 +916,9 @@ - drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName)); + wxRect rectGroupNameBack = rectGroupName; + rectGroupNameBack.width += 2 * gapSize_; //include gap left of vline +@@ -972,10 +1025,10 @@ + drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName)); } - if (!groupParentFolder.empty() && + if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() && (( stackedGroupRender && row == groupFirstRow + 1) || -- (!stackedGroupRender && row == groupFirstRow))) -+ (!stackedGroupRender && row == groupFirstRow)))) + (!stackedGroupRender && row == groupFirstRow)) && +- (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) ++ (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>()))) { - drawCellText(dc, rectGroupParent, groupParentFolder, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupParentFolder)); - } -@@ -876,7 +927,8 @@ - if (!groupParentFolder.empty() || !groupName.empty()) - { - wxDCPenChanger dummy(dc, wxPen(getColorGridLine(), fastFromDIP(1))); -- dc.DrawLine(rectGroupItems.GetTopLeft(), rectGroupItems.GetBottomLeft() + wxPoint(0, 1)); //draws half-open range! -+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) -+ dc.DrawLine(rectGroupItems.GetTopLeft(), rectGroupItems.GetBottomLeft() + wxPoint(0, 1)); //draws half-open range! - rectGroupItems.x += fastFromDIP(1) + gridGap_; - rectGroupItems.width -= fastFromDIP(1) + gridGap_; - } -@@ -1040,6 +1092,10 @@ + wxRect rectGroupParentText = rectGroupParent; + rectGroupParentText.x += gapSize_; +@@ -1166,6 +1219,10 @@ return _("Relative path"); case ItemPathFormat::full: return _("Full path"); diff --git a/freefilesync/debian/rules b/freefilesync/debian/rules index a359bd9..2d49df4 100755 --- a/freefilesync/debian/rules +++ b/freefilesync/debian/rules @@ -24,7 +24,7 @@ override_dh_auto_clean: dh_auto_clean dh_auto_clean --sourcedirectory=FreeFileSync/Source dh_auto_clean --sourcedirectory=FreeFileSync/Source/RealTimeSync - rm -f ${pkgname}.png ${prog2name}.png file_batch.png + rm -f ${pkgname}.png ${prog2name}.png cfg_batch.png override_dh_auto_build: dh_auto_build @@ -56,7 +56,7 @@ override_dh_auto_install: # handled by dpkg already # icons - unzip ${pkgname}/Build/Resources/Icons.zip file_batch.png file_sync.png + unzip ${pkgname}/Build/Resources/Icons.zip cfg_batch.png start_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 @@ -79,23 +79,23 @@ override_dh_auto_install: 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 - 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 cfg_batch.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-batch.png + convert cfg_batch.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-batch.png + convert cfg_batch.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-batch.png + convert cfg_batch.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-batch.png + convert cfg_batch.png -filter Lanczos -resize 128x128 ${buildroot}${_datadir}/icons/hicolor/128x128/mimetypes/application-x-freefilesync-batch.png + convert start_sync.png -filter Lanczos -resize 16x16 ${buildroot}${_datadir}/icons/hicolor/16x16/mimetypes/application-x-freefilesync-ffs.png + convert start_sync.png -filter Lanczos -resize 32x32 ${buildroot}${_datadir}/icons/hicolor/32x32/mimetypes/application-x-freefilesync-ffs.png + convert start_sync.png -filter Lanczos -resize 48x48 ${buildroot}${_datadir}/icons/hicolor/48x48/mimetypes/application-x-freefilesync-ffs.png + convert start_sync.png -filter Lanczos -resize 64x64 ${buildroot}${_datadir}/icons/hicolor/64x64/mimetypes/application-x-freefilesync-ffs.png + convert start_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 + rm -f cfg_batch.png start_sync.png override_dh_fixperms: dh_fixperms || : diff --git a/freefilesync/ffs_curl.patch b/freefilesync/ffs_curl.patch index ec038d7..604ab30 100644 --- a/freefilesync/ffs_curl.patch +++ b/freefilesync/ffs_curl.patch @@ -1,39 +1,34 @@ Source: AUR -Author: Simon Brulhart -Date: 2019-10-20 21:33:47 +0200 +Author: Simon Brulhart, bgstack15 +Date: 2020-11-01 17:22:33 -0500 Message: remove assertion for libcurl version >1.67 (1.66 should be safe but slower) The upstream release uses the curl git master branch instead of release versions. The AUR guy thinks it's acceptable to use the older version of libcurl, that is actually already released. -Version: FreeFileSync 10.17 - -# ffs_curl.patch is different between the rpm and dpkg +Version: FreeFileSync 11.3 diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/afs/ftp.cpp ---- 10.17-0/FreeFileSync/Source/afs/ftp.cpp 2019-10-17 18:37:03.000000000 +0200 -+++ 10.17-1/FreeFileSync/Source/afs/ftp.cpp 2019-10-20 20:18:07.221692533 +0200 -@@ -632,7 +632,7 @@ +--- 10.21-0/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 08:56:08.608066350 -0400 ++++ 10.21-1/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 09:23:46.882110499 -0400 +@@ -635,7 +635,7 @@ curlRelPath += compFmt; } - static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67)); -+ // static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67)); ++ static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 68)); /* 1. CURLFTPMETHOD_NOCWD requires absolute paths to unconditionally skip CWDs: https://github.com/curl/curl/pull/4382 2. CURLFTPMETHOD_SINGLECWD requires absolute paths to skip one needless "CWD entry path": https://github.com/curl/curl/pull/4332 => https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an - -Message: For Fedora <= 30 that has curl < 7.66.0 you need this patch. -diff -Naur 10.20-0/libcurl/curl_wrap.h 10.20-1/libcurl/curl_wrap.h ---- 10.22-0/libcurl/curl_wrap.h 2020-03-18 15:49:57.839901161 -0400 -+++ 10.22-1/libcurl/curl_wrap.h 2020-03-18 15:56:21.034499900 -0400 -@@ -134,12 +134,7 @@ - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_INVALIDCERTSTATUS); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP2_STREAM); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_RECURSIVE_API_CALL); -- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR); -- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3); -- ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST); +diff -x '*.orig' -x '*.rej' -aur 11.3-0/libcurl/curl_wrap.h 11.3-1/libcurl/curl_wrap.h +--- 11.3-0/libcurl/curl_wrap.h 2020-11-01 17:14:27.183497417 -0500 ++++ 11.3-1/libcurl/curl_wrap.h 2020-11-01 17:21:38.883967113 -0500 +@@ -137,10 +137,7 @@ + ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR); + ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3); + ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR); +- ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PROXY); } -- static_assert(CURL_LAST == CURLE_QUIC_CONNECT_ERROR + 1); +- static_assert(CURL_LAST == CURLE_PROXY + 1); return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc))); } + diff --git a/freefilesync/ffs_libssh2.patch b/freefilesync/ffs_libssh2.patch index 0872f32..022914b 100644 --- a/freefilesync/ffs_libssh2.patch +++ b/freefilesync/ffs_libssh2.patch @@ -9,15 +9,17 @@ Source: <none> Author: B Stack Message: libssh2 v1.8.0 does not yet implement these two error messages. I do not know why distros are not serving libssh2 v1.9.0 which wa released June 20, 2019. Date: 2019-09-17T13:41:23Z -diff -Naur /usr/src/freefilesync/10.20-0/libssh2/libssh2_wrap.h /usr/src/freefilesync/10.20-1/libssh2/libssh2_wrap.h ---- 10.22-0/libssh2/libssh2_wrap.h 2020-03-18 15:49:57.839901161 -0400 -+++ 10.22-1/libssh2/libssh2_wrap.h 2020-03-18 16:17:29.758794018 -0400 -@@ -172,8 +172,6 @@ +--- 11.3-0/libssh2/libssh2_wrap.h 2020-11-01 17:14:27.203497619 -0500 ++++ 11.3-1/libssh2/libssh2_wrap.h 2020-11-01 17:18:42.294130563 -0500 +@@ -172,8 +172,8 @@ ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT); ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET); ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KNOWN_HOSTS); - ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL); - ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED); ++ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_CHANNEL_WINDOW_FULL); ++ //ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KEYFILE_AUTH_FAILED); - default: + default: return replaceCpy<std::wstring>(L"SSH status %x", L"%x", numberTo<std::wstring>(sc)); + diff --git a/freefilesync/ffs_traditional_view.patch b/freefilesync/ffs_traditional_view.patch index 173842f..ff78325 100644 --- a/freefilesync/ffs_traditional_view.patch +++ b/freefilesync/ffs_traditional_view.patch @@ -1,7 +1,11 @@ -diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_grid.cpp 11.2-1-trad3/FreeFileSync/Source/ui/file_grid.cpp ---- 11.2-1/FreeFileSync/Source/ui/file_grid.cpp 2020-10-02 14:39:05.289463269 -0400 -+++ 11.2-1-trad3/FreeFileSync/Source/ui/file_grid.cpp 2020-10-02 20:48:25.047194116 -0400 -@@ -446,8 +446,10 @@ +Version: 11.3 +Date: 2020-11-01 +Author: bgstack15@gmail.com +Message: restore a traditional view to FreeFileSync +diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp +--- 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 2020-11-01 17:14:27.531500950 -0500 ++++ 11.3-1/FreeFileSync/Source/ui/file_grid.cpp 2020-11-01 22:52:14.590746142 -0500 +@@ -493,8 +493,10 @@ case ItemPathFormat::name: return utfTo<std::wstring>(fsObj->getItemName<side>()); case ItemPathFormat::relative: @@ -12,20 +16,11 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g return AFS::getDisplayPath(fsObj->getAbstractPath<side>()); } assert(false); -@@ -529,7 +531,8 @@ - //---------------------------------------------------------------------------------- - wxDCPenChanger dummy(dc, wxPen(row == pdi.groupLastRow - 1 /*last group item*/ ? - getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0), fastFromDIP(1))); -- dc.DrawLine(rect.GetBottomLeft(), rect.GetBottomRight() + wxPoint(1, 0)); -+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) -+ dc.DrawLine(rect.GetBottomLeft(), rect.GetBottomRight() + wxPoint(1, 0)); - } - - -@@ -628,6 +631,24 @@ +@@ -654,6 +656,27 @@ else //=> BaseFolderPair groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>()); break; ++ + case ItemPathFormat::traditional: + if (auto groupFolder = dynamic_cast<const FolderPair*>(pdi.folderGroupObj)) + { @@ -36,6 +31,7 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g + else //=> BaseFolderPair + groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>()); + break; ++ + case ItemPathFormat::tradrel: + if (pdi.folderGroupObj) + { @@ -44,25 +40,26 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g + utfTo<std::wstring>(pdi.folderGroupObj ->template getItemName<side>()); + } + break; ++ } //path components should follow the app layout direction and are NOT a single piece of text! -@@ -655,6 +676,31 @@ - int widthGroupName = groupName .empty() ? 0 : (iconSize + gridGap_ + getTextExtentBuffered(dc, groupName).x + 2 * gridGap_); - int widthGroupItems = widthGroupSep + (drawFileIcons ? iconSize + gridGap_ : 0) + groupItemNamesWidth; +@@ -684,6 +707,31 @@ + int groupItemsWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + groupItemNamesWidth; + const int groupItemsMinWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + ellipsisWidth; -+ // start trad patch ++ // start trad patch + -+ //add slashes for better readability -+ assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\')); -+ const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR); ++ // rearrange this one section ++ //add slashes for better readability + a wide gap for disambiguation ++ assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\')); ++ const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR); + + switch (itemPathFormat_) + { + case ItemPathFormat::traditional: + case ItemPathFormat::tradrel: -+ widthGroupParent -= widthGroupName - getTextExtentBuffered(dc, utfTo<std::wstring>(FILE_NAME_SEPARATOR)).x; -+ ++ groupParentWidth -= groupNameWidth - getTextExtentBuffered(dc, utfTo<std::wstring>(FILE_NAME_SEPARATOR)).x; + if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/ + !endsWith(groupParentFolder, L'\\') && /*e.g. C:\ */ + groupParentFolder.size() > 0 ) @@ -77,83 +74,72 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g + // but with the "add slashes" paragraph 1 moved to above this switch statement! + //not enough space? => collapse - if (int excessWidth = gridGap_ + widthGroupParent + widthGroupName + widthGroupItems - maxWidth; + if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth; excessWidth > 0) -@@ -664,10 +710,6 @@ +@@ -693,10 +741,6 @@ //1. render group components on two rows stackedGroupRender = true; -- //add slashes for better readability +- //add slashes for better readability + a wide gap for disambiguation - assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\')); - const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR); - if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/ !endsWith(groupParentFolder, L'\\')) /*e.g. C:\ */ groupParentFolder += groupParentSep; -@@ -725,6 +767,11 @@ +@@ -755,6 +799,11 @@ + } } } - ++ + // end of original section, and back to the trad patch! + break; + } + // and end the addition for trad patch -+ + return { - itemName, -@@ -793,6 +840,9 @@ +@@ -873,6 +922,9 @@ rectGroup = rectGroupParent = rectGroupName = rectTmp; - rectGroupParent.width = widthGroupParent; + rectGroupParent.width = groupParentWidth; + // re-add back the width of groupname so that the directory name is clickable + if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) -+ rectGroupParent.width += widthGroupName; - rectGroupName .width = widthGroupName; ++ rectGroupParent.width += groupNameWidth; + rectGroupName .width = groupNameWidth; if (stackedGroupRender) -@@ -829,7 +879,8 @@ - if (row == pdi.groupLastRow - 1 /*last group item*/) //restore the group separation line we just cleared - { - wxDCPenChanger dummy(dc, wxPen(getColorGridLine(), fastFromDIP(1))); -- dc.DrawLine(rectGroup.GetBottomLeft(), rectGroup.GetBottomRight() + wxPoint(1, 0)); -+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) -+ dc.DrawLine(rectGroup.GetBottomLeft(), rectGroup.GetBottomRight() + wxPoint(1, 0)); - } - } +@@ -922,6 +974,7 @@ + rectNav.width = fastFromDIP(20); -@@ -844,7 +895,7 @@ - dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST); - } + if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line! ++ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) + rectNav.height -= fastFromDIP(1); + + wxColor backCol = *wxWHITE; +@@ -930,7 +983,7 @@ + dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST); + } - if (!groupName.empty() && row == groupFirstRow) + if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() && row == groupFirstRow) { - wxDCTextColourChanger textColorGroupName(dc); - if (static_cast<HoverAreaGroup>(rowHover) == HoverAreaGroup::groupName) -@@ -865,9 +916,9 @@ - drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName)); + wxRect rectGroupNameBack = rectGroupName; + rectGroupNameBack.width += 2 * gapSize_; //include gap left of vline +@@ -972,10 +1025,10 @@ + drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName)); } - if (!groupParentFolder.empty() && + if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() && (( stackedGroupRender && row == groupFirstRow + 1) || -- (!stackedGroupRender && row == groupFirstRow))) -+ (!stackedGroupRender && row == groupFirstRow)))) + (!stackedGroupRender && row == groupFirstRow)) && +- (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) ++ (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>()))) { - drawCellText(dc, rectGroupParent, groupParentFolder, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupParentFolder)); - } -@@ -876,7 +927,8 @@ - if (!groupParentFolder.empty() || !groupName.empty()) - { - wxDCPenChanger dummy(dc, wxPen(getColorGridLine(), fastFromDIP(1))); -- dc.DrawLine(rectGroupItems.GetTopLeft(), rectGroupItems.GetBottomLeft() + wxPoint(0, 1)); //draws half-open range! -+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel) -+ dc.DrawLine(rectGroupItems.GetTopLeft(), rectGroupItems.GetBottomLeft() + wxPoint(0, 1)); //draws half-open range! - rectGroupItems.x += fastFromDIP(1) + gridGap_; - rectGroupItems.width -= fastFromDIP(1) + gridGap_; - } -@@ -1040,6 +1092,10 @@ + wxRect rectGroupParentText = rectGroupParent; + rectGroupParentText.x += gapSize_; +@@ -1166,6 +1219,10 @@ return _("Relative path"); case ItemPathFormat::full: return _("Full path"); diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index a40f6fe..c5bc731 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -19,7 +19,7 @@ %define libssh2_name libssh2-%{name} %endif Name: freefilesync -Version: 11.2 +Version: 11.3 Release: 1%{?dist} Summary: A file synchronization utility @@ -156,7 +156,7 @@ install -d %{buildroot}%{_datadir}/mime/packages install -Dm 0644 -t %{buildroot}%{_datadir}/mime/packages %{SOURCE3} # icons -unzip %{pkgname}/Build/Resources/Icons.zip file_batch.png file_sync.png +unzip %{pkgname}/Build/Resources/Icons.zip cfg_batch.png start_sync.png ff=" -filter Lanczos" for res in 16 22 24 32 48 64 96 128 256 ;do @@ -167,8 +167,8 @@ for res in 16 22 24 32 48 64 96 128 256 ;do 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 cfg_batch.png ${ff} ${rr} ${dir}/mimetypes/application-x-freefilesync-batch.png + convert start_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 @@ -207,6 +207,9 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog +* Mon Nov 02 2020 B Stack <bgstack15@gmail.com> - 11.3-1 +- version bump + * Sat Oct 03 2020 B Stack <bgstack15@gmail.com> - 11.2-1 - version bump diff --git a/newmoon/debian/changelog b/newmoon/debian/changelog index 29bf091..ad2863e 100644 --- a/newmoon/debian/changelog +++ b/newmoon/debian/changelog @@ -1,3 +1,31 @@ +newmoon (28.15.0-1+devuan) obs; urgency=low + + * This is a standard development and bugfix release. + - Implemented support for CSS caret-color. + - Implemented support for un-prefixed ::selection CSS pseudo-element styling. + - Fixed another potential crashing scenario in ResizeObservers. + - Fixed several crashes in the DOM Fetch API. + - Fixed a crash in table pagination. + - Security issues fixed: CVE-2020-15680 (VG-VD-20-115) and several memory safety hazards. + - Unified XUL Platform Mozilla Security Patch Summary: 1 fixed, 2 defense-in-depth, 12 not applicable. + * reenable jemalloc to match palemoon. + * disable eme to match palemoon. + * so now newmoon's only changes are config location and branding. + + -- Ben Stack <bgstack15@gmail.com> Tue, 27 Oct 2020 20:05:31 -0400 + +newmoon (28.14.2-3+devuan) obs; urgency=low + + * disable all use-system options to see if stability returns + + -- Ben Stack <bgstack15@gmail.com> Fri, 23 Oct 2020 14:58:17 -0400 + +newmoon (28.14.2-2+devuan) obs; urgency=low + + * revert to gtk2 to see if stability returns + + -- Ben Stack <bgstack15@gmail.com> Fri, 23 Oct 2020 22:40:55 -0400 + newmoon (28.14.2-1+devuan) obs; urgency=low * Update version diff --git a/newmoon/debian/control b/newmoon/debian/control index f5f6304..0af5406 100644 --- a/newmoon/debian/control +++ b/newmoon/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 12), libasound2-dev, libdbus-glib-1-dev (>= 0.60), libgconf2-dev (>= 1.2.1), - libgtk-3-dev, + libgtk2.0-dev (>= 2.14), libssl-dev, libx11-xcb-dev, libxt-dev, @@ -18,15 +18,15 @@ Build-Depends: debhelper (>= 12), unzip, yasm (>= 1.1), zip, - libffi-dev, - libpixman-1-dev | libpixman-dev, - libbz2-dev, - zlib1g-dev, - libjpeg-dev, - libnspr-dev | libnspr4-dev, - libicu-dev, - libhunspell-dev, - libsqlite3-dev +# libffi-dev, +# libpixman-1-dev | libpixman-dev, +# libbz2-dev, +# zlib1g-dev, +# libjpeg-dev, +# libnspr-dev | libnspr4-dev, +# libicu-dev, +# libhunspell-dev, +# libsqlite3-dev Standards-Version: 3.9.6 Homepage: http://www.palemoon.org/ diff --git a/newmoon/debian/mozconfig b/newmoon/debian/mozconfig index 097882d..c21b677 100644 --- a/newmoon/debian/mozconfig +++ b/newmoon/debian/mozconfig @@ -21,15 +21,15 @@ MOZ_REQUIRE_SIGNING= ac_add_options --enable-av1 ac_add_options --enable-optimize="-O2 -Wl,--no-keep-memory -Wl,--reduce-memory-overhead" # accepts either gtk2 or gtk3 here, but gtk2 is only officially supported option -ac_add_options --enable-default-toolkit=cairo-gtk3 +ac_add_options --enable-default-toolkit=cairo-gtk2 ac_add_options --enable-devtools -ac_add_options --disable-jemalloc +ac_add_options --enable-jemalloc ac_add_options --with-pthreads ac_add_options --enable-strip ac_add_options --enable-phoenix-extensions # Disables ac_add_options --disable-debug -ac_add_options --enable-eme +ac_add_options --disable-eme ac_add_options --disable-gamepad ac_add_options --disable-necko-wifi ac_add_options --disable-tests @@ -55,18 +55,15 @@ ac_add_options --disable-gnomeui ac_add_options --disable-gconf ac_add_options --disable-sync ac_add_options --disable-personas -ac_add_options --with-system-ffi -ac_add_options --with-system-cairo -ac_add_options --with-system-pixman -ac_add_options --with-system-bz2 -ac_add_options --with-system-zlib -ac_add_options --with-system-jpeg -#ac_add_options --with-system-nspr +#ac_add_options --with-system-ffi +#ac_add_options --with-system-cairo +#ac_add_options --with-system-pixman +#ac_add_options --with-system-bz2 +#ac_add_options --with-system-zlib +#ac_add_options --with-system-jpeg # my own research into the codebase -#ac_add_options --with-system-icu -ac_add_options --with-system-hunspell -ac_add_options --with-system-extension-dirs -#ac_add_options --with-system-sqlite +#ac_add_options --with-system-hunspell +#ac_add_options --with-system-extension-dirs # primarily for 32-bit but tolerated for 64-bit ac_add_options --x-libraries=/usr/lib @@ -75,4 +72,4 @@ ac_add_options --x-libraries=/usr/lib # Debian Sid/Devuan Ceres is mildly broken as of 2020-07 and will fail to compile on anything higher than -j1 mk_add_options MOZ_MAKE_FLAGS="-j1" -export MOZ_PKG_SPECIAL=gtk3 +export MOZ_PKG_SPECIAL=gtk2 diff --git a/newmoon/debian/newmoon+devuan.dsc b/newmoon/debian/newmoon+devuan.dsc index f382e80..88b504a 100644 --- a/newmoon/debian/newmoon+devuan.dsc +++ b/newmoon/debian/newmoon+devuan.dsc @@ -2,11 +2,11 @@ Format: 3.0 (quilt) Source: newmoon Binary: newmoon Architecture: any -Version: 28.14.2-1+devuan +Version: 28.15.0-1+devuan Maintainer: B Stack <bgstack15@gmail.com> Homepage: http://www.palemoon.org/ Standards-Version: 4.1.4 -Build-Depends: debhelper (>= 12), autoconf2.13, libasound2-dev, libdbus-glib-1-dev (>= 0.60), libgconf2-dev (>= 1.2.1), libgtk-3-dev, libssl-dev, libx11-xcb-dev, libxt-dev, mesa-common-dev, pkg-config, python2 (>= 2.7.18-2~) | python (>= 2.7), unzip, yasm (>= 1.1), zip, libffi-dev, libpixman-1-dev | libpixman-dev, libbz2-dev, zlib1g-dev, libjpeg-dev, libnspr-dev | libnspr4-dev, libicu-dev, libhunspell-dev, libsqlite3-dev +Build-Depends: debhelper (>= 12), autoconf2.13, libasound2-dev, libdbus-glib-1-dev (>= 0.60), libgconf2-dev (>= 1.2.1), libgtk2.0-dev (>= 2.14), libssl-dev, libx11-xcb-dev, libxt-dev, mesa-common-dev, pkg-config, python2 (>= 2.7.18-2~) | python (>= 2.7), unzip, yasm (>= 1.1), zip Package-List: newmoon deb web optional arch=any Files: diff --git a/newmoon/debian/patches/pm-to-nm.patch b/newmoon/debian/patches/pm-to-nm.patch index ac7904b..f667644 100644 --- a/newmoon/debian/patches/pm-to-nm.patch +++ b/newmoon/debian/patches/pm-to-nm.patch @@ -1,5 +1,5 @@ Date: 2020-10-01 -Upstream version: 28.14.1 +Upstream version: 28.15.0 Purpose: Use newmoon branding instead of palemoon Message: Some of the changes include using ~/.config/newmoon for the profile location, using "newmoon" branding instead of "palemoon" or "browser", some bookmark tweaks to hide the old branding, I used newmoon itself to save a bookmark, and then export the bookmarks to an html file. Then I grabbed the relevant entries and placed them here. Also, I move the "Most Visited" link to bookmarks menu and not on the toolbar. @@ -29,16 +29,14 @@ diff -Naur Pale-Moon-28.14.1_Release/palemoon/app/application.ini Pale-Moon-28.1 \ No newline at end of file +#endif diff -Naur Pale-Moon-28.14.1_Release/palemoon/branding/shared/locales/browserconfig.properties Pale-Moon-28.14.1_Release.new/palemoon/branding/shared/locales/browserconfig.properties ---- Pale-Moon-28.14.1_Release/palemoon/branding/shared/locales/browserconfig.properties 2020-09-29 17:11:51.000000000 -0400 -+++ Pale-Moon-28.14.1_Release.new/palemoon/branding/shared/locales/browserconfig.properties 2020-10-01 17:14:16.203289213 -0400 -@@ -3,5 +3,5 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - +--- pale-moon.orig/palemoon/branding/shared/locales/browserconfig.properties 2020-10-24 07:14:54.000000000 -0400 ++++ pale-moon/palemoon/branding/shared/locales/browserconfig.properties 2020-10-27 20:35:29.301883148 -0400 +@@ -1,3 +1,3 @@ # Do NOT localize or otherwise change these values -browser.startup.homepage=http://start.palemoon.org/ -browser.startup.homepage_reset=http://start.palemoon.org/ -+browser.startup.homepage=https://start.duckduckgo.com/ -+browser.startup.homepage_reset=https://start.duckduckgo.com/ ++browser.startup.homepage=http://start.duckduckgo.com/ ++browser.startup.homepage_reset=http://start.duckduckgo.com/ diff -Naur Pale-Moon-28.14.1_Release/palemoon/branding/shared/pref/preferences.inc Pale-Moon-28.14.1_Release.new/palemoon/branding/shared/pref/preferences.inc --- Pale-Moon-28.14.1_Release/palemoon/branding/shared/pref/preferences.inc 2020-09-29 17:11:51.000000000 -0400 +++ Pale-Moon-28.14.1_Release.new/palemoon/branding/shared/pref/preferences.inc 2020-10-01 17:14:16.203289213 -0400 @@ -168,21 +166,36 @@ diff -Naur Pale-Moon-28.14.1_Release/palemoon/branding/unofficial/locales/en-US/ syncBrandShortName=Sync diff -Naur Pale-Moon-28.14.1_Release/palemoon/branding/unofficial/pref/palemoon-branding.js Pale-Moon-28.14.1_Release.new/palemoon/branding/unofficial/pref/palemoon-branding.js ---- Pale-Moon-28.14.1_Release/palemoon/branding/unofficial/pref/palemoon-branding.js 2020-09-29 17:11:51.000000000 -0400 -+++ Pale-Moon-28.14.1_Release.new/palemoon/branding/unofficial/pref/palemoon-branding.js 2020-10-01 17:16:43.813154771 -0400 -@@ -3,9 +3,9 @@ - #include ../../shared/pref/preferences.inc
- #include ../../shared/pref/uaoverrides.inc
+--- pale-moon.orig/palemoon/branding/unofficial/pref/palemoon-branding.js 2020-10-24 07:14:54.000000000 -0400 ++++ pale-moon/palemoon/branding/unofficial/pref/palemoon-branding.js 2020-10-27 21:06:40.837761688 -0400 +@@ -18,18 +18,18 @@ + pref("image.mem.max_ms_before_yield", 50);
+ pref("image.mem.decode_bytes_at_a_time", 65536);
+-pref("services.sync.serverURL","https://pmsync.palemoon.org/sync/index.php/");
+-pref("services.sync.jpake.serverURL","https://keyserver.palemoon.org/");
+-pref("services.sync.termsURL", "http://www.palemoon.org/sync/terms.shtml");
+-pref("services.sync.privacyURL", "http://www.palemoon.org/sync/privacy.shtml");
+-pref("services.sync.statusURL", "https://pmsync.palemoon.org/status/");
+-pref("services.sync.syncKeyHelpURL", "http://www.palemoon.org/sync/help/recoverykey.shtml");
++pref("services.sync.serverURL","https://example.com/sync/index.php/");
++pref("services.sync.jpake.serverURL","https://example.com/");
++pref("services.sync.termsURL", "https://example.com/sync/terms.shtml");
++pref("services.sync.privacyURL", "https://example.com/sync/privacy.shtml");
++pref("services.sync.statusURL", "https://example.com/status/");
++pref("services.sync.syncKeyHelpURL", "https://example.com/sync/help/recoverykey.shtml");
+ pref("services.sync.APILevel", 1);
+
+ pref("accessibility.force_disabled", 1);
+ pref("devtools.selfxss.count", 5);
-pref("startup.homepage_welcome_url","http://www.palemoon.org/unofficial.shtml");
-pref("startup.homepage_override_url","http://www.palemoon.org/unofficial.shtml");
-pref("app.releaseNotesURL", "http://www.palemoon.org/releasenotes.shtml");
-+pref("startup.homepage_welcome_url","https://start.duckduckgo.com");
-+pref("startup.homepage_override_url","http://start.duckduckgo.com");
++pref("startup.homepage_welcome_url","http://start.duckduckgo.com/unofficial.shtml");
++pref("startup.homepage_override_url","http://start.duckduckgo.com/unofficial.shtml");
+pref("app.releaseNotesURL", "");
-
- // Updates disabled
pref("app.update.enabled", false);
+ pref("app.update.url", "");
diff -Naur Pale-Moon-28.14.1_Release/palemoon/components/nsBrowserGlue.js Pale-Moon-28.14.1_Release.new/palemoon/components/nsBrowserGlue.js --- Pale-Moon-28.14.1_Release/palemoon/components/nsBrowserGlue.js 2020-09-29 17:11:51.000000000 -0400 +++ Pale-Moon-28.14.1_Release.new/palemoon/components/nsBrowserGlue.js 2020-10-01 17:14:16.203289213 -0400 diff --git a/newmoon/debian/patches/series b/newmoon/debian/patches/series index 660c64a..d8bf9aa 100644 --- a/newmoon/debian/patches/series +++ b/newmoon/debian/patches/series @@ -1,6 +1,6 @@ small-icons.patch pm-devuan.patch pm-to-nm.patch -UXP-eliminate-need-for-GTK-2.patch -UXP-GTK-3-interface-Ensure-horizontal-scrollbars-are-not-too-tall.patch +#UXP-GTK-3-interface-Ensure-horizontal-scrollbars-are-not-too-tall.patch +#UXP-eliminate-need-for-GTK-2.patch UXP-strip-object-files-before-shared-library-linking.patch diff --git a/newmoon/debian/watch b/newmoon/debian/watch index cc46979..3baddaf 100644 --- a/newmoon/debian/watch +++ b/newmoon/debian/watch @@ -2,6 +2,7 @@ version=4 opts=filenamemangle=s/.+\/v?(\d\S+)_Release\.tar\.gz/palemoon_$1.orig\.tar\.gz/ \ https://github.com/MoonchildProductions/Pale-Moon/tags .*/v?(\d\S+)_Release\.tar\.gz +# Improve: added for 28.14.2-2 need to learn how to use https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/28.14.2_Release now that it is gone from github # not working. Uscan does not want to download specific, untagged git commits. #opts="component=platform" \ # https://github.com/MoonchildProductions/UXP/archive/41e5925b4271c598601fdc77238bbf6497576594.tar.gz diff --git a/palemoon/bgstack15-palemoon.patch b/palemoon/bgstack15-palemoon.patch index f0bd4fa..191781b 100644 --- a/palemoon/bgstack15-palemoon.patch +++ b/palemoon/bgstack15-palemoon.patch @@ -1,9 +1,7 @@ diff -Naur 28.4.1-0/application/palemoon/branding/shared/locales/browserconfig.properties 28.4.1-1/application/palemoon/branding/shared/locales/browserconfig.properties ---- 28.4.1-0/palemoon/branding/shared/locales/browserconfig.properties 2019-03-26 13:33:15.000000000 -0400 -+++ 28.4.1-1/palemoon/branding/shared/locales/browserconfig.properties 2019-03-27 10:44:23.578435642 -0400 -@@ -3,5 +3,5 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - +--- pale-moon.orig/palemoon/branding/shared/locales/browserconfig.properties 2020-10-24 07:14:54.000000000 -0400 ++++ pale-moon/palemoon/branding/shared/locales/browserconfig.properties 2020-10-27 20:35:29.301883148 -0400 +@@ -1,3 +1,3 @@ # Do NOT localize or otherwise change these values -browser.startup.homepage=http://start.palemoon.org/ -browser.startup.homepage_reset=http://start.palemoon.org/ diff --git a/palemoon/debian/changelog b/palemoon/debian/changelog index 925924e..e79c5e6 100644 --- a/palemoon/debian/changelog +++ b/palemoon/debian/changelog @@ -1,3 +1,16 @@ +palemoon (28.15.0-1+devuan) obs; urgency=low + + * This is a standard development and bugfix release. + - Implemented support for CSS caret-color. + - Implemented support for un-prefixed ::selection CSS pseudo-element styling. + - Fixed another potential crashing scenario in ResizeObservers. + - Fixed several crashes in the DOM Fetch API. + - Fixed a crash in table pagination. + - Security issues fixed: CVE-2020-15680 (VG-VD-20-115) and several memory safety hazards. + - Unified XUL Platform Mozilla Security Patch Summary: 1 fixed, 2 defense-in-depth, 12 not applicable. + + -- Ben Stack <bgstack15@gmail.com> Tue, 27 Oct 2020 20:05:31 -0400 + palemoon (28.14.2-1+devuan) obs; urgency=low * Fixed some additional crashes caused by the ResizeObserver API. This should take care of all crashes that have been attributed to this new code. diff --git a/palemoon/debian/palemoon+devuan.dsc b/palemoon/debian/palemoon+devuan.dsc index 9324f3e..dcd6601 100644 --- a/palemoon/debian/palemoon+devuan.dsc +++ b/palemoon/debian/palemoon+devuan.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: palemoon Binary: palemoon Architecture: any -Version: 28.14.2-1+devuan +Version: 28.15.0-1+devuan Maintainer: B Stack <bgstack15@gmail.com> Homepage: http://www.palemoon.org/ Standards-Version: 4.1.4 diff --git a/palemoon/debian/patches/bgstack15-palemoon.patch b/palemoon/debian/patches/bgstack15-palemoon.patch index f0bd4fa..191781b 100644 --- a/palemoon/debian/patches/bgstack15-palemoon.patch +++ b/palemoon/debian/patches/bgstack15-palemoon.patch @@ -1,9 +1,7 @@ diff -Naur 28.4.1-0/application/palemoon/branding/shared/locales/browserconfig.properties 28.4.1-1/application/palemoon/branding/shared/locales/browserconfig.properties ---- 28.4.1-0/palemoon/branding/shared/locales/browserconfig.properties 2019-03-26 13:33:15.000000000 -0400 -+++ 28.4.1-1/palemoon/branding/shared/locales/browserconfig.properties 2019-03-27 10:44:23.578435642 -0400 -@@ -3,5 +3,5 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - +--- pale-moon.orig/palemoon/branding/shared/locales/browserconfig.properties 2020-10-24 07:14:54.000000000 -0400 ++++ pale-moon/palemoon/branding/shared/locales/browserconfig.properties 2020-10-27 20:35:29.301883148 -0400 +@@ -1,3 +1,3 @@ # Do NOT localize or otherwise change these values -browser.startup.homepage=http://start.palemoon.org/ -browser.startup.homepage_reset=http://start.palemoon.org/ diff --git a/palemoon/palemoon.spec b/palemoon/palemoon.spec index 9ff45fb..eb0e036 100644 --- a/palemoon/palemoon.spec +++ b/palemoon/palemoon.spec @@ -1,11 +1,11 @@ -%global tarballdir Pale-Moon-%{version}_Release +%global tarballdir pale-moon %global dummy_package 0 %global appname palemoon %global prettyname Pale Moon Web Browser %global stackrpms_custom 1 # derive from inside the full source tree or from notes at https://github.com/MoonchildProductions/Pale-Moon/releases # git submodule | awk -v "name=platform" '$2 == name {gsub("-","",$1); print $1}' -%global submodule_platform_tag RELBASE_20200929 +%global submodule_platform_tag RELBASE_20201024 # additional repos to get python27 and devtoolset-7 # for el6 and el7: Software Collection;, for x86_64 only @@ -42,14 +42,14 @@ Name: palemoon-stackrpms Name: palemoon %endif Summary: Pale Moon web browser -Version: 28.14.2 +Version: 28.15.0 Release: 1 Group: Networking/Web License: MPLv2.0 URL: http://linux.palemoon.org/ -Source0: https://github.com/MoonchildProductions/Pale-Moon/archive/%{version}_Release.tar.gz -Source1: https://github.com/MoonchildProductions/UXP/archive/%{submodule_platform_tag}.tar.gz +Source0: https://repo.palemoon.org/MoonChildProductions/Pale-Moon/archive/%{version}_Release.tar.gz +Source1: https://repo.palemoon.org/MoonchildProductions/UXP/archive/%{submodule_platform_tag}.tar.gz Source2: palemoon-mozconfig Source3: palemoon.desktop Source4: palemoon-mimeinfo.xml @@ -285,6 +285,10 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %doc AUTHORS LICENSE %changelog +* Tue Oct 27 2020 B Stack <bgstack15@gmail.com> - 28.15.0-1 +- update version +- change sources to upstream new location, repos.palemoon.org + * Sat Oct 03 2020 B Stack <bgstack15@gmail.com> - 28.14.2-1 - update version diff --git a/waterfox/debian/changelog b/waterfox/debian/changelog index 98d9bdc..57cbc58 100644 --- a/waterfox/debian/changelog +++ b/waterfox/debian/changelog @@ -1,3 +1,9 @@ +waterfox (2020.10-1+devuan) obs; urgency=medium + + - latest version + + -- Ben Stack <bgstack15@gmail.com> Tue, 27 Oct 2020 20:29:11 -0400 + waterfox (2020.09-1+devuan) obs; urgency=medium - Latest version diff --git a/waterfox/debian/waterfox+devuan.dsc b/waterfox/debian/waterfox+devuan.dsc index 95f05ee..3d900bd 100644 --- a/waterfox/debian/waterfox+devuan.dsc +++ b/waterfox/debian/waterfox+devuan.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: waterfox Binary: waterfox Architecture: any -Version: 2020.09-1+devuan +Version: 2020.10-1+devuan Maintainer: B Stack <bgstack15@gmail.com> Homepage: https://www.waterfox.net/ Standards-Version: 4.1.4 diff --git a/waterfox/waterfox.spec b/waterfox/waterfox.spec index fbd6206..48a370f 100644 --- a/waterfox/waterfox.spec +++ b/waterfox/waterfox.spec @@ -160,7 +160,7 @@ BuildRequires: %{scl_buildreq} Summary: Waterfox Web browser Name: waterfox -Version: 2020.09 +Version: 2020.10 Release: 11%{?branch:.%{branch}}%{?gver}%{?dist} URL: https://www.waterfox.net License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -652,6 +652,9 @@ chmod -x third_party/rust/itertools/src/lib.rs #--------------------------------------------------------------------- %build +# Disable this. Local lto flags in use. +%global _lto_cflags %{nil} + %if 0%{?system_sqlite} # Do not proceed with build if the sqlite require would be broken: # make sure the minimum requirement is non-empty, ... @@ -1089,11 +1092,14 @@ fi #--------------------------------------------------------------------- %changelog -* Thu Sep 24 2020 B Stack <bgstack15@gmail.com> - 2020.09-11.classic +* Tue Oct 27 2020 B Stack <bgstack15@gmail.com> - 2020.10-11.classic - add el7 and el8 support - repackage for stackrpms - disable simd globally +* Tue Oct 20 2020 Phantom X <megaphantomx at hotmail dot com> - 2020.10-1.classic +- 2020.10 + * Tue Sep 22 2020 Phantom X <megaphantomx at hotmail dot com> - 2020.09-1.classic - 2020.09 |