From 98662dd93570475ac7409453dfdca639991ef8fb Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 4 May 2015 23:11:59 +0900 Subject: [PATCH 01/47] Kill hardened build, does not build --- 4Pane.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 9db0986..3cc8a9d 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -5,10 +5,11 @@ # really expects this # (expanded afterwards, use %%define) %define _docdir_fmt %{NAME} +%undefine _hardened_build Name: 4Pane Version: 3.0 -Release: 6%{?dist} +Release: 7{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -73,7 +74,8 @@ export EXTRA_CXXFLAGS="%{optflags}" # --without-builtin_bzip2 means using system bzip2 %configure\ --disable-desktop \ - --without-builtin_bzip2 + --without-builtin_bzip2 || \ + { sleep 5 ; cat config.log ; sleep 10 ; exit 1; } make %{?_smp_mflags} %install @@ -129,6 +131,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Mon May 4 2015 Mamoru TASAKA - 3.0-7 +- Kill hardened build, does not build + * Mon Dec 22 2014 Mamoru TASAKA - 3.0-6 - Patch for toolbar issue, requested by the upstream From 851f59f1d2067a853b0d68162f351a81b8efbdec Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 4 May 2015 23:32:36 +0900 Subject: [PATCH 02/47] fix dist --- 4Pane.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 3cc8a9d..f2f501f 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -9,7 +9,7 @@ Name: 4Pane Version: 3.0 -Release: 7{?dist} +Release: 7%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 From 9fb68b5cf08d790eeaf4d7f9e1451ff89336bdaa Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 16 Jun 2015 22:39:36 +0000 Subject: [PATCH 03/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index f2f501f..6645f92 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -9,7 +9,7 @@ Name: 4Pane Version: 3.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -131,6 +131,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Tue Jun 16 2015 Fedora Release Engineering - 3.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Mon May 4 2015 Mamoru TASAKA - 3.0-7 - Kill hardened build, does not build From 5cd07064689c2821d069fa9a11a2da9d6ed67485 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 15:17:57 +0000 Subject: [PATCH 04/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 6645f92..1283c5a 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -9,7 +9,7 @@ Name: 4Pane Version: 3.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -131,6 +131,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 3.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Tue Jun 16 2015 Fedora Release Engineering - 3.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 03351697af2ec41504ce0dec7979e1c751c485da Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 7 Apr 2016 20:41:53 +0900 Subject: [PATCH 05/47] fix cflags on configure --- 4Pane.spec | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 1283c5a..75619f3 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -5,11 +5,10 @@ # really expects this # (expanded afterwards, use %%define) %define _docdir_fmt %{NAME} -%undefine _hardened_build Name: 4Pane -Version: 3.0 -Release: 9%{?dist} +Version: 4.0 +Release: 0.100%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -28,7 +27,8 @@ Patch5: 4Pane-HEAD-0005-Make-the-toolbar-the-correct-size-for-its-tools-in-g.pa BuildRequires: bzip2-devel BuildRequires: xz-devel BuildRequires: wxGTK3-devel -BuildRequires: desktop-file-utils +BuildRequires: %{_bindir}/desktop-file-install +BuildRequires: %{_bindir}/appstream-util BuildRequires: git %description @@ -44,6 +44,7 @@ tools. %prep %setup -q -n 4pane-%{version} +%if 0 cat > .gitignore </dev/null || : %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* -%if 0%{?fedora} >= 21 %{_datadir}/appdata/%{name}.appdata.xml -%endif %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Thu Apr 07 2016 Mamoru TASAKA - 4.0-1 +- 4.0 +- Enable hardened build again + * Wed Feb 03 2016 Fedora Release Engineering - 3.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From ad06ca5d5a853a4d5102b5c5adc32883db166af3 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Thu, 7 Apr 2016 21:07:05 +0900 Subject: [PATCH 06/47] 4.0 - Enable hardened build again --- .gitignore | 1 + ...ointer-to-a-menubar-menu-don-t-searc.patch | 167 ------------------ 4Pane-HEAD-0002-Add-the-man-page-to-git.patch | 65 ------- ...ile-see-https-sourceforge.net-p-four.patch | 114 ------------ ...he-use-of-DESTDIR-in-the-last-commit.patch | 78 -------- ...-the-correct-size-for-its-tools-in-g.patch | 93 ---------- 4Pane.spec | 12 +- sources | 2 +- 8 files changed, 3 insertions(+), 529 deletions(-) delete mode 100644 4Pane-HEAD-0001-When-getting-a-pointer-to-a-menubar-menu-don-t-searc.patch delete mode 100644 4Pane-HEAD-0002-Add-the-man-page-to-git.patch delete mode 100644 4Pane-HEAD-0003-Add-an-appdata-file-see-https-sourceforge.net-p-four.patch delete mode 100644 4Pane-HEAD-0004-Correct-the-use-of-DESTDIR-in-the-last-commit.patch delete mode 100644 4Pane-HEAD-0005-Make-the-toolbar-the-correct-size-for-its-tools-in-g.patch diff --git a/.gitignore b/.gitignore index 7c4d871..a6938e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /4pane-3.0.tar.gz +/4pane-4.0.tar.gz diff --git a/4Pane-HEAD-0001-When-getting-a-pointer-to-a-menubar-menu-don-t-searc.patch b/4Pane-HEAD-0001-When-getting-a-pointer-to-a-menubar-menu-don-t-searc.patch deleted file mode 100644 index 5b24902..0000000 --- a/4Pane-HEAD-0001-When-getting-a-pointer-to-a-menubar-menu-don-t-searc.patch +++ /dev/null @@ -1,167 +0,0 @@ -From 5b4ce2be04f00e001bad6c4d6c59ff3791b1125c Mon Sep 17 00:00:00 2001 -From: dghart -Date: Wed, 10 Dec 2014 20:42:12 +0000 -Subject: [PATCH] When getting a pointer to a menubar menu, don't search by - title - -Using wxMenuBar::FindMenu to find the index of a menu isn't as mnemonic-safe as it should be. There are two problems: -1) If the search string isn't localised, it will fail if there's a translation. -2) Even if it is, there's a potential problem with mnemonic location, as translators are allowed to use a non-default letter. - -This _shouldn't_ matter as wx removes the mnemonic before matching. However it seems that in Japanese, the mnemonic is appended -(e.g. Bookmarks(&B)) -and unsurprisingly wxStripMenuCodes() can't cope with this. So store the position while loading the menubar; which isn't elegant, but it is safe. ---- - Accelerators.cpp | 4 ++++ - Bookmarks.cpp | 13 +++++++++---- - Bookmarks.h | 5 ++++- - Tools.cpp | 14 ++++++++------ - Tools.h | 3 +++ - 5 files changed, 28 insertions(+), 11 deletions(-) - -diff --git a/Accelerators.cpp b/Accelerators.cpp -index eb75627..d470c91 100644 ---- a/Accelerators.cpp -+++ b/Accelerators.cpp -@@ -16,6 +16,7 @@ - - #include "Externs.h" - #include "Configure.h" -+#include "Bookmarks.h" - #include "Accelerators.h" - - -@@ -490,6 +491,9 @@ subitemslistarray[0] = columnitems; subitemslistcount[0] = sizeof(columnitems)/p - - // Make arrays for menus & for submenus - const wxString menutitles[] = { _("&File"), _("&Edit"), _("&View"), _("&Tabs"), _("&Bookmarks"), _("&Archive"), _("&Mount"), _("Too&ls"), _("&Options"), _("&Help") }; -+Bookmarks::SetMenuIndex(4); // *** remember to change these if their position changes! *** -+LaunchMiscTools::SetMenuIndex(7); -+ - const wxString submenutitles[] = { _("&Columns to Display"), _("&Load a Tab Template") }; - int submenID[2]; submenID[0] = SHCUT_FINISH + 1; submenID[1] = LoadTabTemplateMenu; // "Columns to Display" hasn't a set id, so use SHCUT_FINISH+1 - wxMenu* menuarray[ menuno ]; wxMenu* submenuarray[ submenuno ]; -diff --git a/Bookmarks.cpp b/Bookmarks.cpp -index e0e2e7d..65ae21c 100644 ---- a/Bookmarks.cpp -+++ b/Bookmarks.cpp -@@ -318,6 +318,8 @@ END_EVENT_TABLE() - - //-------------------------------------------------------------------------------------------------------------------- - -+int Bookmarks::m_menuindex = -1; -+ - Bookmarks::Bookmarks() - { - LoadBookmarks(); -@@ -336,8 +338,9 @@ MenuStruct.ClearData(); // Make sure the arrays are em - bookmarkID = ID_FIRST_BOOKMARK; // Similarly reset bookmarkID - MenuStruct.ID = GetNextID(); // & use it indirectly to id MenuStruct - --wxMenu* menu = MenuBar->GetMenu(MenuBar->FindMenu(_("Bookmarks"))); // Find the menu for the group --if (menu==NULL) { wxLogError(_("Couldn't find menu!?")); return; } -+wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Bookmarks menu index not set")); // Should have been set when the bar was loaded -+wxMenu* menu = MenuBar->GetMenu(m_menuindex); // Find the menu for the group -+if (!menu) { wxLogError(_("Couldn't find menu!?")); return; } - - MenuStruct.pathname = wxT("/Bookmarks"); - MenuStruct.FullLabel.Empty(); // Needed for re-entry during Save/Load -@@ -435,8 +438,10 @@ config->Flush(); - - wxMenuBar* MenuBar = MyFrame::mainframe->GetMenuBar(); // We now have to destroy the menu structure, so it can be born again - if (MenuBar==NULL) { wxLogError(_("Couldn't load Menubar!?")); return; } -- --wxMenu* mainmenu = MenuBar->GetMenu(MenuBar->FindMenu(_("Bookmarks"))); // Find the menu for the group -+ -+wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Bookmarks menu index not set")); // Should have been set when the bar was loaded -+wxMenu* mainmenu = MenuBar->GetMenu(m_menuindex); // Find the menu for the group -+if (!mainmenu) { wxLogError(_("Couldn't find menu!?")); return; } - - for (size_t count=mainmenu->GetMenuItemCount(); count > 3 ; --count) // Skip the 1st 3 items, they're Add, Manage & a Separator - mainmenu->Destroy(mainmenu->GetMenuItems().Item(count-1)->GetData()); // Destroy all the others, including submenus -diff --git a/Bookmarks.h b/Bookmarks.h -index b476a4d..a52109c 100644 ---- a/Bookmarks.h -+++ b/Bookmarks.h -@@ -173,6 +173,8 @@ bool Cut(wxTreeItemId item); - bool Paste(wxTreeItemId item, bool NoDupCheck=false, bool duplicating=false); - bool Copy(wxTreeItemId item); - -+static void SetMenuIndex(int index) { m_menuindex = index; } -+ - wxDialog* adddlg; // These 2 ptrs are used to access their dialogs from other methods - MyBookmarkDialog* mydlg; - BMClipboard bmclip; // Stores the TreeItemData & structs for pasting -@@ -182,7 +184,8 @@ wxConfigBase* config; - MyBmTree* tree; // The treectrl used in ManageBookmarks - bool m_altered; // Do we have anything to save? - --unsigned int bookmarkID; // Actually it ID's folders & separators too -+static int m_menuindex; // Passed to wxMenuBar::GetMenu so we can ID the menu without using its label -+unsigned int bookmarkID; // Actually it ID.s folders & separators too - unsigned int GetNextID(){ if (bookmarkID == ID__LAST_BOOKMARK) bookmarkID=ID_FIRST_BOOKMARK; // Recycle - return bookmarkID++; } // Return next vacant bookmarkID - -diff --git a/Tools.cpp b/Tools.cpp -index 60b5879..f5ec1fe 100644 ---- a/Tools.cpp -+++ b/Tools.cpp -@@ -2678,6 +2678,8 @@ BriefLogStatus bls(msg + msgA + msgB); - } - //----------------------------------------------------------------------------------------------------------------------- - -+int LaunchMiscTools::m_menuindex = -1; -+ - void LaunchMiscTools::ClearData() - { - for (int n = (int)ToolArray.GetCount(); n > 0; --n) { UserDefinedTool* item = ToolArray.Item(n-1); delete item; ToolArray.RemoveAt(n-1); } -@@ -2691,9 +2693,9 @@ LoadArrays(); - if (!FolderArray.GetCount()) return; // No data, not event the "Run a Program" menu - - if (tools == NULL) // If so, we're loading the menubar menu, so find it -- { int id = MyFrame::mainframe->GetMenuBar()->FindMenu(_("Too&ls")); // Find the Tools menu id -- if (id == wxNOT_FOUND) return; -- tools = MyFrame::mainframe->GetMenuBar()->GetMenu(id); // Get ptr to the menu itself -+ { wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Tools menu index not set")); // Should have been set when the bar was loaded -+ tools = MyFrame::mainframe->GetMenuBar()->GetMenu(m_menuindex); -+ wxCHECK_RET(tools, wxT("Couldn't find the Tools menu")); - static bool alreadyloaded=false; if (!alreadyloaded) { tools->AppendSeparator(); alreadyloaded=true; } // We don't want multiple separators due to reloads - } - -@@ -2777,9 +2779,9 @@ config->DeleteGroup(wxT("/Tools/Launch")); // Delete current info (oth - Save(wxT("/Tools/Launch"), config); // Recursively save - config->Flush(); - --int id = MyFrame::mainframe->GetMenuBar()->FindMenu(_("Tools")); // Find the id of the Tools menu proper --if (id == wxNOT_FOUND) return; --wxMenu* tools = MyFrame::mainframe->GetMenuBar()->GetMenu(id); // & hence the menu itself -+wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Tools menu index not set")); // Should have been set when the bar was loaded -+wxMenu* tools = MyFrame::mainframe->GetMenuBar()->GetMenu(m_menuindex); -+wxCHECK_RET(tools, wxT("Couldn't find the Tools menu")); - - int sm = tools->FindItem(FolderArray[0]->Label); // Find the id menu of the relevant submenu in the Tools menu - if (sm == wxNOT_FOUND) return; -diff --git a/Tools.h b/Tools.h -index d6a7f58..6554a82 100644 ---- a/Tools.h -+++ b/Tools.h -@@ -494,6 +494,8 @@ ArrayOfUserDefinedTools* GetToolarray(){ return &ToolArray; } - ArrayOfToolFolders* GetFolderArray(){ return &FolderArray; } - size_t GetLastCommand(){ return LastCommandNo; } - -+static void SetMenuIndex(int index) { m_menuindex = index; } -+ - protected: - void Load(wxString name); // Load (sub)menu 'name' from config - void ClearData(); -@@ -505,6 +507,7 @@ bool SetCorrectPaneptrs(const wxChar* &pc, MyGenericDirCtrl* &first, MyGenericDi - ArrayOfUserDefinedTools ToolArray; - ArrayOfToolFolders FolderArray; - int EventId; // Holds the first spare ID, from SHCUT_TOOLS_LAUNCH to SHCUT_TOOLS_LAUNCH_LAST-1 -+static int m_menuindex; // Passed to wxMenuBar::GetMenu so we can ID the menu without using its label - size_t EntriesIndex; - size_t FolderIndex; - size_t LastCommandNo; // Holds the last tool used, so it can be repeated --- -2.1.0 - diff --git a/4Pane-HEAD-0002-Add-the-man-page-to-git.patch b/4Pane-HEAD-0002-Add-the-man-page-to-git.patch deleted file mode 100644 index 1726a00..0000000 --- a/4Pane-HEAD-0002-Add-the-man-page-to-git.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 12dcd5315f7c5b8c9487b81ad73a577959633ceb Mon Sep 17 00:00:00 2001 -From: dghart -Date: Fri, 12 Dec 2014 16:43:28 +0000 -Subject: [PATCH 2/4] Add the man page to git - -See https://sourceforge.net/p/fourpane/feature-requests/9/ ---- - 4Pane.1 | 45 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - create mode 100755 4Pane.1 - -diff --git a/4Pane.1 b/4Pane.1 -new file mode 100755 -index 0000000..f7a7644 ---- /dev/null -+++ b/4Pane.1 -@@ -0,0 +1,45 @@ -+.\" Hey, EMACS: -*- nroff -*- -+.\" First parameter, NAME, should be all caps -+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -+.\" other parameters are allowed: see man(7), man(1) -+.TH 4PANE 1 "October 27, 2007" -+.\" Please adjust this date whenever revising the manpage. -+.\" -+.\" Some roff macros, for reference: -+.\" .nh disable hyphenation -+.\" .hy enable hyphenation -+.\" .ad l left justify -+.\" .ad b justify to both left and right margins -+.\" .nf disable filling -+.\" .fi enable filling -+.\" .br insert line break -+.\" .sp insert n+1 empty lines -+.\" for manpage-specific macros, see man(7) -+.SH NAME -+4Pane - a detailed-view quad-pane file manager for GTK+ -+.SH SYNOPSIS -+.B 4Pane -+[-d ] [-c ] [-h] [Display from this filepath (optional)...] -+.br -+ -+.SH DESCRIPTION -+This manual page documents only 4Pane\'s rarely-used invocation options (generally you'll just type '4Pane'). -+.br -+A detailed manual is available from within 4Pane, either from the help menu or by pressing F1; and also online at http://4pane.co.uk -+.PP -+.SH OPTIONS -+.TP -+.B \-d, \-\-home\-dir= -+Use as the home directory (optional) -+.TP -+.B \-c, \-\-config\-fpath= -+Use this filepath as 4Pane's configuration file (optional. If the filepath doesn't exist, it will be created) -+.TP -+.B \-h, \-\-help -+Show a summary of options -+.br -+.SH AUTHOR -+4Pane was written by David Hart . -+.PP -+This manual page was written by David Hart , -+(but may be used by others). --- -2.1.0 - diff --git a/4Pane-HEAD-0003-Add-an-appdata-file-see-https-sourceforge.net-p-four.patch b/4Pane-HEAD-0003-Add-an-appdata-file-see-https-sourceforge.net-p-four.patch deleted file mode 100644 index c7ac8de..0000000 --- a/4Pane-HEAD-0003-Add-an-appdata-file-see-https-sourceforge.net-p-four.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 3b55430a83dd521dbc7633b3416c2cb54849f243 Mon Sep 17 00:00:00 2001 -From: dghart -Date: Thu, 18 Dec 2014 12:06:26 +0000 -Subject: [PATCH 3/4] Add an appdata file: see - https://sourceforge.net/p/fourpane/feature-requests/10/ - ---- - .build/4Pane.bkl | 15 ++++++++++++--- - 4Pane.appdata.xml | 28 ++++++++++++++++++++++++++++ - Makefile.in | 4 ++++ - 3 files changed, 44 insertions(+), 3 deletions(-) - create mode 100644 4Pane.appdata.xml - -diff --git a/.build/4Pane.bkl b/.build/4Pane.bkl -index 6ec38d9..8b184da 100755 ---- a/.build/4Pane.bkl -+++ b/.build/4Pane.bkl -@@ -153,6 +153,12 @@ - ln -fs 4Pane $(DESTDIR)$(BINDIR)/4pane ;\ - fi; - -+ -+ -+ @if test -d /usr/share/appdata/ ; then \ -+ cp $(DESTDIR)4Pane.appdata.xml /usr/share/appdata/ ;\ -+ fi; -+ - - - @if test $(desktop) = yes || test $(desktop) = install_only ; then \ -@@ -164,18 +170,21 @@ - - - -- -+ - - - @if test $(symlink) = yes || test $(symlink) = uninstall_only; then \ - rm -f $(DESTDIR)$(BINDIR)/4pane ;\ - fi; -- -+ -+ -+ @rm -f /usr/share/appdata/4Pane.appdata.xml ; -+ - - @if test $(desktop) = yes || test $(desktop) = uninstall_only; then \ - rm -f ~/Desktop/4Pane.desktop ;\ - fi; -- -+ - - - -diff --git a/4Pane.appdata.xml b/4Pane.appdata.xml -new file mode 100644 -index 0000000..918ecf5 ---- /dev/null -+++ b/4Pane.appdata.xml -@@ -0,0 +1,28 @@ -+ -+ -+ -+ 4Pane.desktop -+ CC0-1.0 -+ GPL-3.0 -+ 4Pane -+ File manager -+ -+

-+ 4Pane is a highly configurable Linux filemanager. It has dual twin-panes, -+ each of which has a directory tree-view pane and a detailed-list pane for -+ files. -+

-+

-+ In addition to standard file manager things, it offers multiple undo and redo -+ of most operations (including deletions), archive management including -+ 'virtual browsing' inside archives, multiple renaming/duplication of files, -+ a terminal emulator and user-defined tools. -+

-+
-+ -+ -+ http://www.4Pane.co.uk/4Pane624x351.png -+ -+ -+ http://www.4pane.co.uk -+
-diff --git a/Makefile.in b/Makefile.in -index 7a7b8b2..19ae920 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -106,6 +106,9 @@ install: install_4Pane - @if test $(symlink) = yes || test $(symlink) = install_only ; then \ - ln -fs 4Pane $(DESTDIR)$(bindir)/4pane ;\ - fi; -+ @if test -d /usr/share/appdata/ ; then \ -+ cp $(DESTDIR)4Pane.appdata.xml /usr/share/appdata/ ;\ -+ fi; - @if test $(desktop) = yes || test $(desktop) = install_only ; then \ - if test -d ~/Desktop/ ; then \ - cp -up rc/4Pane.desktop ~/Desktop/4Pane.desktop ;\ -@@ -142,6 +145,7 @@ uninstall: uninstall_4Pane - @if test $(symlink) = yes || test $(symlink) = uninstall_only; then \ - rm -f $(DESTDIR)$(bindir)/4pane ;\ - fi; -+ @rm -f /usr/share/appdata/4Pane.appdata.xml ; - @if test $(desktop) = yes || test $(desktop) = uninstall_only; then \ - rm -f ~/Desktop/4Pane.desktop ;\ - fi; --- -2.1.0 - diff --git a/4Pane-HEAD-0004-Correct-the-use-of-DESTDIR-in-the-last-commit.patch b/4Pane-HEAD-0004-Correct-the-use-of-DESTDIR-in-the-last-commit.patch deleted file mode 100644 index 7ba7cbf..0000000 --- a/4Pane-HEAD-0004-Correct-the-use-of-DESTDIR-in-the-last-commit.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 1147a5bfa2283df5b98df01c6174203b801e04ea Mon Sep 17 00:00:00 2001 -From: dghart -Date: Fri, 19 Dec 2014 12:34:08 +0000 -Subject: [PATCH 4/4] Correct the use of DESTDIR in the last commit - ---- - .build/4Pane.bkl | 17 +++++++++-------- - Makefile.in | 5 +++-- - 2 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/.build/4Pane.bkl b/.build/4Pane.bkl -index 8b184da..f018318 100755 ---- a/.build/4Pane.bkl -+++ b/.build/4Pane.bkl -@@ -136,9 +136,9 @@ - - - -- ifneq ($(BZIP2_FLAGS),-DUSE_SYSTEM_BZIP2) -- $(fileList(['sdk/bzip/*.c'])) -- endif -+ ifneq ($(BZIP2_FLAGS),-DUSE_SYSTEM_BZIP2) -+ $(fileList(['sdk/bzip/*.c'])) -+ endif - - - $(BINDIR) -@@ -156,7 +156,8 @@ - - - @if test -d /usr/share/appdata/ ; then \ -- cp $(DESTDIR)4Pane.appdata.xml /usr/share/appdata/ ;\ -+ $(INSTALL_DIR) $(DESTDIR)/usr/share/appdata/ ;\ -+ cp 4Pane.appdata.xml $(DESTDIR)/usr/share/appdata/ ;\ - fi; - - -@@ -177,10 +178,10 @@ - rm -f $(DESTDIR)$(BINDIR)/4pane ;\ - fi; - -- -- @rm -f /usr/share/appdata/4Pane.appdata.xml ; -- -- -+ -+ @rm -f $(DESTDIR)/usr/share/appdata/4Pane.appdata.xml ; -+ -+ - @if test $(desktop) = yes || test $(desktop) = uninstall_only; then \ - rm -f ~/Desktop/4Pane.desktop ;\ - fi; -diff --git a/Makefile.in b/Makefile.in -index 19ae920..c11e531 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -107,7 +107,8 @@ install: install_4Pane - ln -fs 4Pane $(DESTDIR)$(bindir)/4pane ;\ - fi; - @if test -d /usr/share/appdata/ ; then \ -- cp $(DESTDIR)4Pane.appdata.xml /usr/share/appdata/ ;\ -+ $(INSTALL_DIR) $(DESTDIR)/usr/share/appdata/ ;\ -+ cp 4Pane.appdata.xml $(DESTDIR)/usr/share/appdata/ ;\ - fi; - @if test $(desktop) = yes || test $(desktop) = install_only ; then \ - if test -d ~/Desktop/ ; then \ -@@ -145,7 +146,7 @@ uninstall: uninstall_4Pane - @if test $(symlink) = yes || test $(symlink) = uninstall_only; then \ - rm -f $(DESTDIR)$(bindir)/4pane ;\ - fi; -- @rm -f /usr/share/appdata/4Pane.appdata.xml ; -+ @rm -f $(DESTDIR)/usr/share/appdata/4Pane.appdata.xml ; - @if test $(desktop) = yes || test $(desktop) = uninstall_only; then \ - rm -f ~/Desktop/4Pane.desktop ;\ - fi; --- -2.1.0 - diff --git a/4Pane-HEAD-0005-Make-the-toolbar-the-correct-size-for-its-tools-in-g.patch b/4Pane-HEAD-0005-Make-the-toolbar-the-correct-size-for-its-tools-in-g.patch deleted file mode 100644 index cb7657e..0000000 --- a/4Pane-HEAD-0005-Make-the-toolbar-the-correct-size-for-its-tools-in-g.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 712bf13e3fb2039cde3b4ee0c2d8c2e49f003a02 Mon Sep 17 00:00:00 2001 -From: dghart -Date: Sun, 21 Dec 2014 15:20:02 +0000 -Subject: [PATCH 1/2] Make the toolbar the correct size for its tools in gtk3 - builds too - -When built against wxWidgets using gtk3, the toolbar was clipping the icons of its tools. This was caused by old code designed to ease the transition between gtk1.2 and 2.0! -Fixed by removing that old code, and allowing the toolbar to size itself naturally. ---- - Externs.h | 2 -- - MyFrame.cpp | 4 ++-- - Redo.cpp | 4 ++-- - config.h | 7 ------- - 4 files changed, 4 insertions(+), 13 deletions(-) - -diff --git a/Externs.h b/Externs.h -index c5213c2..2f0223d 100644 ---- a/Externs.h -+++ b/Externs.h -@@ -86,8 +86,6 @@ extern wxString BITMAPSDIR; - extern wxString RCDIR; - extern wxString HELPDIR; - --extern int MAINTOOLBARWIDTH; -- - extern wxWindowID NextID; - - #if defined(__WXGTK20__) -diff --git a/MyFrame.cpp b/MyFrame.cpp -index ebae40f..757c043 100644 ---- a/MyFrame.cpp -+++ b/MyFrame.cpp -@@ -547,7 +547,7 @@ CreateMenuBar(MenuBar); SetMenuBar(MenuBar); - - toolbar = NULL; LoadToolbarButtons(); // Toolbar pt1 - --panelette = new wxPanel(this, -1, wxDefaultPosition, wxSize(-1,MAINTOOLBARWIDTH), wxTAB_TRAVERSAL, wxT("TBPanel")); // & pt2, for MyBitmapButtons -+panelette = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, wxT("TBPanel")); // & pt2, for MyBitmapButtons - sizerTB = new wxBoxSizer(wxHORIZONTAL); - sizerTB->Add(toolbar, 0, wxEXPAND); - sizerTB->Add(panelette, 1, wxEXPAND); -@@ -666,7 +666,7 @@ if (recreating) - toolbar->Destroy(); - } - --toolbar = new wxToolBar(this, ID_FRAMETOOLBAR ,wxPoint(0,0), wxSize(-1,MAINTOOLBARWIDTH)); -+toolbar = new wxToolBar(this, ID_FRAMETOOLBAR); - - wxBitmap toolBarBitmaps[8]; - -diff --git a/Redo.cpp b/Redo.cpp -index f3cc6bc..f55928e 100644 ---- a/Redo.cpp -+++ b/Redo.cpp -@@ -295,7 +295,7 @@ int offset = 0; // This copes with displays of > - - // We need to pop-up the sidebar menu below the Undo button. WxWidgets doesn't let us locate this, & the mouse pos could be anywhere within the button. - wxPoint pt; // The solution is to cheat, & place it where calcs say it ought to be. This may fail on future resizes etc --pt.y = MAINTOOLBARWIDTH + 2; // The y pos could be anywhere within the button, so replace with the known toolbar-width, plus a fiddle-factor -+pt.y = MyFrame::mainframe->toolbar->GetSize().GetHeight() + 2; // The y pos could be anywhere within the button, so replace with the known toolbar-height, plus a fiddle-factor - pt.x = (MyFrame::mainframe->buttonsbeforesidebar * 30) + (MyFrame::mainframe->separatorsbeforesidebar * 7); // & we counted the tools as we inserted them - - do -@@ -379,7 +379,7 @@ int offset = 0; // This copes with displays of >1 pa - - // We need to pop-up the sidebar menu below the Redo button. WxWidgets doesn't let us locate this, & the mouse pos could be anywhere within the button. - wxPoint pt; // The solution is to cheat, & place it where calcs say it ought to be. This may fail on future resizes etc --pt.y = MAINTOOLBARWIDTH + 2; // The y pos could be anywhere within the button, so replace with the known toolbar-width, plus a fiddle-factor -+pt.y = MyFrame::mainframe->toolbar->GetSize().GetHeight() + 2; // The y pos could be anywhere within the button, so replace with the known toolbar-height, plus a fiddle-factor - pt.x = (MyFrame::mainframe->buttonsbeforesidebar * 30) + 30 + 13 // (The extra 30 is for the Undo button, the 13 for the Undo sidebar buttton) - + (MyFrame::mainframe->separatorsbeforesidebar* 7); // We counted the other tools as we inserted them - -diff --git a/config.h b/config.h -index 641d694..b2b7c46 100644 ---- a/config.h -+++ b/config.h -@@ -47,13 +47,6 @@ wxString BITMAPSDIR; - wxString RCDIR; - wxString HELPDIR; - --#ifdef __WXGTK20__ --int MAINTOOLBARWIDTH = 38; --#else --int MAINTOOLBARWIDTH = 30; --#endif -- -- - size_t MAX_COMMAND_HISTORY = 25; // How many recent commands from eg grep or locate, should be stored - wxArrayString FilterHistory; - --- -2.1.0 - diff --git a/4Pane.spec b/4Pane.spec index 75619f3..9c7e119 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,21 +8,12 @@ Name: 4Pane Version: 4.0 -Release: 0.100%{?dist} +Release: 1%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz -# https://sourceforge.net/p/fourpane/discussion/767206/thread/9daf0cda/ -Patch1: 4Pane-HEAD-0001-When-getting-a-pointer-to-a-menubar-menu-don-t-searc.patch -# http://sourceforge.net/p/fourpane/feature-requests/9/ -Patch2: 4Pane-HEAD-0002-Add-the-man-page-to-git.patch -# http://sourceforge.net/p/fourpane/feature-requests/10/ -Patch3: 4Pane-HEAD-0003-Add-an-appdata-file-see-https-sourceforge.net-p-four.patch -Patch4: 4Pane-HEAD-0004-Correct-the-use-of-DESTDIR-in-the-last-commit.patch -# Request from the upstream -Patch5: 4Pane-HEAD-0005-Make-the-toolbar-the-correct-size-for-its-tools-in-g.patch BuildRequires: bzip2-devel BuildRequires: xz-devel @@ -62,7 +53,6 @@ git commit -m "base" -q sed -i.cflags configure \ -e '\@[ \t]\{5,\}C.*FLAGS[ \t]*=[ \t]*$@d' -git commit -m "fix cflags on configure" -a %build export WX_CONFIG_NAME=wx-config-3.0 diff --git a/sources b/sources index 2ba50da..b9ac302 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -396f968e3cd77c0d8f56c3d687b9ee32 4pane-3.0.tar.gz +7e447b92a7704c3c12dab65957099475 4pane-4.0.tar.gz From 27f0a698027fac906c00f6431e9233b2b716ab31 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 19 Jun 2016 22:42:44 +0900 Subject: [PATCH 07/47] Patch from the upstream to fix sizing and color issue with GTK 3.20 (bug 1345924) --- 4Pane-4.0-gtk320-sizing.patch | 267 ++++++++++++++++++++++++++++++++++ 4Pane.spec | 11 +- 2 files changed, 277 insertions(+), 1 deletion(-) create mode 100644 4Pane-4.0-gtk320-sizing.patch diff --git a/4Pane-4.0-gtk320-sizing.patch b/4Pane-4.0-gtk320-sizing.patch new file mode 100644 index 0000000..e25188d --- /dev/null +++ b/4Pane-4.0-gtk320-sizing.patch @@ -0,0 +1,267 @@ +diff --git a/MyFiles.cpp b/MyFiles.cpp +index fdd6b50..fa088eb 100644 +--- a/MyFiles.cpp ++++ b/MyFiles.cpp +@@ -249,6 +249,7 @@ CreateAcceleratorTable(); // Make a new one, w + void FileGenericDirCtrl::DoSize() + { + int w, h; GetClientSize(&w, &h); ++if (w==0 || h==0) return; // Not yet ready for sizing + + GetTreeCtrl()->SetSize(0, HEADER_HEIGHT + 1, w, h - HEADER_HEIGHT - 1); // Set the treectrl 'body' size + headerwindow->SetSize(0, 0, w, HEADER_HEIGHT); // Set the header-window size +diff --git a/MyFrame.cpp b/MyFrame.cpp +index 889feb4..074572c 100644 +--- a/MyFrame.cpp ++++ b/MyFrame.cpp +@@ -619,6 +619,15 @@ Connect(wxID_ANY, PasteThreadType, PasteThreadEventHandler(MyFrame::OnPasteThrea + #if defined __WXX11__ + Connect(wxEVT_IDLE, (wxObjectEventFunction)&MyFrame::OnIdle); + #endif ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ // Workarounds for display glitches with gtk+3.20 ++ m_resizetimer.SetOwner(this, 10000); ++ Connect(10000, wxEVT_TIMER, wxTimerEventHandler(MyFrame::OnResizeTimer), NULL, this); ++ m_resizetimer.Start(10); ++ ++ Layout->m_notebook->StartTimer(); ++#endif + } + + #ifdef __WXX11__ +@@ -631,6 +640,21 @@ Disconnect(wxID_ANY); + } + #endif + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++void MyFrame::OnResizeTimer(wxTimerEvent& WXUNUSED(event)) ++{ ++int x, y; GetSize(&x,&y); ++if (y > 50) ++ { static int count(0); ++ if (++count < 10) return; ++ if (count % 2) SetSize(x-1, y); ++ else SetSize(x+1, y); ++ ++ if (count > 11 && !(count % 2)) m_resizetimer.Stop(); ++ } ++} ++#endif ++ + MyFrame::~MyFrame() + { + m_DragMutex.Unlock(); +@@ -1850,6 +1874,10 @@ MyTab* tab = GetActiveTab(); + if (tab == NULL) return; + + tab->PerformSplit(horizontal); ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ m_resizetimer.Start(10); ++#endif + } + + void MyFrame::SplitVertical(wxCommandEvent& WXUNUSED(event)) +@@ -1858,6 +1886,10 @@ MyTab* tab = GetActiveTab(); + if (tab == NULL) return; + + tab->PerformSplit(vertical); ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ m_resizetimer.Start(10); ++#endif + } + + void MyFrame::Unsplit(wxCommandEvent& WXUNUSED(event)) +@@ -1866,11 +1898,19 @@ MyTab* tab = GetActiveTab(); + if (tab == NULL) return; + + tab->PerformSplit(unsplit); ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ m_resizetimer.Start(10); ++#endif + } + + void MyFrame::OnTabTemplateLoadMenu(wxCommandEvent& event) + { + Layout->m_notebook->LoadTemplate(event.GetId() - SHCUT_TABTEMPLATERANGE_START); ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ m_resizetimer.Start(10); ++#endif + } + + void MyFrame::OnConfigureShortcuts(wxCommandEvent& WXUNUSED(event)) +@@ -2053,6 +2093,10 @@ void LayoutWindows::UnShowBottom() // If bottompanel is visible, unsplit it + if (!m_splitterMain->IsSplit()) return; // Can't unsplit it if it's not split + + m_splitterMain->Unsplit(bottompanel); ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ m_frame->m_resizetimer.Start(10); ++#endif + } + + void LayoutWindows::DoTool(enum toolchoice whichtool) // Invoke the requested tool in the bottom panel +diff --git a/MyFrame.h b/MyFrame.h +index a54d089..85e4ec0 100644 +--- a/MyFrame.h ++++ b/MyFrame.h +@@ -458,6 +458,13 @@ void OnIdle( wxIdleEvent& event ); // One-off to make the toolbar textctrl sh + void OnMouseCaptureLost(wxMouseCaptureLostEvent& event) {OnEndDrag((wxMouseEvent&)event); } // If the mouse escapes, try and do something sensible + #endif + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ void OnResizeTimer(wxTimerEvent& event); ++ public: ++ wxTimer m_resizetimer; ++#endif ++ ++protected: + void OnTextFilepathEnter(wxCommandEvent& WXUNUSED(event)){ TextFilepathEnter(); } + + void DoMiscUI(wxUpdateUIEvent& event); // UpdateUI for misc items +diff --git a/MyNotebook.cpp b/MyNotebook.cpp +index b628627..71faa53 100644 +--- a/MyNotebook.cpp ++++ b/MyNotebook.cpp +@@ -27,6 +27,13 @@ + #include "MyFiles.h" + #include "MyNotebook.h" + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ void ResizeTimer::Notify() ++ { ++ if (m_nb) ++ m_nb->OnTimerResize(); ++ } ++#endif + + MyNotebook::MyNotebook(wxSplitterWindow *main, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) + : wxNotebook((wxWindow*)main, id, pos, size, style) +@@ -48,6 +55,10 @@ UnRedoManager::frame = MyFrame::mainframe; // Tell UnRedoManager's (static) + + DeviceMan = new DeviceAndMountManager; // Organises things to do with mounting partitions & devices + LaunchFromMenu = new LaunchMiscTools; // Launches user-defined external programs & scripts from the Tools menu ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ m_timer = new ResizeTimer(this); ++#endif + } + + MyNotebook::~MyNotebook() +@@ -61,6 +72,10 @@ delete DeleteLocation; + delete BookmarkMan; + } + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ void MyNotebook::StartTimer() { if ( m_timer) m_timer->StartOnce(50); } ++#endif ++ + void MyNotebook::LoadTabs(int TemplateNo /*=-1*/, const wxString& startdir0 /*=""*/, const wxString& startdir1 /*=""*/) // Load the default tabs, or if TemplateNo > -1, load that tab template + { + wxConfigBase* config = wxConfigBase::Get(); if (config==NULL) return; +@@ -123,6 +138,10 @@ for (tab=0; tab < GetPageCount(); ++tab) // We can now safely unhide + + MyFrame::mainframe->GetMenuBar()->Check(SHCUT_SAVETABS_ONEXIT, saveonexit); // Set the menu item check according to bool + DoLoadTemplateMenu(); // Get the correct no of loadable templates listed on the menu ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ StartTimer(); ++#endif + } + + void MyNotebook::DoLoadTemplateMenu() // Get the correct no of loadable templates listed on the menu +@@ -298,8 +317,13 @@ if (after == -1) // -1 flags to append, not + { if (InsertPage(after, page, pageName, true)) ++nextpageno; + else return; // If page couldn't be created, bug out + } ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ StartTimer(); ++#endif + } + ++ + void MyNotebook::AppendTab() + { + CreateTab(GetPageCount()); // By passing GetPageCount(), the correct tabdata should be used +@@ -359,8 +383,18 @@ if (InsertPage(page + 1, duppage, pageName, true)) + #if defined (__WXGTK__) + ShowTabs(true); // Show the tab heads now, as by definition there must be >1 tab + #endif ++ ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ StartTimer(); ++#endif + } + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ void MyNotebook::OnTimerResize() ++ { ++ int x, y; GetSize(&x,&y); SetSize(x-1, y-1); wxSafeYield(); SetSize(x, y); ++ } ++#endif + + void MyNotebook::OnSelChange(wxNotebookEvent& event) + { +diff --git a/MyNotebook.h b/MyNotebook.h +index 8fc36db..0287530 100644 +--- a/MyNotebook.h ++++ b/MyNotebook.h +@@ -17,6 +17,23 @@ class DeviceAndMountManager; + class Bookmarks; + class LaunchMiscTools; + ++#if defined __WXGTK__ ++ #include ++#endif ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ class MyNotebook; ++ ++ class ResizeTimer : public wxTimer ++ { ++ public: ++ ResizeTimer(MyNotebook* nb) : wxTimer(), m_nb(nb) {} ++ void Notify(); ++ ++ protected: ++ MyNotebook* m_nb; ++ }; ++#endif ++ + class MyNotebook : public wxNotebook + { + public: +@@ -38,11 +55,19 @@ void OnAdvanceSelection(wxCommandEvent& event){AdvanceSelection(event.GetId() == + void OnSameTabSize(wxCommandEvent& event){ EqualSizedTabs = ! EqualSizedTabs; EqualWidthTabs(EqualSizedTabs); } + #endif + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ void OnTimerResize(); ++#endif ++ + void LoadTemplate(int TemplateNo); // Triggered by a menu event, loads the selected tab template + void SaveDefaults(int TemplateNo = -1, const wxString& title = wxT(""));// Save current tab setup. If TemplateNo > -1 save as a template; otherwise just do a 'normal' save + void SaveAsTemplate(); // Save the current tab setup as a template + void DeleteTemplate(); // Delete an existing template + ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ void StartTimer(); ++#endif ++ + DirectoryForDeletions* DeleteLocation; // Organises unique dirnames for deleted/trashed files + UnRedoManager* UnRedoMan; // The sole instance of UnRedoManager + DeviceAndMountManager* DeviceMan; // Find where floppy, cds are +@@ -76,6 +101,9 @@ void RenameTab(); + void EqualWidthTabs(bool equal_tabs); + #endif + int nextpageno; ++#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) ++ ResizeTimer* m_timer; ++#endif + private: + DECLARE_EVENT_TABLE() + }; diff --git a/4Pane.spec b/4Pane.spec index 9c7e119..430c079 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,12 +8,15 @@ Name: 4Pane Version: 4.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz +# Patch from the upstream to fix sizing and color issue with +# GTK 3.20 (bug 1345924) +Patch0: 4Pane-4.0-gtk320-sizing.patch BuildRequires: bzip2-devel BuildRequires: xz-devel @@ -51,6 +54,8 @@ git add . git commit -m "base" -q %endif +%patch0 -p1 -b .gtk320 + sed -i.cflags configure \ -e '\@[ \t]\{5,\}C.*FLAGS[ \t]*=[ \t]*$@d' @@ -118,6 +123,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Sun Jun 19 2016 Mamoru TASAKA - 4.0-2 +- Patch from the upstream to fix sizing and color issue with + GTK 3.20 (bug 1345924) + * Thu Apr 07 2016 Mamoru TASAKA - 4.0-1 - 4.0 - Enable hardened build again From 59968aaf45cd569d93d41446c4232c0e5fb3e193 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 04:57:48 +0000 Subject: [PATCH 08/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 430c079..705b5e1 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 4.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -123,6 +123,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Sun Jun 19 2016 Mamoru TASAKA - 4.0-2 - Patch from the upstream to fix sizing and color issue with GTK 3.20 (bug 1345924) From a766c18a3d0662f630a722e19b1c42b84350f9c4 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 19 Jul 2017 15:49:07 +0900 Subject: [PATCH 09/47] 5.0 --- .gitignore | 1 + 4Pane.spec | 11 ++++++----- sources | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index a6938e9..4acf94d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /4pane-3.0.tar.gz /4pane-4.0.tar.gz +/4pane-5.0.tar.gz diff --git a/4Pane.spec b/4Pane.spec index 705b5e1..de30cfd 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -7,8 +7,8 @@ %define _docdir_fmt %{NAME} Name: 4Pane -Version: 4.0 -Release: 3%{?dist} +Version: 5.0 +Release: 1%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -16,7 +16,7 @@ URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz # Patch from the upstream to fix sizing and color issue with # GTK 3.20 (bug 1345924) -Patch0: 4Pane-4.0-gtk320-sizing.patch +#Patch0: 4Pane-4.0-gtk320-sizing.patch BuildRequires: bzip2-devel BuildRequires: xz-devel @@ -54,8 +54,6 @@ git add . git commit -m "base" -q %endif -%patch0 -p1 -b .gtk320 - sed -i.cflags configure \ -e '\@[ \t]\{5,\}C.*FLAGS[ \t]*=[ \t]*$@d' @@ -123,6 +121,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 19 2017 Mamoru TASAKA - 5.0-1 +- 5.0 + * Fri Feb 10 2017 Fedora Release Engineering - 4.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index b9ac302..8d4ac1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7e447b92a7704c3c12dab65957099475 4pane-4.0.tar.gz +SHA512 (4pane-5.0.tar.gz) = 45e9b135f1d394f3050366997b0057929e6726dfc764f40346e9bae0ad279b66d843c2d72a6f6ec4cf0e8a188ca787ab073a9671ebb79cc06b28a8819bc4b95b From 1a5a2102c024c973387556c4fe4e9ee3619f73c6 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 19 Jul 2017 16:01:44 +0900 Subject: [PATCH 10/47] add gettext BR --- 4Pane.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/4Pane.spec b/4Pane.spec index de30cfd..3ddd2d8 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -23,6 +23,7 @@ BuildRequires: xz-devel BuildRequires: wxGTK3-devel BuildRequires: %{_bindir}/desktop-file-install BuildRequires: %{_bindir}/appstream-util +BuildRequires: gettext BuildRequires: git %description From 6275ee082721ba9ed5ebc1c35399353c903a0617 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 01:37:37 +0000 Subject: [PATCH 11/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 3ddd2d8..9cb65d2 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -122,6 +122,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Wed Jul 19 2017 Mamoru TASAKA - 5.0-1 - 5.0 From 9e9866833cb6b11803ab08d2a3ee35e113a297ad Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 16:45:58 +0000 Subject: [PATCH 12/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 9cb65d2..92b2dad 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -122,6 +122,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From e052c23f6689c335847b34e648a14f45f933b251 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 7 Jan 2018 18:57:47 +0100 Subject: [PATCH 13/47] Remove obsolete scriptlets Signed-off-by: Igor Gnatenko --- 4Pane.spec | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 92b2dad..bf73dce 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -93,18 +93,6 @@ appstream-util validate-relax --nonet \ # Once remove document and let %%doc re-install them rm -rf %{buildroot}%{_docdir}/%{name} -%post -touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun -if [ $1 -eq 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 || : - %files -f %{name}.lang %license LICENCE %doc doc/* @@ -122,6 +110,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Sun Jan 07 2018 Igor Gnatenko - 5.0-4 +- Remove obsolete scriptlets + * Wed Aug 02 2017 Fedora Release Engineering - 5.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From e55d99094d77f07b4c9a1933bdf3f1542e0bcc9d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 00:22:00 +0000 Subject: [PATCH 14/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index bf73dce..2c56762 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -110,6 +110,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 5.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sun Jan 07 2018 Igor Gnatenko - 5.0-4 - Remove obsolete scriptlets From 863a0b1f9c0063cb318864194087b71f9ca307d8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:41 +0200 Subject: [PATCH 15/47] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- 4Pane.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/4Pane.spec b/4Pane.spec index 2c56762..506fdd3 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -18,6 +18,7 @@ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz # GTK 3.20 (bug 1345924) #Patch0: 4Pane-4.0-gtk320-sizing.patch +BuildRequires: gcc BuildRequires: bzip2-devel BuildRequires: xz-devel BuildRequires: wxGTK3-devel From 5f01994cd46c4615e0703ae16caa6442bc5e0098 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 18:53:03 +0000 Subject: [PATCH 16/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 506fdd3..62bf7d5 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Feb 07 2018 Fedora Release Engineering - 5.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 755a49287d3bc4fb78bd176609dbe0bf9a03876a Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 13 Jul 2018 21:58:46 +0900 Subject: [PATCH 17/47] Fix BR --- 4Pane.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 62bf7d5..6c5efa4 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -18,7 +18,7 @@ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz # GTK 3.20 (bug 1345924) #Patch0: 4Pane-4.0-gtk320-sizing.patch -BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: bzip2-devel BuildRequires: xz-devel BuildRequires: wxGTK3-devel From 2a68143c2bf39ebd4854554b24030eea1f611092 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 11:19:37 +0000 Subject: [PATCH 18/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 6c5efa4..409658d 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 5.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jul 12 2018 Fedora Release Engineering - 5.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From d6a44da47c2af20300acf95bc2815305a47a8216 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 15:36:58 +0000 Subject: [PATCH 19/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 409658d..2447194 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 5.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 5.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 5.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From c4b83d1e64468cb1ea31c4787cee93eac9c05800 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 30 Dec 2019 14:02:51 +0900 Subject: [PATCH 20/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild --- .gitignore | 1 + 4Pane.spec | 8 ++++---- sources | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 4acf94d..3991018 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /4pane-3.0.tar.gz /4pane-4.0.tar.gz /4pane-5.0.tar.gz +/4pane-6.0.tar.gz diff --git a/4Pane.spec b/4Pane.spec index 2447194..8d3eec7 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -7,8 +7,8 @@ %define _docdir_fmt %{NAME} Name: 4Pane -Version: 5.0 -Release: 8%{?dist} +Version: 6.0 +Release: 1%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -87,7 +87,7 @@ install -cpm 644 4Pane.1 %{buildroot}%{_mandir}/man1/ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet \ - %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml + %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml %find_lang %{name} @@ -104,7 +104,7 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* -%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/metainfo/%{name}.appdata.xml %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop diff --git a/sources b/sources index 8d4ac1a..efc849a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (4pane-5.0.tar.gz) = 45e9b135f1d394f3050366997b0057929e6726dfc764f40346e9bae0ad279b66d843c2d72a6f6ec4cf0e8a188ca787ab073a9671ebb79cc06b28a8819bc4b95b +SHA512 (4pane-6.0.tar.gz) = d64f646d59b85ba06586c989fe7bc231f45dfb5007e300ecbca0c5b5a4d8fa0cef0f5fca91c32362161c84d191491d2bf18ab3fa5eabcdee5efd36dd7d51620e From 023b3a559bcf1dcce4f79a562c57d78cb693560d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 09:08:05 +0000 Subject: [PATCH 21/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 8d3eec7..12f3eba 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Jul 24 2019 Fedora Release Engineering - 5.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 7edfced30ab04e409e7984f766ec0fb8e567b833 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 10:10:22 +0000 Subject: [PATCH 22/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 12f3eba..73dbbe3 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 6.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 5627939ff317bcbe74d5ace4f5767ee06b4e96fd Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Tue, 8 Dec 2020 22:30:22 +0900 Subject: [PATCH 23/47] 7.0 --- .gitignore | 1 + 4Pane.spec | 10 ++++++++-- sources | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3991018..22b5f8c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /4pane-4.0.tar.gz /4pane-5.0.tar.gz /4pane-6.0.tar.gz +/4pane-7.0.tar.gz diff --git a/4Pane.spec b/4Pane.spec index 73dbbe3..99bea1a 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -7,8 +7,8 @@ %define _docdir_fmt %{NAME} Name: 4Pane -Version: 6.0 -Release: 3%{?dist} +Version: 7.0 +Release: 1%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,12 +111,18 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Tue Dec 8 2020 Mamoru TASAKA - 7.0-1 +- 7.0 + * Mon Jul 27 2020 Fedora Release Engineering - 6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jan 28 2020 Fedora Release Engineering - 6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +* Mon Dec 30 2010 Mamoru TASAKA - 6.0-1 +- 6.0 + * Wed Jul 24 2019 Fedora Release Engineering - 5.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index efc849a..d94cbc1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (4pane-6.0.tar.gz) = d64f646d59b85ba06586c989fe7bc231f45dfb5007e300ecbca0c5b5a4d8fa0cef0f5fca91c32362161c84d191491d2bf18ab3fa5eabcdee5efd36dd7d51620e +SHA512 (4pane-7.0.tar.gz) = a592a22fac9aed560e576cb4cb7c9f2375b6b3f2db94cfb50d2055d2d2a11d6b88f62989e1963eca23d7ae46fdaa5e51b7f2058b2190dda6a9b5d7b6c3cec3ee From 81b80d7114f791e4987b43939cd6ab09c03105f5 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 15 Dec 2020 01:33:52 +0000 Subject: [PATCH 24/47] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- 4Pane.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/4Pane.spec b/4Pane.spec index 99bea1a..300279e 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -26,6 +26,7 @@ BuildRequires: %{_bindir}/desktop-file-install BuildRequires: %{_bindir}/appstream-util BuildRequires: gettext BuildRequires: git +BuildRequires: make %description 4Pane is a multi-pane, detailed-list file manager. It is designed From f6aaa6f26e0a58c1f3d679fdc987caf6e8e68d7b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 25 Jan 2021 22:13:22 +0000 Subject: [PATCH 25/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 300279e..2fc453c 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 7.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -112,6 +112,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Mon Jan 25 2021 Fedora Release Engineering - 7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Dec 8 2020 Mamoru TASAKA - 7.0-1 - 7.0 From 410e34e9bc577126353ad11352c0404af58265e9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 10:41:43 +0000 Subject: [PATCH 26/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 986f717ad66f63ad7c5f4245f584578228442e01 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 15:36:09 +0000 Subject: [PATCH 27/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 2fc453c..ff7bec0 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 7.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -112,6 +112,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Mon Jan 25 2021 Fedora Release Engineering - 7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From b7dbc18fcb806717bd9f1cc2bf63d343320262f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 19:10:32 +0000 Subject: [PATCH 28/47] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index ff7bec0..4e0f2be 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 7.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -112,6 +112,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 7.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From e4fcad97e309b1dd14a2848214b9142302ff78af Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 18:23:25 +0000 Subject: [PATCH 29/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 4e0f2be..65068a4 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 7.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -112,6 +112,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 7.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jan 19 2022 Fedora Release Engineering - 7.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From ae35e5c22ff9161a17917100dc3b4e8e8ac5a333 Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Fri, 5 Aug 2022 18:02:54 -0400 Subject: [PATCH 30/47] Rebuild with wxWidgets 3.2 --- 4Pane-7.0-wx3.2.patch | 140 ++++++++++++++++++++++++++++++++++++++++++ 4Pane.spec | 11 +++- 2 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 4Pane-7.0-wx3.2.patch diff --git a/4Pane-7.0-wx3.2.patch b/4Pane-7.0-wx3.2.patch new file mode 100644 index 0000000..52dcce8 --- /dev/null +++ b/4Pane-7.0-wx3.2.patch @@ -0,0 +1,140 @@ +From 66ae9a6f2ac526d80559967cda428cd48e5859ee Mon Sep 17 00:00:00 2001 +From: dghart +Date: Sat, 12 Feb 2022 15:45:54 +0000 +Subject: [PATCH] Compilation fixes for wxWidgets 3.1.6 + +Workarounds for the addition of wxBitmapBundle. +--- + Devices.cpp | 4 ++++ + MyDirs.cpp | 9 +++++++++ + MyTreeCtrl.cpp | 49 ++++++++++++++++++++++++++++++++++++++----------- + 3 files changed, 51 insertions(+), 11 deletions(-) + +diff --git a/Devices.cpp b/Devices.cpp +index 5b8cfe9..dc77cdc 100644 +--- a/Devices.cpp ++++ b/Devices.cpp +@@ -210,7 +210,11 @@ wxString bitmap; config->Read(Rootname+subgrp+wxT("/Bitmap"), &bitmap); + wxString tooltip; config->Read(Rootname+subgrp+wxT("/Tooltip"), &tooltip); + + bitmap = BITMAPSDIR + bitmap; ++#if wxVERSION_NUMBER > 3105 ++Create(MyFrame::mainframe->panelette, -1, wxBitmapBundle::FromBitmap(bitmap), wxDefaultPosition, wxDefaultSize, wxNO_BORDER); ++#else + Create(MyFrame::mainframe->panelette, -1, bitmap, wxDefaultPosition, wxDefaultSize, wxNO_BORDER); ++#endif + SetToolTip(tooltip); + } + +diff --git a/MyDirs.cpp b/MyDirs.cpp +index 68f41a8..f370d5b 100644 +--- a/MyDirs.cpp ++++ b/MyDirs.cpp +@@ -522,10 +522,19 @@ for (size_t n=0; n < count; ++n) + array->Item(n)->tooltip, wxITEM_NORMAL); + else + { if (array->Item(n)->bitmaplocation.AfterLast(('/')) == wxT("MyDocuments.xpm")) // If Documents and the label is empty, supply a default ++#if wxVERSION_NUMBER > 3105 ++ toolBar->AddTool(IDM_TOOLBAR_bmfirst+n, label.empty() ? wxString(_("Documents")) : label,wxBitmapBundle::FromBitmap(array->Item(n)->bitmaplocation), ++ array->Item(n)->tooltip, wxITEM_NORMAL); ++ else ++ toolBar->AddTool(IDM_TOOLBAR_bmfirst + n, label, wxBitmapBundle::FromBitmap(array->Item(n)->bitmaplocation), array->Item(n)->tooltip, wxITEM_NORMAL); ++ ++#else + toolBar->AddTool(IDM_TOOLBAR_bmfirst+n, label.empty() ? wxString(_("Documents")) : label, array->Item(n)->bitmaplocation, ++ + array->Item(n)->tooltip, wxITEM_NORMAL); + else + toolBar->AddTool(IDM_TOOLBAR_bmfirst + n, label, array->Item(n)->bitmaplocation, array->Item(n)->tooltip, wxITEM_NORMAL); ++#endif //wxVERSION_NUMBER > 3105 + } + } + +diff --git a/MyTreeCtrl.cpp b/MyTreeCtrl.cpp +index bc1b607..735b6cf 100644 +--- a/MyTreeCtrl.cpp ++++ b/MyTreeCtrl.cpp +@@ -1336,7 +1336,27 @@ void MyTreeCtrl::PaintLevel(wxGenericTreeItem *item, wxDC &dc, int level, int &y + dc.DrawLine(3, y_mid, x - 5, y_mid); + dc.DrawLine(x + 5, y_mid, x + m_spacing, y_mid); + } ++#if wxVERSION_NUMBER > 3105 ++ if ( m_imagesButtons.HasImages() ) ++ { ++ // draw the image button here ++ int image_h = 0, image_w = 0; ++ int image = item->IsExpanded() ? wxTreeItemIcon_Expanded ++ : wxTreeItemIcon_Normal; ++ if ( item->IsSelected() ) ++ image += wxTreeItemIcon_Selected - wxTreeItemIcon_Normal; ++ ++ wxImageList* const ++ imageListButtons = m_imagesButtons.GetImageList(); ++ imageListButtons->GetSize(image, image_w, image_h); ++ int xx = x - image_w/2; ++ int yy = y_mid - image_h/2; + ++ wxDCClipper clip(dc, xx, yy, image_w, image_h); ++ imageListButtons->Draw(image, dc, xx, yy, ++ wxIMAGELIST_DRAW_TRANSPARENT); ++ } ++#else // !wxVERSION_NUMBER > 3105 + if (m_imageListButtons != NULL) + { + // draw the image button here +@@ -1352,9 +1372,10 @@ void MyTreeCtrl::PaintLevel(wxGenericTreeItem *item, wxDC &dc, int level, int &y + wxIMAGELIST_DRAW_TRANSPARENT); + dc.DestroyClippingRegion(); + } +- ++#endif + } + } ++ + else // no custom buttons + { + static const int wImage = 9; +@@ -1495,15 +1516,17 @@ if (headerwindow->IsHidden(i)) continue; // // + image = NO_IMAGE; // //item->GetImage(i); + } + +- if(image != NO_IMAGE) +- { +- if(m_imageListNormal) { +- m_imageListNormal->GetSize(image, image_w, image_h); +- image_w += 4; +- } +- else { +- image = NO_IMAGE; +- } ++ if (image != NO_IMAGE) ++ { ++#if wxVERSION_NUMBER > 3105 ++ if (GetImageList()) { ++ GetImageList()->GetSize(image, image_w, image_h); ++#else ++ if (m_imageListNormal) { ++ m_imageListNormal->GetSize(image, image_w, image_h); ++#endif // wxVERSION_NUMBER > 3105 ++ image_w += 4; ++ } else { image = NO_IMAGE; } + } + + // honor text alignment +@@ -1581,8 +1604,12 @@ if (headerwindow->IsHidden(i)) continue; // // + item->GetY() + extraH, clip_width, + total_h); + +- if(image != NO_IMAGE) { ++ if (image != NO_IMAGE) { ++#if wxVERSION_NUMBER > 3105 ++ GetImageList()->Draw(image, dc, image_x, ++#else + m_imageListNormal->Draw(image, dc, image_x, ++#endif + item->GetY() +((total_h > image_h)? + ((total_h-image_h)/2):0), + wxIMAGELIST_DRAW_TRANSPARENT); +-- +2.37.1 + diff --git a/4Pane.spec b/4Pane.spec index 65068a4..233e90a 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 7.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -17,11 +17,12 @@ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz # Patch from the upstream to fix sizing and color issue with # GTK 3.20 (bug 1345924) #Patch0: 4Pane-4.0-gtk320-sizing.patch +Patch0: 4Pane-7.0-wx3.2.patch BuildRequires: gcc-c++ BuildRequires: bzip2-devel BuildRequires: xz-devel -BuildRequires: wxGTK3-devel +BuildRequires: wxGTK-devel BuildRequires: %{_bindir}/desktop-file-install BuildRequires: %{_bindir}/appstream-util BuildRequires: gettext @@ -40,6 +41,7 @@ tools. %prep %setup -q -n 4pane-%{version} +%patch0 -p1 %if 0 cat > .gitignore < - 7.0-6 +- Rebuild with wxWidgets 3.2 + * Wed Jul 20 2022 Fedora Release Engineering - 7.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From eff3b1f6e8855c76d73ee27e596f9e00c35d5157 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 7 Aug 2022 13:59:07 +0900 Subject: [PATCH 31/47] add upstream comment --- 4Pane.spec | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 233e90a..7833944 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -14,10 +14,8 @@ Summary: Multi-pane, detailed-list file manager License: GPLv3 URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz -# Patch from the upstream to fix sizing and color issue with -# GTK 3.20 (bug 1345924) -#Patch0: 4Pane-4.0-gtk320-sizing.patch -Patch0: 4Pane-7.0-wx3.2.patch +# https://sourceforge.net/p/fourpane/git4pane/ci/66ae9a6f2ac526d80559967cda428cd48e5859ee/ +Patch0: 4Pane-7.0-wx3.2.patch BuildRequires: gcc-c++ BuildRequires: bzip2-devel @@ -27,7 +25,7 @@ BuildRequires: %{_bindir}/desktop-file-install BuildRequires: %{_bindir}/appstream-util BuildRequires: gettext BuildRequires: git -BuildRequires: make +BuildRequires: make %description 4Pane is a multi-pane, detailed-list file manager. It is designed From c98cae7d8b34a1a51382749c9c52d25da8753599 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 25 Nov 2022 11:31:59 +0900 Subject: [PATCH 32/47] 8.0 --- .gitignore | 6 +----- 4Pane.spec | 8 +++++--- sources | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 22b5f8c..bd1a2bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1 @@ -/4pane-3.0.tar.gz -/4pane-4.0.tar.gz -/4pane-5.0.tar.gz -/4pane-6.0.tar.gz -/4pane-7.0.tar.gz +/4pane-*.tar.gz diff --git a/4Pane.spec b/4Pane.spec index 7833944..5f2f1e4 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -7,8 +7,8 @@ %define _docdir_fmt %{NAME} Name: 4Pane -Version: 7.0 -Release: 6%{?dist} +Version: 8.0 +Release: 1%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -39,7 +39,6 @@ tools. %prep %setup -q -n 4pane-%{version} -%patch0 -p1 %if 0 cat > .gitignore < - 8.0-1 +- 8.0 + * Thu Aug 04 2022 Scott Talbert - 7.0-6 - Rebuild with wxWidgets 3.2 diff --git a/sources b/sources index d94cbc1..06a96ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (4pane-7.0.tar.gz) = a592a22fac9aed560e576cb4cb7c9f2375b6b3f2db94cfb50d2055d2d2a11d6b88f62989e1963eca23d7ae46fdaa5e51b7f2058b2190dda6a9b5d7b6c3cec3ee +SHA512 (4pane-8.0.tar.gz) = 65c7575a08b9dad28c86a71c30c7671ebaf80cd7f89a81b94402ea3a522f0d9922221ac0f0714b851839d51cca70b8905fb109469aab254f2b574863be537fa8 From 6367e49494ec31baad61a6a887b742ed9fc00c27 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 25 Nov 2022 15:11:59 +0900 Subject: [PATCH 33/47] detect wx-config-3.x version --- 4Pane.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 5f2f1e4..6e5cfe1 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 1%{?dist} +Release: 1%{?dist}.1 Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -60,7 +60,7 @@ sed -i.cflags configure \ -e '\@[ \t]\{5,\}C.*FLAGS[ \t]*=[ \t]*$@d' %build -export WX_CONFIG_NAME=wx-config-3.2 +export WX_CONFIG_NAME=$(ls -1 %{_bindir}/wx-config-3.* | sort | tail -n 1) export EXTRA_CXXFLAGS="%{optflags}" # --without-builtin_bzip2 means using system bzip2 From 2ecd1fcac572a37779e322b443c688d60fcf7508 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 25 Nov 2022 15:13:02 +0900 Subject: [PATCH 34/47] bump release --- 4Pane.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 6e5cfe1..1ecbbfb 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 1%{?dist}.1 +Release: 2%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,7 +111,7 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog -* Fri Nov 25 2022 Mamoru TASAKA - 8.0-1 +* Fri Nov 25 2022 Mamoru TASAKA - 8.0-2 - 8.0 * Thu Aug 04 2022 Scott Talbert - 7.0-6 From 289f7ee297efa01eda3dea2552f8a31de1f6adcc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 19:34:52 +0000 Subject: [PATCH 35/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 1ecbbfb..476009e 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Nov 25 2022 Mamoru TASAKA - 8.0-2 - 8.0 From 22986aded456be338193cdb2024fa1008bdc455a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 10:54:25 +0000 Subject: [PATCH 36/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 476009e..7aeae78 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Wed Jan 18 2023 Fedora Release Engineering - 8.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 4c235a142e6195c81b23ff3f001a7c484633815f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jan 2024 12:00:49 +0000 Subject: [PATCH 37/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 7aeae78..9b3cc84 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Thu Jan 18 2024 Fedora Release Engineering - 8.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jul 19 2023 Fedora Release Engineering - 8.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 2745379cc98966f705e57272d5a6697620e83748 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 09:06:17 +0000 Subject: [PATCH 38/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 9b3cc84..4c15492 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 8.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jan 18 2024 Fedora Release Engineering - 8.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 238655c7fc8cef0b4cf88cbf51df0bfe6c431f31 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 20:40:01 +0000 Subject: [PATCH 39/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 4c15492..21da87a 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Multi-pane, detailed-list file manager License: GPLv3 @@ -111,6 +111,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 8.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 8.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 1de491c71fbc88c2957d387b6922d378131860a3 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 26 Jan 2024 14:34:27 +0900 Subject: [PATCH 40/47] SPDX migration --- 4Pane.spec | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/4Pane.spec b/4Pane.spec index 21da87a..a6325fc 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,10 +8,15 @@ Name: 4Pane Version: 8.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Multi-pane, detailed-list file manager -License: GPLv3 +# Overall GPL-3.0-only +# 4Pane.appdata.xml CC0-1.0 +# Accelerators.cpp and etc LGPL-2.0-or-later (wxWindows) +# sdk/bzip/LICENSE bzip2-1.0.6 (unused) +# SPDX confirmed +License: GPL-3.0-only AND LGPL-2.0-or-later AND CC0-1.0 URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz # https://sourceforge.net/p/fourpane/git4pane/ci/66ae9a6f2ac526d80559967cda428cd48e5859ee/ @@ -21,8 +26,8 @@ BuildRequires: gcc-c++ BuildRequires: bzip2-devel BuildRequires: xz-devel BuildRequires: wxGTK-devel -BuildRequires: %{_bindir}/desktop-file-install -BuildRequires: %{_bindir}/appstream-util +BuildRequires: /usr/bin/desktop-file-install +BuildRequires: /usr/bin/appstream-util BuildRequires: gettext BuildRequires: git BuildRequires: make @@ -50,7 +55,7 @@ config.h.in EOF git init -git config user.email "4Pane-owner@fedoraproject.org" +git config user.email "4Pane-maintainers@fedoraproject.org" git config user.name "4Pane owners" git add . git commit -m "base" -q @@ -68,11 +73,10 @@ export EXTRA_CXXFLAGS="%{optflags}" --disable-desktop \ --without-builtin_bzip2 || \ { sleep 5 ; cat config.log ; sleep 10 ; exit 1; } -make %{?_smp_mflags} +%make_build %install -%make_install \ - INSTALL="install -p" +%make_install # Some manual installation mkdir -p %{buildroot}%{_datadir}/applications @@ -85,15 +89,16 @@ install -cpm 644 bitmaps/%{name}Icon48.png %{buildroot}%{_datadir}/icons/hicolor mkdir -p %{buildroot}%{_mandir}/man1 install -cpm 644 4Pane.1 %{buildroot}%{_mandir}/man1/ -desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop -appstream-util validate-relax --nonet \ - %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml - %find_lang %{name} # Once remove document and let %%doc re-install them rm -rf %{buildroot}%{_docdir}/%{name} +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop +appstream-util validate-relax --nonet \ + %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml + %files -f %{name}.lang %license LICENCE %doc doc/* @@ -111,6 +116,9 @@ rm -rf %{buildroot}%{_docdir}/%{name} %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Fri Jan 26 2024 Mamoru TASAKA - 8.0-8 +- SPDX migration + * Mon Jan 22 2024 Fedora Release Engineering - 8.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From c0ef639e8c9ed5ebe808150c4c113c1e445743cd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 14:40:21 +0000 Subject: [PATCH 41/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index a6325fc..be409ab 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Multi-pane, detailed-list file manager # Overall GPL-3.0-only @@ -116,6 +116,9 @@ appstream-util validate-relax --nonet \ %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 8.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jan 26 2024 Mamoru TASAKA - 8.0-8 - SPDX migration From dea8c2aba22194db5a04bfdb265c773eab583e79 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 10 Jan 2025 11:14:13 +0900 Subject: [PATCH 42/47] remove no longer needed patches --- 4Pane-4.0-gtk320-sizing.patch | 267 ---------------------------------- 4Pane-7.0-wx3.2.patch | 140 ------------------ 4Pane.spec | 2 - 3 files changed, 409 deletions(-) delete mode 100644 4Pane-4.0-gtk320-sizing.patch delete mode 100644 4Pane-7.0-wx3.2.patch diff --git a/4Pane-4.0-gtk320-sizing.patch b/4Pane-4.0-gtk320-sizing.patch deleted file mode 100644 index e25188d..0000000 --- a/4Pane-4.0-gtk320-sizing.patch +++ /dev/null @@ -1,267 +0,0 @@ -diff --git a/MyFiles.cpp b/MyFiles.cpp -index fdd6b50..fa088eb 100644 ---- a/MyFiles.cpp -+++ b/MyFiles.cpp -@@ -249,6 +249,7 @@ CreateAcceleratorTable(); // Make a new one, w - void FileGenericDirCtrl::DoSize() - { - int w, h; GetClientSize(&w, &h); -+if (w==0 || h==0) return; // Not yet ready for sizing - - GetTreeCtrl()->SetSize(0, HEADER_HEIGHT + 1, w, h - HEADER_HEIGHT - 1); // Set the treectrl 'body' size - headerwindow->SetSize(0, 0, w, HEADER_HEIGHT); // Set the header-window size -diff --git a/MyFrame.cpp b/MyFrame.cpp -index 889feb4..074572c 100644 ---- a/MyFrame.cpp -+++ b/MyFrame.cpp -@@ -619,6 +619,15 @@ Connect(wxID_ANY, PasteThreadType, PasteThreadEventHandler(MyFrame::OnPasteThrea - #if defined __WXX11__ - Connect(wxEVT_IDLE, (wxObjectEventFunction)&MyFrame::OnIdle); - #endif -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ // Workarounds for display glitches with gtk+3.20 -+ m_resizetimer.SetOwner(this, 10000); -+ Connect(10000, wxEVT_TIMER, wxTimerEventHandler(MyFrame::OnResizeTimer), NULL, this); -+ m_resizetimer.Start(10); -+ -+ Layout->m_notebook->StartTimer(); -+#endif - } - - #ifdef __WXX11__ -@@ -631,6 +640,21 @@ Disconnect(wxID_ANY); - } - #endif - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+void MyFrame::OnResizeTimer(wxTimerEvent& WXUNUSED(event)) -+{ -+int x, y; GetSize(&x,&y); -+if (y > 50) -+ { static int count(0); -+ if (++count < 10) return; -+ if (count % 2) SetSize(x-1, y); -+ else SetSize(x+1, y); -+ -+ if (count > 11 && !(count % 2)) m_resizetimer.Stop(); -+ } -+} -+#endif -+ - MyFrame::~MyFrame() - { - m_DragMutex.Unlock(); -@@ -1850,6 +1874,10 @@ MyTab* tab = GetActiveTab(); - if (tab == NULL) return; - - tab->PerformSplit(horizontal); -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ m_resizetimer.Start(10); -+#endif - } - - void MyFrame::SplitVertical(wxCommandEvent& WXUNUSED(event)) -@@ -1858,6 +1886,10 @@ MyTab* tab = GetActiveTab(); - if (tab == NULL) return; - - tab->PerformSplit(vertical); -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ m_resizetimer.Start(10); -+#endif - } - - void MyFrame::Unsplit(wxCommandEvent& WXUNUSED(event)) -@@ -1866,11 +1898,19 @@ MyTab* tab = GetActiveTab(); - if (tab == NULL) return; - - tab->PerformSplit(unsplit); -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ m_resizetimer.Start(10); -+#endif - } - - void MyFrame::OnTabTemplateLoadMenu(wxCommandEvent& event) - { - Layout->m_notebook->LoadTemplate(event.GetId() - SHCUT_TABTEMPLATERANGE_START); -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ m_resizetimer.Start(10); -+#endif - } - - void MyFrame::OnConfigureShortcuts(wxCommandEvent& WXUNUSED(event)) -@@ -2053,6 +2093,10 @@ void LayoutWindows::UnShowBottom() // If bottompanel is visible, unsplit it - if (!m_splitterMain->IsSplit()) return; // Can't unsplit it if it's not split - - m_splitterMain->Unsplit(bottompanel); -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ m_frame->m_resizetimer.Start(10); -+#endif - } - - void LayoutWindows::DoTool(enum toolchoice whichtool) // Invoke the requested tool in the bottom panel -diff --git a/MyFrame.h b/MyFrame.h -index a54d089..85e4ec0 100644 ---- a/MyFrame.h -+++ b/MyFrame.h -@@ -458,6 +458,13 @@ void OnIdle( wxIdleEvent& event ); // One-off to make the toolbar textctrl sh - void OnMouseCaptureLost(wxMouseCaptureLostEvent& event) {OnEndDrag((wxMouseEvent&)event); } // If the mouse escapes, try and do something sensible - #endif - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ void OnResizeTimer(wxTimerEvent& event); -+ public: -+ wxTimer m_resizetimer; -+#endif -+ -+protected: - void OnTextFilepathEnter(wxCommandEvent& WXUNUSED(event)){ TextFilepathEnter(); } - - void DoMiscUI(wxUpdateUIEvent& event); // UpdateUI for misc items -diff --git a/MyNotebook.cpp b/MyNotebook.cpp -index b628627..71faa53 100644 ---- a/MyNotebook.cpp -+++ b/MyNotebook.cpp -@@ -27,6 +27,13 @@ - #include "MyFiles.h" - #include "MyNotebook.h" - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ void ResizeTimer::Notify() -+ { -+ if (m_nb) -+ m_nb->OnTimerResize(); -+ } -+#endif - - MyNotebook::MyNotebook(wxSplitterWindow *main, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) - : wxNotebook((wxWindow*)main, id, pos, size, style) -@@ -48,6 +55,10 @@ UnRedoManager::frame = MyFrame::mainframe; // Tell UnRedoManager's (static) - - DeviceMan = new DeviceAndMountManager; // Organises things to do with mounting partitions & devices - LaunchFromMenu = new LaunchMiscTools; // Launches user-defined external programs & scripts from the Tools menu -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ m_timer = new ResizeTimer(this); -+#endif - } - - MyNotebook::~MyNotebook() -@@ -61,6 +72,10 @@ delete DeleteLocation; - delete BookmarkMan; - } - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ void MyNotebook::StartTimer() { if ( m_timer) m_timer->StartOnce(50); } -+#endif -+ - void MyNotebook::LoadTabs(int TemplateNo /*=-1*/, const wxString& startdir0 /*=""*/, const wxString& startdir1 /*=""*/) // Load the default tabs, or if TemplateNo > -1, load that tab template - { - wxConfigBase* config = wxConfigBase::Get(); if (config==NULL) return; -@@ -123,6 +138,10 @@ for (tab=0; tab < GetPageCount(); ++tab) // We can now safely unhide - - MyFrame::mainframe->GetMenuBar()->Check(SHCUT_SAVETABS_ONEXIT, saveonexit); // Set the menu item check according to bool - DoLoadTemplateMenu(); // Get the correct no of loadable templates listed on the menu -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ StartTimer(); -+#endif - } - - void MyNotebook::DoLoadTemplateMenu() // Get the correct no of loadable templates listed on the menu -@@ -298,8 +317,13 @@ if (after == -1) // -1 flags to append, not - { if (InsertPage(after, page, pageName, true)) ++nextpageno; - else return; // If page couldn't be created, bug out - } -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ StartTimer(); -+#endif - } - -+ - void MyNotebook::AppendTab() - { - CreateTab(GetPageCount()); // By passing GetPageCount(), the correct tabdata should be used -@@ -359,8 +383,18 @@ if (InsertPage(page + 1, duppage, pageName, true)) - #if defined (__WXGTK__) - ShowTabs(true); // Show the tab heads now, as by definition there must be >1 tab - #endif -+ -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ StartTimer(); -+#endif - } - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ void MyNotebook::OnTimerResize() -+ { -+ int x, y; GetSize(&x,&y); SetSize(x-1, y-1); wxSafeYield(); SetSize(x, y); -+ } -+#endif - - void MyNotebook::OnSelChange(wxNotebookEvent& event) - { -diff --git a/MyNotebook.h b/MyNotebook.h -index 8fc36db..0287530 100644 ---- a/MyNotebook.h -+++ b/MyNotebook.h -@@ -17,6 +17,23 @@ class DeviceAndMountManager; - class Bookmarks; - class LaunchMiscTools; - -+#if defined __WXGTK__ -+ #include -+#endif -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ class MyNotebook; -+ -+ class ResizeTimer : public wxTimer -+ { -+ public: -+ ResizeTimer(MyNotebook* nb) : wxTimer(), m_nb(nb) {} -+ void Notify(); -+ -+ protected: -+ MyNotebook* m_nb; -+ }; -+#endif -+ - class MyNotebook : public wxNotebook - { - public: -@@ -38,11 +55,19 @@ void OnAdvanceSelection(wxCommandEvent& event){AdvanceSelection(event.GetId() == - void OnSameTabSize(wxCommandEvent& event){ EqualSizedTabs = ! EqualSizedTabs; EqualWidthTabs(EqualSizedTabs); } - #endif - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ void OnTimerResize(); -+#endif -+ - void LoadTemplate(int TemplateNo); // Triggered by a menu event, loads the selected tab template - void SaveDefaults(int TemplateNo = -1, const wxString& title = wxT(""));// Save current tab setup. If TemplateNo > -1 save as a template; otherwise just do a 'normal' save - void SaveAsTemplate(); // Save the current tab setup as a template - void DeleteTemplate(); // Delete an existing template - -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ void StartTimer(); -+#endif -+ - DirectoryForDeletions* DeleteLocation; // Organises unique dirnames for deleted/trashed files - UnRedoManager* UnRedoMan; // The sole instance of UnRedoManager - DeviceAndMountManager* DeviceMan; // Find where floppy, cds are -@@ -76,6 +101,9 @@ void RenameTab(); - void EqualWidthTabs(bool equal_tabs); - #endif - int nextpageno; -+#if defined(__WXGTK3__) && GTK_CHECK_VERSION(3,20,0) -+ ResizeTimer* m_timer; -+#endif - private: - DECLARE_EVENT_TABLE() - }; diff --git a/4Pane-7.0-wx3.2.patch b/4Pane-7.0-wx3.2.patch deleted file mode 100644 index 52dcce8..0000000 --- a/4Pane-7.0-wx3.2.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 66ae9a6f2ac526d80559967cda428cd48e5859ee Mon Sep 17 00:00:00 2001 -From: dghart -Date: Sat, 12 Feb 2022 15:45:54 +0000 -Subject: [PATCH] Compilation fixes for wxWidgets 3.1.6 - -Workarounds for the addition of wxBitmapBundle. ---- - Devices.cpp | 4 ++++ - MyDirs.cpp | 9 +++++++++ - MyTreeCtrl.cpp | 49 ++++++++++++++++++++++++++++++++++++++----------- - 3 files changed, 51 insertions(+), 11 deletions(-) - -diff --git a/Devices.cpp b/Devices.cpp -index 5b8cfe9..dc77cdc 100644 ---- a/Devices.cpp -+++ b/Devices.cpp -@@ -210,7 +210,11 @@ wxString bitmap; config->Read(Rootname+subgrp+wxT("/Bitmap"), &bitmap); - wxString tooltip; config->Read(Rootname+subgrp+wxT("/Tooltip"), &tooltip); - - bitmap = BITMAPSDIR + bitmap; -+#if wxVERSION_NUMBER > 3105 -+Create(MyFrame::mainframe->panelette, -1, wxBitmapBundle::FromBitmap(bitmap), wxDefaultPosition, wxDefaultSize, wxNO_BORDER); -+#else - Create(MyFrame::mainframe->panelette, -1, bitmap, wxDefaultPosition, wxDefaultSize, wxNO_BORDER); -+#endif - SetToolTip(tooltip); - } - -diff --git a/MyDirs.cpp b/MyDirs.cpp -index 68f41a8..f370d5b 100644 ---- a/MyDirs.cpp -+++ b/MyDirs.cpp -@@ -522,10 +522,19 @@ for (size_t n=0; n < count; ++n) - array->Item(n)->tooltip, wxITEM_NORMAL); - else - { if (array->Item(n)->bitmaplocation.AfterLast(('/')) == wxT("MyDocuments.xpm")) // If Documents and the label is empty, supply a default -+#if wxVERSION_NUMBER > 3105 -+ toolBar->AddTool(IDM_TOOLBAR_bmfirst+n, label.empty() ? wxString(_("Documents")) : label,wxBitmapBundle::FromBitmap(array->Item(n)->bitmaplocation), -+ array->Item(n)->tooltip, wxITEM_NORMAL); -+ else -+ toolBar->AddTool(IDM_TOOLBAR_bmfirst + n, label, wxBitmapBundle::FromBitmap(array->Item(n)->bitmaplocation), array->Item(n)->tooltip, wxITEM_NORMAL); -+ -+#else - toolBar->AddTool(IDM_TOOLBAR_bmfirst+n, label.empty() ? wxString(_("Documents")) : label, array->Item(n)->bitmaplocation, -+ - array->Item(n)->tooltip, wxITEM_NORMAL); - else - toolBar->AddTool(IDM_TOOLBAR_bmfirst + n, label, array->Item(n)->bitmaplocation, array->Item(n)->tooltip, wxITEM_NORMAL); -+#endif //wxVERSION_NUMBER > 3105 - } - } - -diff --git a/MyTreeCtrl.cpp b/MyTreeCtrl.cpp -index bc1b607..735b6cf 100644 ---- a/MyTreeCtrl.cpp -+++ b/MyTreeCtrl.cpp -@@ -1336,7 +1336,27 @@ void MyTreeCtrl::PaintLevel(wxGenericTreeItem *item, wxDC &dc, int level, int &y - dc.DrawLine(3, y_mid, x - 5, y_mid); - dc.DrawLine(x + 5, y_mid, x + m_spacing, y_mid); - } -+#if wxVERSION_NUMBER > 3105 -+ if ( m_imagesButtons.HasImages() ) -+ { -+ // draw the image button here -+ int image_h = 0, image_w = 0; -+ int image = item->IsExpanded() ? wxTreeItemIcon_Expanded -+ : wxTreeItemIcon_Normal; -+ if ( item->IsSelected() ) -+ image += wxTreeItemIcon_Selected - wxTreeItemIcon_Normal; -+ -+ wxImageList* const -+ imageListButtons = m_imagesButtons.GetImageList(); -+ imageListButtons->GetSize(image, image_w, image_h); -+ int xx = x - image_w/2; -+ int yy = y_mid - image_h/2; - -+ wxDCClipper clip(dc, xx, yy, image_w, image_h); -+ imageListButtons->Draw(image, dc, xx, yy, -+ wxIMAGELIST_DRAW_TRANSPARENT); -+ } -+#else // !wxVERSION_NUMBER > 3105 - if (m_imageListButtons != NULL) - { - // draw the image button here -@@ -1352,9 +1372,10 @@ void MyTreeCtrl::PaintLevel(wxGenericTreeItem *item, wxDC &dc, int level, int &y - wxIMAGELIST_DRAW_TRANSPARENT); - dc.DestroyClippingRegion(); - } -- -+#endif - } - } -+ - else // no custom buttons - { - static const int wImage = 9; -@@ -1495,15 +1516,17 @@ if (headerwindow->IsHidden(i)) continue; // // - image = NO_IMAGE; // //item->GetImage(i); - } - -- if(image != NO_IMAGE) -- { -- if(m_imageListNormal) { -- m_imageListNormal->GetSize(image, image_w, image_h); -- image_w += 4; -- } -- else { -- image = NO_IMAGE; -- } -+ if (image != NO_IMAGE) -+ { -+#if wxVERSION_NUMBER > 3105 -+ if (GetImageList()) { -+ GetImageList()->GetSize(image, image_w, image_h); -+#else -+ if (m_imageListNormal) { -+ m_imageListNormal->GetSize(image, image_w, image_h); -+#endif // wxVERSION_NUMBER > 3105 -+ image_w += 4; -+ } else { image = NO_IMAGE; } - } - - // honor text alignment -@@ -1581,8 +1604,12 @@ if (headerwindow->IsHidden(i)) continue; // // - item->GetY() + extraH, clip_width, - total_h); - -- if(image != NO_IMAGE) { -+ if (image != NO_IMAGE) { -+#if wxVERSION_NUMBER > 3105 -+ GetImageList()->Draw(image, dc, image_x, -+#else - m_imageListNormal->Draw(image, dc, image_x, -+#endif - item->GetY() +((total_h > image_h)? - ((total_h-image_h)/2):0), - wxIMAGELIST_DRAW_TRANSPARENT); --- -2.37.1 - diff --git a/4Pane.spec b/4Pane.spec index be409ab..c979e6d 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -19,8 +19,6 @@ Summary: Multi-pane, detailed-list file manager License: GPL-3.0-only AND LGPL-2.0-or-later AND CC0-1.0 URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz -# https://sourceforge.net/p/fourpane/git4pane/ci/66ae9a6f2ac526d80559967cda428cd48e5859ee/ -Patch0: 4Pane-7.0-wx3.2.patch BuildRequires: gcc-c++ BuildRequires: bzip2-devel From f5e770168dd65fe59440c0f1fd4f6987871a977b Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Fri, 10 Jan 2025 11:24:52 +0900 Subject: [PATCH 43/47] Upstream fix to make files under /tmp unpredictable --- 4Pane-d8b74e4-tmp-file-name.patch | 36 +++++++++++++++++++++++++++++++ 4Pane.spec | 10 ++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 4Pane-d8b74e4-tmp-file-name.patch diff --git a/4Pane-d8b74e4-tmp-file-name.patch b/4Pane-d8b74e4-tmp-file-name.patch new file mode 100644 index 0000000..2a6d152 --- /dev/null +++ b/4Pane-d8b74e4-tmp-file-name.patch @@ -0,0 +1,36 @@ +commit d8b74e4df86fb526ee9caad284b9eb3efe528ac5 +Author: dghart +Date: Thu Jan 9 14:14:10 2025 +0000 + + When previewing an svg file, make the string name unguessable; see https://sourceforge.net/p/fourpane/bugs/22/ + + Previewing an svg called foo.svg was creating (briefly) in /tmp a file predictably called foo.png. This might have allowed an attacker to overwrite genuine files. Prevent this by prepending a random string to each name. + +diff --git a/MyTreeCtrl.cpp b/MyTreeCtrl.cpp +index fd19465..d82cfc8 100644 +--- a/MyTreeCtrl.cpp ++++ b/MyTreeCtrl.cpp +@@ -1890,15 +1890,20 @@ void PreviewPopup::DisplayImage(const wxString& fpath) + { + wxLogNull NoErrorMessages; + wxString filepath(fpath); +-wxString pngfilepath; ++wxString pngfilepath, rndstr; + wxImage image; + + if (filepath.Right(4) == ".svg") + { void* handle = wxGetApp().GetRsvgHandle(); + if (!handle) return; // Presumably librsvg is not available at present + +- wxFileName fn(filepath); // Create a filepath in /tmp/ to store the .png +- pngfilepath = "/tmp/" + fn.GetName() + ".png"; ++ // Create a filepath in /tmp/ to store the .png ++ rndstr = ""; srand(time(NULL)); ++ wxString allowedchars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; ++ for (size_t n=0; n < 9; ++n) // Make the string name unguessable; see https://sourceforge.net/p/fourpane/bugs/22/ ++ rndstr << wxString::Format("%c", allowedchars[(char)(rand() % 52)]); ++ wxFileName fn(filepath); ++ pngfilepath = "/tmp/" + rndstr + fn.GetName() + ".png"; + if (SvgToPng(filepath, pngfilepath, handle)) + image = wxImage(pngfilepath); + wxRemoveFile(pngfilepath); diff --git a/4Pane.spec b/4Pane.spec index c979e6d..3bd7fe3 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Multi-pane, detailed-list file manager # Overall GPL-3.0-only @@ -19,6 +19,10 @@ Summary: Multi-pane, detailed-list file manager License: GPL-3.0-only AND LGPL-2.0-or-later AND CC0-1.0 URL: http://www.4pane.co.uk/ Source0: http://downloads.sourceforge.net/fourpane/4pane-%{version}.tar.gz +# https://sourceforge.net/p/fourpane/bugs/22/ +# https://sourceforge.net/p/fourpane/git4pane/ci/d8b74e4df86fb526ee9caad284b9eb3efe528ac5/ +# Make files under /tmp unpredictable +Patch0: 4Pane-d8b74e4-tmp-file-name.patch BuildRequires: gcc-c++ BuildRequires: bzip2-devel @@ -42,6 +46,7 @@ tools. %prep %setup -q -n 4pane-%{version} +%patch -P0 -p1 -b .tmpfile %if 0 cat > .gitignore < - 8.0-10 +- Upstream fix to make files under /tmp unpredictable + * Wed Jul 17 2024 Fedora Release Engineering - 8.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 1dc97c37ec7351bd13c22ae60069dc1ebc5ca6ad Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 08:20:42 +0000 Subject: [PATCH 44/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 3bd7fe3..a487c3c 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Multi-pane, detailed-list file manager # Overall GPL-3.0-only @@ -119,6 +119,9 @@ appstream-util validate-relax --nonet \ %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 8.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Fri Jan 10 2025 Mamoru TASAKA - 8.0-10 - Upstream fix to make files under /tmp unpredictable From d0f4bd1b2f2b3a35c520976b7dec754637002e4d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 20 Jan 2025 07:17:01 +0000 Subject: [PATCH 45/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index a487c3c..7868431 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Multi-pane, detailed-list file manager # Overall GPL-3.0-only @@ -119,6 +119,9 @@ appstream-util validate-relax --nonet \ %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Mon Jan 20 2025 Fedora Release Engineering - 8.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Thu Jan 16 2025 Fedora Release Engineering - 8.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 6a919081474754b692651318e1f07d3d635fb8f7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 15:39:34 +0000 Subject: [PATCH 46/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 7868431..304d9db 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Multi-pane, detailed-list file manager # Overall GPL-3.0-only @@ -119,6 +119,9 @@ appstream-util validate-relax --nonet \ %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 8.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Jan 20 2025 Fedora Release Engineering - 8.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 957374a57a476a6d4ffce77c3ba798b0c8953a23 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 02:25:53 +0000 Subject: [PATCH 47/47] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- 4Pane.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/4Pane.spec b/4Pane.spec index 304d9db..0d951c8 100644 --- a/4Pane.spec +++ b/4Pane.spec @@ -8,7 +8,7 @@ Name: 4Pane Version: 8.0 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Multi-pane, detailed-list file manager # Overall GPL-3.0-only @@ -119,6 +119,9 @@ appstream-util validate-relax --nonet \ %{_datadir}/icons/hicolor/*/apps/%{name}* %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 8.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Wed Jul 23 2025 Fedora Release Engineering - 8.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild