diff --git a/0001-fix-desktop-error.patch b/0001-fix-desktop-error.patch deleted file mode 100644 index fd8fed08749b7c139fc1c7a5492164c4fd66347d..0000000000000000000000000000000000000000 --- a/0001-fix-desktop-error.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 8208dd8646f25ce04734dca56fb48336897e6f0a Mon Sep 17 00:00:00 2001 -From: yangxianzhao -Date: Mon, 6 Nov 2023 11:11:12 +0800 -Subject: [PATCH] fix desktop error - ---- - src/deepin-terminal.desktop | 102 ------------------------------------ - 1 file changed, 102 deletions(-) - -diff --git a/src/deepin-terminal.desktop b/src/deepin-terminal.desktop -index 737fbc9..711d6ba 100644 ---- a/src/deepin-terminal.desktop -+++ b/src/deepin-terminal.desktop -@@ -1,5 +1,4 @@ - [Desktop Entry] --Categories=DDE;Utility;System;TerminalEmulator; - Comment=Use the command line - Exec=deepin-terminal - GenericName=Terminal -@@ -215,104 +214,3 @@ Name[vi]=Deepin Terminal - Name[zh_CN]=深度终端 - Name[zh_HK]=Deepin 終端 - Name[zh_TW]=Deepin 終端機 -- --[NewWindow Shortcut Group] --Exec=deepin-terminal --Name=New Window -- --# Translations: --# Do not manually modify! --Name[ar]=نافذة جديدة --Name[ast]=Ventana nueva --Name[az]=Yeni Pəncərə --Name[bg]=Нов прозорец --Name[bo]=སྒེའུ་ཁུང་གསར་བཟོ། --Name[br]=Prenestr nevez --Name[ca]=Finestra nova --Name[cs]=Nové okno --Name[da]=Nyt vindue --Name[de]=Neues Fenster --Name[el]=Νέο παράθυρο --Name[es]=Nueva ventana --Name[es_419]=Nueva ventana --Name[fa]=پنجره جدید --Name[fi]=Uusi ikkuna --Name[fr]=Nouvelle fenêtre --Name[gl_ES]=Nova xanela --Name[hr]=Novi prozor --Name[hu]=Új ablak --Name[id]=Jendela Baru --Name[it]=Nuova finestra --Name[ja]=新しいウィンドウ --Name[ko]=새 창 --Name[lt]=Naujas langas --Name[mn]=Шинэ Цонх --Name[ms]=Terminal Baharu --Name[nl]=Nieuw venster --Name[pl]=Nowe okno --Name[pt]=Nova janela --Name[pt_BR]=Nova Janela --Name[ro]=Fereastră Nouă --Name[ru]=Новое Окно --Name[sk]=Nové okno --Name[sq]=Dritare e Re --Name[sr]=Нови прозор --Name[sv]=Nytt fönster --Name[tr]=Yeni Pencere --Name[ug]=يېڭىدىن كۆزنەك قۇرۇش --Name[uk]=Нове вікно --Name[vi]=Cửa sổ mới --Name[zh_CN]=新建窗口 --Name[zh_HK]=新建視窗 --Name[zh_TW]=新增視窗 -- --[Quake Shortcut Group] --Exec=deepin-terminal --quake-mode --Name=Quake Terminal -- --# Translations: --# Do not manually modify! --Name[ar]=طرفية كواك --Name[ast]=Terminal Quake --Name[az]=Quake Terminal --Name[bg]=Quake терминал --Name[bo]=ཐོག་ལྷའི་མཐའ་སྣེ། --Name[br]=Terminal Quake --Name[ca]=Terminal Quake --Name[cs]=Vysouvací terminál (quake) --Name[da]=Quake-terminal --Name[de]=Quake Terminal --Name[el]=Τερματικό "Quake" --Name[es]=Terminal Quake --Name[es_419]=Terminal en modo Quake --Name[fa]=ترمینال Quake --Name[fi]=Quake pääte --Name[fr]=Terminal Quake --Name[gl_ES]=Terminal Quake --Name[hr]=Quake terminal --Name[hu]=Lebegő Terminál --Name[id]=Terminal Quake --Name[it]=Terminale in primo piano --Name[ja]=ターミナルを振動させる --Name[ko]=퀘이크 터미널 --Name[lt]=Quake terminalas --Name[mn]=Куаке Терминал --Name[ms]=Terminal Quake --Name[nl]=Quake-terminal --Name[pl]=Terminal Quake --Name[pt]=Terminal deslizante --Name[pt_BR]=Terminal Quake --Name[ro]=Terminal Quake --Name[ru]=Выпадающий Терминал --Name[sk]=Quake terminál --Name[sq]=Terminal Quake --Name[sr]=Спуштајући терминал --Name[sv]=Quake Terminal --Name[tr]=Quake Uçbirim --Name[ug]=Quake تېرمىنالى --Name[uk]=Термінал Quake --Name[vi]=Quake Terminal --Name[zh_CN]=雷神终端 --Name[zh_HK]=雷神終端 --Name[zh_TW]=雷神模式終端器 -- --- -2.40.1 - diff --git a/0001-fix-resolve-file-descriptor-leak.patch b/0001-fix-resolve-file-descriptor-leak.patch new file mode 100644 index 0000000000000000000000000000000000000000..3b5e22c211a3ab1a277568de2215d88e29206405 --- /dev/null +++ b/0001-fix-resolve-file-descriptor-leak.patch @@ -0,0 +1,46 @@ +From 6e2a3ee1b414fafafbe672fcbe65b83222cf68d9 Mon Sep 17 00:00:00 2001 +From: ut004527 +Date: Fri, 17 Oct 2025 16:41:58 +0800 +Subject: [PATCH] fix: resolve file descriptor leak + +--- + 3rdparty/terminalwidget/lib/kptyprocess.cpp | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/3rdparty/terminalwidget/lib/kptyprocess.cpp b/3rdparty/terminalwidget/lib/kptyprocess.cpp +index 5c829fd..c50e307 100644 +--- a/3rdparty/terminalwidget/lib/kptyprocess.cpp ++++ b/3rdparty/terminalwidget/lib/kptyprocess.cpp +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + + KPtyProcess::KPtyProcess(QObject *parent) : + KProcess(new KPtyProcessPrivate, parent) +@@ -138,6 +139,21 @@ void KPtyProcess::setupChildProcess() + if (d->ptyChannels & StderrChannel) + dup2(d->pty->slaveFd(), 2); + ++ DIR *dir = opendir("/proc/self/fd"); ++ if (dir) { ++ int dir_fd = dirfd(dir); ++ struct dirent *entry; ++ ++ while ((entry = readdir(dir)) != nullptr) { ++ if (entry->d_name[0] == '.') continue; ++ ++ int fd = atoi(entry->d_name); ++ if (fd > 2 && fd != dir_fd && fd != d->pty->slaveFd()) { ++ ::close(fd); ++ } ++ } ++ closedir(dir); ++ } + KProcess::setupChildProcess(); + } + +-- +2.27.0 + diff --git a/0001-update-license.patch b/0001-update-license.patch new file mode 100644 index 0000000000000000000000000000000000000000..0d5386d6c57c5a62553be3b69fad8cfe54d02606 --- /dev/null +++ b/0001-update-license.patch @@ -0,0 +1,25 @@ +From 7f224c80660c92a27b5843cc8164e239dd33cf11 Mon Sep 17 00:00:00 2001 +From: maqi +Date: Tue, 26 Aug 2025 15:06:38 +0800 +Subject: [PATCH] update license + +--- + rpm/deepin-terminal.spec | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rpm/deepin-terminal.spec b/rpm/deepin-terminal.spec +index f3c6186..7dd5484 100644 +--- a/rpm/deepin-terminal.spec ++++ b/rpm/deepin-terminal.spec +@@ -9,7 +9,7 @@ Name: deepin-terminal + Version: 5.4.1.1 + Release: %{specrelease} + Summary: Default terminal emulation application for Deepin +-License: GPLv3+ ++License: GPLv3+ and BSD-3-Clause and Expat and GPLv2+ and LGPLv2+ + URL: https://github.com/linuxdeepin/%{name} + Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz + +-- +2.39.3 + diff --git a/deepin-terminal.spec b/deepin-terminal.spec index 392e20bab6b4ce159c8c471e8d4452690a9c90e6..7d2747f7b6e489e3e44cd8cd61bc235164d9fc1e 100644 --- a/deepin-terminal.spec +++ b/deepin-terminal.spec @@ -1,86 +1,51 @@ -%define anolis_release 2 -%{!?_vpath_builddir:%global _vpath_builddir %{_target_platform}} -%define libname libqtermwidget5 - Name: deepin-terminal -Version: 5.9.42 -Release: 1.%{anolis_release}%{?dist} +Version: 5.9.49 +Release: 2%{?dist} Summary: Default terminal emulation application for Deepin -License: GPLv3+ +License: GPL-3.0-or-later URL: https://github.com/linuxdeepin/%{name} -Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz - -Patch0: 0001-fix-desktop-error.patch - -Provides: deepin-terminal-data -Obsoletes: deepin-terminal-data - -BuildRequires: gcc-c++ -BuildRequires: cmake3 -BuildRequires: qt5-linguist - -BuildRequires: pkgconfig(dtkcore) -BuildRequires: pkgconfig(dtkwidget) -BuildRequires: pkgconfig(dtkgui) -BuildRequires: pkgconfig(dframeworkdbus) -BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(atspi-2) -BuildRequires: pkgconfig(libsecret-1) - -BuildRequires: pkgconfig(Qt5Widgets) -BuildRequires: pkgconfig(Qt5Core) -BuildRequires: pkgconfig(Qt5Gui) -BuildRequires: pkgconfig(Qt5DBus) -BuildRequires: pkgconfig(Qt5Network) -BuildRequires: pkgconfig(Qt5X11Extras) -BuildRequires: pkgconfig(dframeworkdbus) -BuildRequires: lxqt-build-tools >= 0.6.0~ -BuildRequires: utf8proc-devel -BuildRequires: gtest-devel -BuildRequires: gmock-devel -BuildRequires: xcb-util-wm-devel -BuildRequires: dde-qt-dbus-factory-devel -BuildRequires: qt5-qtbase-private-devel -BuildRequires: qt5-qttools-devel -BuildRequires: dtkcommon-devel -BuildRequires: qt5-qtbase-devel -BuildRequires: qt5-qtx11extras-devel -BuildRequires: libchardet-devel -BuildRequires: uchardet-devel -BuildRequires: libicu-devel - -Requires: libqtermwidget5 -Requires: libqtermwidget5-data -Requires: expect -Requires: zssh -Requires: qt-at-spi -Requires: at-spi2-core +Source0: deepin-terminal_5.9.49.orig.tar.xz +Patch0: 0001-update-license.patch +Patch1: 0001-fix-resolve-file-descriptor-leak.patch + +BuildRequires: gcc-c++ +BuildRequires: cmake + +BuildRequires: cmake(Qt5Core) +BuildRequires: cmake(Qt5DBus) +BuildRequires: cmake(Qt5Gui) +BuildRequires: cmake(Qt5Widgets) +BuildRequires: cmake(Qt5LinguistTools) +BuildRequires: cmake(Qt5Network) +BuildRequires: cmake(Qt5X11Extras) +BuildRequires: qt5-qtbase-private-devel +%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} +BuildRequires: cmake(lxqt-build-tools) + +BuildRequires: pkgconfig(dtkwidget) +BuildRequires: pkgconfig(dtkgui) +BuildRequires: pkgconfig(dtkcore) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(libsecret-1) +BuildRequires: pkgconfig(xcb-ewmh) +BuildRequires: pkgconfig(x11) + +BuildRequires: fontconfig-devel + +BuildRequires: desktop-file-utils + +BuildRequires: pkgconfig(dframeworkdbus) +BuildRequires: libchardet-devel +BuildRequires: uchardet-devel +BuildRequires: libicu-devel + +Requires: dde-common >= 2026 +Requires: hicolor-icon-theme +Recommends: deepin-manual %description %{summary}. -%package -n %{libname} -Summary: Terminal emulator widget for Qt 5 -%description -n %{libname} -Terminal emulator widget for Qt 5 (shared libraries) -QTermWidget is a Unicode-enabled, embeddable Qt widget that can be used as -built-in console or terminal emulation widget. - -%package -n %{libname}-devel -Summary: Terminal emulator widget for Qt 5 -%description -n %{libname}-devel -Terminal emulator widget for Qt 5 (shared libraries) -QTermWidget is a Unicode-enabled, embeddable Qt widget that can be used as -built-in console or terminal emulation widget. - - -%package -n %{libname}-data -Summary: Terminal emulator widget for Qt 5 -%description -n %{libname}-data -Terminal emulator widget for Qt 5 (shared libraries) -QTermWidget is a Unicode-enabled, embeddable Qt widget that can be used as -built-in console or terminal emulation widget. - %prep %autosetup -p1 @@ -97,12 +62,6 @@ popd %install %make_install -C build/%{_vpath_builddir} INSTALL_ROOT="%buildroot" -%post -n %{libname} -ldconfig - -%postun -n %{libname} -ldconfig - %files %doc README.md %license LICENSE @@ -111,31 +70,34 @@ ldconfig %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/applications/%{name}.desktop %{_datadir}/deepin-manual/manual-assets/application/deepin-terminal/terminal/ +# devel +%{_includedir}/terminalwidget5/ +%{_libdir}/cmake/terminalwidget5/ +%{_libdir}/libterminalwidget5.so* +%{_libdir}/pkgconfig/terminalwidget5.pc +%{_datadir}/deepin-debug-config/deepin-debug-config.d/org.deepin.terminal.json +%{_datadir}/deepin-log-viewer/deepin-log.conf.d/org.deepin.terminal.json +%{_datadir}/dsg/configs/org.deepin.terminal/org.deepin.terminal.json +%{_datadir}/terminalwidget5/ + +%changelog +* Mon Dec 15 2025 liweigang - 5.9.49-2 +- spec: update source0 and modify license -%files -n %{libname} -%{_libdir}/libterminalwidget5.so.0.14.1 +* Fri Oct 17 2025 wangqia - 5.9.49-1.03 +- fix: resolve file descriptor leak(bugid:336047) -%files -n %{libname}-devel -%{_includedir}/terminalwidget5/*.h -%{_libdir}/cmake/terminalwidget5/*.cmake -%{_libdir}/libterminalwidget5.so -%{_libdir}/libterminalwidget5.so.0 -%{_libdir}/pkgconfig/terminalwidget5.pc +* Tue Aug 26 2025 maqi - 5.9.49-1.02 +- spec: update license -%files -n %{libname}-data -%{_datadir}/terminalwidget5/color-schemes/*.schema -%{_datadir}/terminalwidget5/color-schemes/*.colorscheme -%{_datadir}/terminalwidget5/color-schemes/historic/*.schema -%{_datadir}/terminalwidget5/kb-layouts/*.keytab -%{_datadir}/terminalwidget5/kb-layouts/historic/*.keytab -%{_datadir}/terminalwidget5/translations/*.qm +* Thu Nov 28 2024 liweigang - 5.9.49-1.01 +- spec: modify BR -%changelog -* Tue Nov 07 2023 yangxianzhao - 5.9.42-1.2 -- rebuild for qt +* Sat Oct 12 2024 liweigang - 5.9.49-1 +- update: update to version 5.9.49 -* Thu Nov 02 2023 yangxianzhao - 5.9.42-1.1 -- fix build error +* Mon Sep 4 2023 liuzhilin - 5.9.43-1 +- update: update to 5.9.43 * Mon Apr 17 2023 liweiganga - 5.9.42-1 - update: update to 5.9.42 diff --git a/deepin-terminal-5.9.42.tar.gz b/deepin-terminal_5.9.49.orig.tar.xz similarity index 35% rename from deepin-terminal-5.9.42.tar.gz rename to deepin-terminal_5.9.49.orig.tar.xz index 967953a7b670a189a00684555bbcd91e5ace21fd..cb629ff8a25b604df69da8d67dcce7c7e6b9295c 100644 Binary files a/deepin-terminal-5.9.42.tar.gz and b/deepin-terminal_5.9.49.orig.tar.xz differ