From 26f52ce1b29005434578672e49cd3be5aa31c560 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 16:17:57 +0000 Subject: [PATCH 1/9] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 9f0de989f004a7677906400be12f17307d92a454 Mon Sep 17 00:00:00 2001 From: Vasiliy Glazov Date: Mon, 18 Sep 2023 14:30:58 +0300 Subject: [PATCH 2/9] Update to 1.4.0-rc2. --- .gitignore | 1 + qtpass.spec | 7 +++---- sources | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 3624f97..b577d46 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /v1.2.2.tar.gz /v1.2.3.tar.gz /v1.3.2.tar.gz +/1.4.0-rc2.tar.gz diff --git a/qtpass.spec b/qtpass.spec index 0750f1e..8de028a 100644 --- a/qtpass.spec +++ b/qtpass.spec @@ -1,11 +1,11 @@ Name: qtpass -Version: 1.3.2 +Version: 1.4.0~rc2 Release: %autorelease Summary: Cross-platform GUI for pass License: GPL-3.0-only URL: https://qtpass.org/ -Source0: https://github.com/IJHack/qtpass/archive/v%{version}.tar.gz +Source0: https://github.com/IJHack/qtpass/archive/1.4.0-rc2.tar.gz # Wrapper script for GNOME on Wayland Source1: qtpass.sh.in @@ -36,8 +36,7 @@ Recommends: pwgen QtPass is a cross-platform GUI for pass, the standard Unix password manager. %prep -%autosetup -S git -n QtPass-%{version} - +%autosetup -n QtPass-1.4.0-rc2 %build %qmake_qt5 PREFIX=%{_prefix} diff --git a/sources b/sources index 32ed040..d37e345 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v1.3.2.tar.gz) = 9026f74f6ff75fcef2f6a0862484a2a1eaed1370edd0659e8b4d20039affe846e0da3a0a26a804563813bc678638ab67fa516441208e70c7e9de9b2eda876a10 +SHA512 (1.4.0-rc2.tar.gz) = b8d98237093f1bc92d7fb4fd5f49b8c68d2ad87536593665619aebedf3dff537d6c12efb37b59b7cde23d126384e853841fe98edc7ad5a5b36a695c35e7c4fd7 From f717cd43d9a889fd833e272314e99b25f288c712 Mon Sep 17 00:00:00 2001 From: Vasiliy Glazov Date: Wed, 20 Sep 2023 15:51:24 +0300 Subject: [PATCH 3/9] Update to 1.4.0. Switch to Qt6. --- .gitignore | 1 + qtpass.spec | 15 ++++++++------- sources | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b577d46..a34e8a6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /v1.2.3.tar.gz /v1.3.2.tar.gz /1.4.0-rc2.tar.gz +/v1.4.0.tar.gz diff --git a/qtpass.spec b/qtpass.spec index 8de028a..590598c 100644 --- a/qtpass.spec +++ b/qtpass.spec @@ -1,11 +1,11 @@ Name: qtpass -Version: 1.4.0~rc2 +Version: 1.4.0 Release: %autorelease Summary: Cross-platform GUI for pass License: GPL-3.0-only URL: https://qtpass.org/ -Source0: https://github.com/IJHack/qtpass/archive/1.4.0-rc2.tar.gz +Source0: https://github.com/IJHack/qtpass/archive/v%{version}.tar.gz # Wrapper script for GNOME on Wayland Source1: qtpass.sh.in @@ -17,15 +17,15 @@ BuildRequires: gcc-c++ BuildRequires: git BuildRequires: sed # required libraries (QT) -BuildRequires: qt5-qtbase-devel -BuildRequires: qt5-linguist +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-linguist BuildRequires: pkgconfig(Qt5Svg) # install/check desktop files BuildRequires: desktop-file-utils # for ownership of hicolor directories Requires: hicolor-icon-theme # for icons to appear without freedesktop -Requires: qt5-qtsvg +Requires: qt6-qtsvg Requires: pass Recommends: git @@ -36,10 +36,11 @@ Recommends: pwgen QtPass is a cross-platform GUI for pass, the standard Unix password manager. %prep -%autosetup -n QtPass-1.4.0-rc2 +%autosetup -n QtPass-%{version} +sed -i "s|#include |#include \n#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)\n#include \n#endif|" src/executor.cpp %build -%qmake_qt5 PREFIX=%{_prefix} +%qmake_qt6 PREFIX=%{_prefix} %make_build diff --git a/sources b/sources index d37e345..56c68a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (1.4.0-rc2.tar.gz) = b8d98237093f1bc92d7fb4fd5f49b8c68d2ad87536593665619aebedf3dff537d6c12efb37b59b7cde23d126384e853841fe98edc7ad5a5b36a695c35e7c4fd7 +SHA512 (v1.4.0.tar.gz) = 47c1284c10e0d8a3bf63c049fc29d785d1a53bef6f183bbe22efebf466371dd454a6e43c944739f487d609f3cde188701ba538e9cb8e2c7e5530f8fa6f992625 From 10eb292014a4b500bd9f2a5a86446ced25b9722a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 10:14:29 +0000 Subject: [PATCH 4/9] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 1eef0ba52c46d13a74a831aa25d28efc713fd600 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 14:22:59 +0000 Subject: [PATCH 5/9] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From f64aaf45dbabb8535483eb9e8a6cad0deca2239a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 18:01:45 +0000 Subject: [PATCH 6/9] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 79b2675a2badb250f23cf6ff1c28547e295a8739 Mon Sep 17 00:00:00 2001 From: Arthur Bols Date: Tue, 5 Nov 2024 17:31:42 +0100 Subject: [PATCH 7/9] Backport fixes for Qt6 --- 0001-Fix-build-with-Qt6.patch | 26 +++++++++++ 0002-Update-new-TLDs.patch | 26 +++++++++++ ...-Fix-multiple-profiles-issue-for-Qt6.patch | 45 +++++++++++++++++++ 0004-getRecipientListSplitByHash.patch | 25 +++++++++++ ...fix-add-missing-QDirIterator-include.patch | 26 +++++++++++ qtpass.spec | 13 +++++- 6 files changed, 159 insertions(+), 2 deletions(-) create mode 100644 0001-Fix-build-with-Qt6.patch create mode 100644 0002-Update-new-TLDs.patch create mode 100644 0003-Fix-multiple-profiles-issue-for-Qt6.patch create mode 100644 0004-getRecipientListSplitByHash.patch create mode 100644 0005-fix-add-missing-QDirIterator-include.patch diff --git a/0001-Fix-build-with-Qt6.patch b/0001-Fix-build-with-Qt6.patch new file mode 100644 index 0000000..868480e --- /dev/null +++ b/0001-Fix-build-with-Qt6.patch @@ -0,0 +1,26 @@ +From eed724f1725094d605aaa2dee762c66a4168d916 Mon Sep 17 00:00:00 2001 +From: Vasiliy Glazov +Date: Wed, 20 Sep 2023 15:47:33 +0300 +Subject: [PATCH 1/3] Fix build with Qt6. + +--- + src/executor.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/executor.cpp b/src/executor.cpp +index a4e91bb4..1da58e81 100644 +--- a/src/executor.cpp ++++ b/src/executor.cpp +@@ -4,6 +4,9 @@ + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + #include + #endif ++#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) ++#include ++#endif + + #ifdef QT_DEBUG + #include "debughelper.h" +-- +2.47.0 + diff --git a/0002-Update-new-TLDs.patch b/0002-Update-new-TLDs.patch new file mode 100644 index 0000000..8063ebd --- /dev/null +++ b/0002-Update-new-TLDs.patch @@ -0,0 +1,26 @@ +From 1780fa7b1beab3bc5a062b215eb833e41484da44 Mon Sep 17 00:00:00 2001 +From: Chuyen Vo <73516+vdchuyen@users.noreply.github.com> +Date: Tue, 30 Apr 2024 12:31:17 +0700 +Subject: [PATCH 2/3] Update new TLDs + +There are so many new LTLDs with longer than 4 chars: https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains +--- + src/keygendialog.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/keygendialog.cpp b/src/keygendialog.cpp +index ba1efdb0..cae73ff8 100644 +--- a/src/keygendialog.cpp ++++ b/src/keygendialog.cpp +@@ -145,7 +145,7 @@ void KeygenDialog::done(int r) { + // check email + static const QRegularExpression mailre( + QRegularExpression::anchoredPattern( +- R"(\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b)"), ++ R"(\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b)"), + QRegularExpression::CaseInsensitiveOption); + if (!mailre.match(ui->email->text()).hasMatch()) { + QMessageBox::critical( +-- +2.47.0 + diff --git a/0003-Fix-multiple-profiles-issue-for-Qt6.patch b/0003-Fix-multiple-profiles-issue-for-Qt6.patch new file mode 100644 index 0000000..98fe2aa --- /dev/null +++ b/0003-Fix-multiple-profiles-issue-for-Qt6.patch @@ -0,0 +1,45 @@ +From 50e895ad514d10e09f6502ce72f3b5581c53825c Mon Sep 17 00:00:00 2001 +From: John Doe +Date: Sat, 25 May 2024 01:23:33 +0800 +Subject: [PATCH 3/3] Fix multiple profiles issue for Qt6 + +--- + src/mainwindow.cpp | 4 ++++ + src/mainwindow.h | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp +index b39d3147..66b87dc2 100644 +--- a/src/mainwindow.cpp ++++ b/src/mainwindow.cpp +@@ -787,7 +787,11 @@ void MainWindow::updateProfileBox() { + * correct "profile" + * @param name + */ ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + void MainWindow::on_profileBox_currentIndexChanged(QString name) { ++#else ++void MainWindow::on_profileBox_currentTextChanged(QString name) { ++#endif + if (m_qtPass->isFreshStart() || name == QtPassSettings::getProfile()) + return; + +diff --git a/src/mainwindow.h b/src/mainwindow.h +index 172e326f..b5325f61 100644 +--- a/src/mainwindow.h ++++ b/src/mainwindow.h +@@ -97,7 +97,11 @@ private slots: + void clearPanel(bool notify = true); + void on_lineEdit_textChanged(const QString &arg1); + void on_lineEdit_returnPressed(); ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + void on_profileBox_currentIndexChanged(QString); ++#else ++ void on_profileBox_currentTextChanged(QString); ++#endif + void showContextMenu(const QPoint &pos); + void showBrowserContextMenu(const QPoint &pos); + void openFolder(); +-- +2.47.0 + diff --git a/0004-getRecipientListSplitByHash.patch b/0004-getRecipientListSplitByHash.patch new file mode 100644 index 0000000..050825f --- /dev/null +++ b/0004-getRecipientListSplitByHash.patch @@ -0,0 +1,25 @@ +From 1a1ebfdc2e1018b6d989e32b94f4bf4245dea36d Mon Sep 17 00:00:00 2001 +From: shemeshg +Date: Sun, 24 Sep 2023 03:42:12 +0300 +Subject: [PATCH] getRecipientListSplitByHash + +--- + src/pass.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pass.cpp b/src/pass.cpp +index 44f6401d..568809a1 100644 +--- a/src/pass.cpp ++++ b/src/pass.cpp +@@ -322,7 +322,7 @@ QStringList Pass::getRecipientList(QString for_file) { + QStringList recipients; + while (!gpgId.atEnd()) { + QString recipient(gpgId.readLine()); +- recipient = recipient.trimmed(); ++ recipient = recipient.split("#")[0].trimmed(); + if (!recipient.isEmpty()) + recipients += recipient; + } +-- +2.47.0 + diff --git a/0005-fix-add-missing-QDirIterator-include.patch b/0005-fix-add-missing-QDirIterator-include.patch new file mode 100644 index 0000000..b6ae0c9 --- /dev/null +++ b/0005-fix-add-missing-QDirIterator-include.patch @@ -0,0 +1,26 @@ +From c3d04090260edd77e56c0602f264d923b236c42f Mon Sep 17 00:00:00 2001 +From: Arthur Bols +Date: Tue, 5 Nov 2024 17:20:56 +0100 +Subject: [PATCH] fix: add missing QDirIterator include + +Added missing include for QDirIterator in mainwindow.cpp to resolve compilation +errors introduced with Qt 6.8. +--- + src/mainwindow.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp +index 66b87dc2..691b8593 100644 +--- a/src/mainwindow.cpp ++++ b/src/mainwindow.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.47.0 + diff --git a/qtpass.spec b/qtpass.spec index 590598c..56a9051 100644 --- a/qtpass.spec +++ b/qtpass.spec @@ -9,6 +9,16 @@ Source0: https://github.com/IJHack/qtpass/archive/v%{version}.tar.gz # Wrapper script for GNOME on Wayland Source1: qtpass.sh.in +# https://github.com/IJHack/QtPass/pull/656 +Patch1: 0001-Fix-build-with-Qt6.patch +# https://github.com/IJHack/QtPass/pull/680 +Patch2: 0002-Update-new-TLDs.patch +# https://github.com/IJHack/QtPass/pull/681 +Patch3: 0003-Fix-multiple-profiles-issue-for-Qt6.patch +# https://github.com/IJHack/QtPass/pull/658 +Patch4: 0004-getRecipientListSplitByHash.patch +# https://github.com/IJHack/QtPass/pull/690 +Patch5: 0005-fix-add-missing-QDirIterator-include.patch # required tools BuildRequires: make @@ -19,7 +29,6 @@ BuildRequires: sed # required libraries (QT) BuildRequires: qt6-qtbase-devel BuildRequires: qt6-linguist -BuildRequires: pkgconfig(Qt5Svg) # install/check desktop files BuildRequires: desktop-file-utils # for ownership of hicolor directories @@ -36,7 +45,7 @@ Recommends: pwgen QtPass is a cross-platform GUI for pass, the standard Unix password manager. %prep -%autosetup -n QtPass-%{version} +%autosetup -p1 -n QtPass-%{version} sed -i "s|#include |#include \n#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)\n#include \n#endif|" src/executor.cpp %build From e2e3ffc866a099cea8a1adc3b760ad2b8bcc53df Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 21:48:27 +0000 Subject: [PATCH 8/9] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From b020a6e0cf4b273b14188ffcbdaf7b421f0ca97a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 11:38:38 +0000 Subject: [PATCH 9/9] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild