diff --git a/fix-qtbase-QLatin1String-QLatin1Char.patch b/0001-fix-qtbase-QLatin1String-QLatin1Char.patch similarity index 54% rename from fix-qtbase-QLatin1String-QLatin1Char.patch rename to 0001-fix-qtbase-QLatin1String-QLatin1Char.patch index e403161..2fd437d 100644 --- a/fix-qtbase-QLatin1String-QLatin1Char.patch +++ b/0001-fix-qtbase-QLatin1String-QLatin1Char.patch @@ -1,7 +1,52 @@ -diff --color -Naur a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalwidget/lib/Filter.cpp ---- a/3rdparty/terminalwidget/lib/Filter.cpp 2022-02-08 16:21:57.110358654 +0800 -+++ b/3rdparty/terminalwidget/lib/Filter.cpp 2022-02-09 09:50:21.961364713 +0800 -@@ -139,7 +139,7 @@ +From c96f6f7f9f125d56c8d97898d2734b05c321995c Mon Sep 17 00:00:00 2001 +From: loong_C +Date: Wed, 20 Jul 2022 14:29:49 +0800 +Subject: [PATCH] fix-qtbase-QLatin1String-QLatin1Char + +--- + 3rdparty/terminalwidget/lib/Emulation.cpp | 8 +- + 3rdparty/terminalwidget/lib/Filter.cpp | 12 +- + 3rdparty/terminalwidget/lib/HistorySearch.cpp | 4 +- + 3rdparty/terminalwidget/lib/Pty.cpp | 104 +++++++++--------- + 3rdparty/terminalwidget/lib/Session.cpp | 12 +- + .../terminalwidget/lib/TerminalDisplay.cpp | 6 +- + 3rdparty/terminalwidget/lib/qtermwidget.cpp | 2 +- + 7 files changed, 74 insertions(+), 74 deletions(-) + +diff --git a/3rdparty/terminalwidget/lib/Emulation.cpp b/3rdparty/terminalwidget/lib/Emulation.cpp +index 82bacde..3505438 100644 +--- a/3rdparty/terminalwidget/lib/Emulation.cpp ++++ b/3rdparty/terminalwidget/lib/Emulation.cpp +@@ -301,9 +301,9 @@ void Emulation::receiveData(const char *text, int length, bool isCommandExec) + * U+10FFFF + * https://unicodebook.readthedocs.io/unicode_encodings.html#surrogates + */ +- QString utf16Text = ""; ++ QString utf16Text = QLatin1String(""); + +- if (QString(_codec->name()).toUpper().startsWith("GB") && !isCommandExec) { ++ if (QString(QLatin1String(_codec->name())).toUpper().startsWith(QLatin1String("GB")) && !isCommandExec) { + if (_decoder != nullptr) { + delete _decoder; + } +@@ -327,10 +327,10 @@ void Emulation::receiveData(const char *text, int length, bool isCommandExec) + + //fix bug 67102 打开超长名称的文件夹,终端界面光标位置不在最后一位 + //bash 提示符很长的情况下,会有较大概率以五个\b字符结尾,导致光标错位 +- if (utf16Text.startsWith("\u001B]0;") && utf16Text.endsWith("\b\b\b\b\b")) { ++ if (utf16Text.startsWith(QLatin1String("\u001B]0;")) && utf16Text.endsWith(QLatin1String("\b\b\b\b\b"))) { + Session *currSession = SessionManager::instance()->idToSession(_sessionId); + if (currSession && (QStringLiteral("bash") == currSession->foregroundProcessName())) { +- utf16Text.replace("\b\b\b\b\b", ""); ++ utf16Text.replace(QLatin1String("\b\b\b\b\b"), QLatin1String("")); + } + } + +diff --git a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalwidget/lib/Filter.cpp +index 071d70d..67bce5d 100644 +--- a/3rdparty/terminalwidget/lib/Filter.cpp ++++ b/3rdparty/terminalwidget/lib/Filter.cpp +@@ -139,7 +139,7 @@ TerminalImageFilterChain::~TerminalImageFilterChain() bool isContainOtherPromptEnd(QString promptLine, QString currPromptEnd) { //四不同类型的提示符结尾字符 @@ -10,7 +55,7 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalw promptEnds.remove(currPromptEnd); for (int i=0; iappend(_buffer->length()); decoder.decodeLine(image + i * columns, columns, LINE_DEFAULT); -@@ -208,7 +208,7 @@ +@@ -208,7 +208,7 @@ void TerminalImageFilterChain::setImage(const Character *const image, int lines, if (lastLine.length() > 0) { //优化了截取并保存当前shell提示符的判断,暂时没有考虑PS1被修改的情况(若考虑的话实现起来太复杂) //目前针对sh/bash/csh/tcsh/ksh/zsh这几种类型的shell做了处理 @@ -28,7 +73,7 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalw for (int i=0; igetCurrShellPrompt(_sessionId); @@ -47,10 +92,11 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Filter.cpp b/3rdparty/terminalw } SessionManager::instance()->saveCurrShellCommand(_sessionId, strCommand); } else { -diff --color -Naur a/3rdparty/terminalwidget/lib/HistorySearch.cpp b/3rdparty/terminalwidget/lib/HistorySearch.cpp ---- a/3rdparty/terminalwidget/lib/HistorySearch.cpp 2022-02-08 16:21:57.110358654 +0800 -+++ b/3rdparty/terminalwidget/lib/HistorySearch.cpp 2022-02-09 10:43:27.025143314 +0800 -@@ -144,11 +144,11 @@ +diff --git a/3rdparty/terminalwidget/lib/HistorySearch.cpp b/3rdparty/terminalwidget/lib/HistorySearch.cpp +index d1b66be..9d36772 100644 +--- a/3rdparty/terminalwidget/lib/HistorySearch.cpp ++++ b/3rdparty/terminalwidget/lib/HistorySearch.cpp +@@ -278,11 +278,11 @@ bool HistorySearch::search(int startColumn, int startLine, int endColumn, int en 存在特殊情况:一个完整的物理行显示在终端被分成多个逻辑行 */ //中文字符正则表达式 @@ -64,10 +110,11 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/HistorySearch.cpp b/3rdparty/te //qDebug() << "loseStart" << loseStart << "loseEnd" << loseEnd ; // if (loseStart < 0 || loseStart > loseEnd) { -diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidget/lib/Pty.cpp ---- a/3rdparty/terminalwidget/lib/Pty.cpp 2022-02-08 16:21:57.110358654 +0800 -+++ b/3rdparty/terminalwidget/lib/Pty.cpp 2022-02-09 10:42:26.384994711 +0800 -@@ -280,7 +280,7 @@ +diff --git a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidget/lib/Pty.cpp +index 165b2f7..62c8493 100644 +--- a/3rdparty/terminalwidget/lib/Pty.cpp ++++ b/3rdparty/terminalwidget/lib/Pty.cpp +@@ -282,7 +282,7 @@ Pty::~Pty() bool Pty::isTerminalRemoved() { @@ -76,7 +123,7 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg if (terminalExecFile.exists()) { return false; } -@@ -305,13 +305,13 @@ +@@ -307,13 +307,13 @@ bool isPatternAcceptable(QString strCommand, QString strPattern) //判断当前命令是否是要删除终端 bool Pty::bWillRemoveTerminal(QString strCommand) { @@ -93,18 +140,18 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg for (int i = 0; i < cmdList.size(); i++) { QString currCmd = cmdList.at(i).trimmed(); if (currCmd.length() > 0 && currCmd.contains(packageName)) { -@@ -320,8 +320,8 @@ +@@ -322,8 +322,8 @@ bool Pty::bWillRemoveTerminal(QString strCommand) } } - if (strCommand.contains(";")) { - QStringList cmdList = strCommand.split(";"); + if (strCommand.contains(QLatin1String(";"))) { -+ QStringList cmdList = strCommand.split(QLatin1String(";")); ++ QStringList cmdList = strCommand.split((QLatin1String(";"))); for (int i = 0; i < cmdList.size(); i++) { QString currCmd = cmdList.at(i).trimmed(); if (currCmd.length() > 0 && currCmd.contains(packageName)) { -@@ -339,23 +339,23 @@ +@@ -341,23 +341,23 @@ bool Pty::bWillRemoveTerminal(QString strCommand) QString strCurrCommand = strCommandList.at(i); for (int j = 0; j < packageNameList.size(); j++) { QString packageName = packageNameList.at(j); @@ -133,7 +180,7 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg acceptableList << isPatternAcceptable(strCurrCommand, removePattern); } } -@@ -366,13 +366,13 @@ +@@ -368,13 +368,13 @@ bool Pty::bWillRemoveTerminal(QString strCommand) /******** Add by nt001000 renfeixiang 2020-05-27:增加 Purge卸载命令的判断,显示不同的卸载提示框 Begin***************/ bool Pty::bWillPurgeTerminal(QString strCommand) { @@ -150,7 +197,7 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg for (int i = 0; i < cmdList.size(); i++) { QString currCmd = cmdList.at(i).trimmed(); if (currCmd.length() > 0 && currCmd.contains(packageName)) { -@@ -381,8 +381,8 @@ +@@ -383,8 +383,8 @@ bool Pty::bWillPurgeTerminal(QString strCommand) } } @@ -161,7 +208,7 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg for (int i = 0; i < cmdList.size(); i++) { QString currCmd = cmdList.at(i).trimmed(); if (currCmd.length() > 0 && currCmd.contains(packageName)) { -@@ -400,31 +400,31 @@ +@@ -402,31 +402,31 @@ bool Pty::bWillPurgeTerminal(QString strCommand) QString strCurrCommand = strCommandList.at(i); for (int j = 0; j < packageNameList.size(); j++) { QString packageName = packageNameList.at(j); @@ -202,8 +249,8 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg acceptableList << isPatternAcceptable(strCurrCommand, removePattern); } } -@@ -441,7 +441,7 @@ - +@@ -446,7 +446,7 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) + //判断是否是点了自定义命令面板列表项触发的命令 bool isCustomCommand = false; QString currCommand = QString::fromLatin1(data); - if (currCommand.length() > 0 && currCommand.endsWith('\n')) { @@ -211,7 +258,16 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg isCustomCommand = true; } -@@ -457,9 +457,9 @@ +@@ -462,7 +462,7 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) + + //检测到当前命令是代码中通过sendText发给终端的(而不是用户手动输入的命令) + bool isSendByRemoteManage = this->property("isSendByRemoteManage").toBool(); +- if (isSendByRemoteManage && strCurrCommand.startsWith("expect -f")) { ++ if (isSendByRemoteManage && strCurrCommand.startsWith(QLatin1String("expect -f"))) { + _bNeedBlockCommand = true; + //立即修改回false,防止误认其他命令 + this->setProperty("isSendByRemoteManage", QVariant(false)); +@@ -473,9 +473,9 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) bool bRemoveTerminal = bWillRemoveTerminal(strCurrCommand); if (!isTerminalRemoved() && (bPurgeTerminal || bRemoveTerminal)) { @@ -223,13 +279,79 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg } QMetaObject::invokeMethod(this, "ptyUninstallTerminal", Qt::AutoConnection, Q_RETURN_ARG(bool, _bUninstall), Q_ARG(QString, strname)); /******** Modify by nt001000 renfeixiang 2020-05-27:修改 根据remove和purge卸载命令,发送信号不同参数值 End***************/ -@@ -494,25 +494,25 @@ +@@ -501,7 +501,7 @@ void Pty::sendData(const char *data, int length, const QTextCodec *codec) + } + + //为GBK/GB2312/GB18030编码,且不是输入命令执行的情况(没有按回车) +- if (QString(codec->name()).toUpper().startsWith("GB") && !_isCommandExec) { ++ if (QString(QLatin1String(codec->name())).toUpper().startsWith(QLatin1String("GB")) && !_isCommandExec) { + QTextCodec *utf8Codec = QTextCodec::codecForName("UTF-8"); + QString unicodeData = codec->toUnicode(data); + QByteArray unicode = utf8Codec->fromUnicode(unicodeData); +@@ -524,19 +524,19 @@ void Pty::dataReceived() { QByteArray data = pty()->readAll(); - QString recvData = QString(data); + QString recvData = QString(QLatin1String(data)); + if (_bNeedBlockCommand) { + QString judgeData = recvData; + if (recvData.length() > 1) { +- judgeData = recvData.replace("\r", ""); +- judgeData = judgeData.replace("\n", ""); ++ judgeData = recvData.replace(QLatin1String("\r"), QLatin1String("")); ++ judgeData = judgeData.replace(QLatin1String("\n"), QLatin1String("")); + } + + //使用zsh的时候,发送过来的字符会残留一个字母"e",需要特殊处理下 +- if (_program.endsWith("/zsh") ++ if (_program.endsWith(QLatin1String("/zsh")) + && 1 == judgeData.length() +- && judgeData.startsWith("e") ++ && judgeData.startsWith(QLatin1String("e")) + && -1 == _receiveDataIndex) { + _receiveDataIndex = 0; + return; +@@ -544,27 +544,27 @@ void Pty::dataReceived() + + //不显示远程登录时候的敏感信息(主要是expect -f命令跟随的明文密码) + //同时考虑了zsh的情况 +- if (judgeData.startsWith("expect -f") +- || judgeData.startsWith("\bexpect") +- || judgeData.startsWith("\be") +- || judgeData.startsWith("e\bexpect") +- || judgeData.startsWith("e\be")) { ++ if (judgeData.startsWith(QLatin1String("expect -f")) ++ || judgeData.startsWith(QLatin1String("\bexpect")) ++ || judgeData.startsWith(QLatin1String("\be")) ++ || judgeData.startsWith(QLatin1String("e\bexpect")) ++ || judgeData.startsWith(QLatin1String("e\be"))) { + _receiveDataIndex = 1; + return; + } + + if (_receiveDataIndex >= 1) { +- if (judgeData.contains("Press")) { ++ if (judgeData.contains(QLatin1String("Press"))) { + //这里需要置回false,否则后面其他命令也会被拦截 + _bNeedBlockCommand = false; + + _receiveDataIndex = -1; +- int pressStringIndex = recvData.indexOf("Press"); ++ int pressStringIndex = recvData.indexOf(QLatin1String("Press")); + if (pressStringIndex > 0) { + recvData = recvData.mid(pressStringIndex); + } +- QString helpData = recvData.replace("\n", ""); +- recvData = "\r\n" + helpData + "\r\n"; ++ QString helpData = recvData.replace(QLatin1String("\n"), QLatin1String("")); ++ recvData = QLatin1String("\r\n") + helpData + QLatin1String("\r\n"); + data = recvData.toUtf8(); + emit receivedData(data.constData(), data.count(), _textCodec); + } +@@ -577,21 +577,21 @@ void Pty::dataReceived() + /******** Modify by m000714 daizhengwen 2020-04-30: 处理上传下载时乱码显示命令不执行****************/ // 乱码提示信息不显示 - if (recvData.contains("bash: $'\\212") @@ -258,21 +380,28 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Pty.cpp b/3rdparty/terminalwidg data = recvData.toUtf8(); } /********************* Modify by m000714 daizhengwen End ************************/ -diff --color -Naur a/3rdparty/terminalwidget/lib/Session.cpp b/3rdparty/terminalwidget/lib/Session.cpp ---- a/3rdparty/terminalwidget/lib/Session.cpp 2022-02-08 16:21:57.114358607 +0800 -+++ b/3rdparty/terminalwidget/lib/Session.cpp 2022-02-09 10:09:17.013232912 +0800 -@@ -320,8 +320,8 @@ - +diff --git a/3rdparty/terminalwidget/lib/Session.cpp b/3rdparty/terminalwidget/lib/Session.cpp +index dc64a18..cba8d3e 100644 +--- a/3rdparty/terminalwidget/lib/Session.cpp ++++ b/3rdparty/terminalwidget/lib/Session.cpp +@@ -397,12 +397,12 @@ void Session::run() if (result < 0) { //qDebug() << "CRASHED! result: " << result<errorString(); +- processError = processError.mid(processError.indexOf(":") + 1).trimmed(); ++ processError = processError.mid(processError.indexOf(QLatin1String(":")) + 1).trimmed(); + if(!processError.isEmpty()) +- processError = "(" +processError + ")"; ++ processError = QLatin1String("(") + processError + QLatin1String(")"); + +- QString infoText = QString("There was an error creating the child process for this terminal. \n" +- "Failed to execute child process \"%1\"%2!") ++ QString infoText = QString(QLatin1String("There was an error creating the child process for this terminal. \n" ++ "Failed to execute child process \"%1\"%2!")) + .arg(exec) + .arg(processError); sendText(infoText); - _userTitle = QString::fromLatin1("Session crashed"); - emit titleChanged(); -@@ -468,7 +468,7 @@ +@@ -556,7 +556,7 @@ void Session::monitorTimerDone() void Session::activityStateSet(int state) { if (state==NOTIFYBELL) { @@ -281,19 +410,20 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/Session.cpp b/3rdparty/terminal } else if (state==NOTIFYACTIVITY) { if (_monitorSilence) { _monitorTimer->start(_silenceSeconds*1000); -@@ -642,7 +642,7 @@ +@@ -738,7 +738,7 @@ void Session::done(int exitStatus) if (exitStatus == -1){ - infoText.sprintf("There was an error ctreating the child processfor this teminal. \n" - "Faild to execute child process \"%s\"(No such file or directory)!", _program.toUtf8().data()); + infoText.sprintf("There was an error creating the child process for this terminal. \n" + "Failed to execute child process \"%s\"(No such file or directory)!", _program.toUtf8().data()); - message = "Session crashed."; + message = QLatin1String("Session crashed."); } else { - infoText.sprintf("The child process exit normally with status %d.", exitStatus); -diff --color -Naur a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp ---- a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp 2022-02-08 16:21:57.114358607 +0800 -+++ b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp 2022-02-09 10:07:31.376887287 +0800 -@@ -447,7 +447,7 @@ + infoText.sprintf("The child process exited normally with status %d.", exitStatus); +diff --git a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp +index 3a127dc..d12541f 100644 +--- a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp ++++ b/3rdparty/terminalwidget/lib/TerminalDisplay.cpp +@@ -493,7 +493,7 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) /******** Modify by ut000439 wangpeili 2020-06-24: 适应窗口特效圆角 ****************/ //qDebug()<<"_scrollBar->width()"<<_scrollBar->width(); // 设置15px宽度=6? @@ -302,3 +432,30 @@ diff --color -Naur a/3rdparty/terminalwidget/lib/TerminalDisplay.cpp b/3rdparty/ //qDebug()<<"_scrollBar->width()"<<_scrollBar->width(); /********************* Modify by n014361 wangpeili End ************************/ +@@ -3534,8 +3534,8 @@ void TerminalDisplay::dropEvent(QDropEvent* event) + } + + /***add begin by ut001121 zhangmeng 20201030 for SP4.1 拖拽文件到工作区文件路径加引号***/ +- dropText.insert(0, '\''); +- dropText.append('\''); ++ dropText.insert(0, QLatin1Char('\'')); ++ dropText.append(QLatin1Char('\'')); + /***add end ut001121***/ + + emit sendStringToEmu(dropText.toLocal8Bit().constData()); +diff --git a/3rdparty/terminalwidget/lib/qtermwidget.cpp b/3rdparty/terminalwidget/lib/qtermwidget.cpp +index 44d9752..7060051 100644 +--- a/3rdparty/terminalwidget/lib/qtermwidget.cpp ++++ b/3rdparty/terminalwidget/lib/qtermwidget.cpp +@@ -641,7 +641,7 @@ void QTermWidget::setColorScheme(const QString &origName, bool needReloadTheme) + cs = ColorSchemeManager::instance()->defaultColorScheme(); + } + } else { +- if (name == "customTheme" && needReloadTheme) { ++ if (name == QLatin1String("customTheme") && needReloadTheme) { + ColorSchemeManager::instance()->realodColorScheme(origName); + } + cs = ColorSchemeManager::instance()->findColorScheme(name); +-- +2.20.1 + diff --git a/deepin-terminal-5.2.36.tar.gz b/deepin-terminal-5.2.36.tar.gz deleted file mode 100644 index f39f250..0000000 Binary files a/deepin-terminal-5.2.36.tar.gz and /dev/null differ diff --git a/deepin-terminal-5.4.8.tar.gz b/deepin-terminal-5.4.8.tar.gz new file mode 100644 index 0000000..0cc12fa Binary files /dev/null and b/deepin-terminal-5.4.8.tar.gz differ diff --git a/deepin-terminal.spec b/deepin-terminal.spec index 996181b..8894826 100644 --- a/deepin-terminal.spec +++ b/deepin-terminal.spec @@ -1,13 +1,18 @@ +%define specrelease 1%{?dist} +%if 0%{?openeuler} +%define specrelease 1 +%endif + %define libname libqtermwidget5 Name: deepin-terminal -Version: 5.2.36 -Release: 2 +Version: 5.4.8 +Release: %{specrelease} Summary: Default terminal emulation application for Deepin License: GPLv3+ URL: https://github.com/linuxdeepin/%{name} Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -Patch0: fix-qtbase-QLatin1String-QLatin1Char.patch +Patch0: 0001-fix-qtbase-QLatin1String-QLatin1Char.patch Provides: deepin-terminal-data Obsoletes: deepin-terminal-data @@ -29,7 +34,10 @@ BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Network) -BuildRequires: lxqt-build-tools +BuildRequires: lxqt-build-tools >= 0.6.0~ +BuildRequires: utf8proc-devel +BuildRequires: gtest-devel +BuildRequires: gmock-devel BuildRequires: qt5-qtbase-private-devel Requires: libqtermwidget5 @@ -79,7 +87,6 @@ popd %install %make_install -C build INSTALL_ROOT="%buildroot" -rm %buildroot/%{getenv:HOME}/.config/deepin/%{name}/install_flag %post -n %{libname} ldconfig @@ -94,6 +101,7 @@ ldconfig %{_datadir}/%{name}/translations/*.qm %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/applications/%{name}.desktop +%{_datadir}/deepin-manual/manual-assets/application/deepin-terminal/terminal/ %files -n %{libname} %{_libdir}/libterminalwidget5.so.0.14.1 @@ -114,6 +122,9 @@ ldconfig %{_datadir}/terminalwidget5/translations/*.qm %changelog +* Tue Jul 19 2022 konglidong - 5.4.8-1 +- update to 5.4.8 + * Tue Feb 08 2022 liweigang - 5.2.36-2 - fix build error @@ -122,4 +133,3 @@ ldconfig * Thu Jul 30 2020 openEuler Buildteam - 5.0.4.1-1 - Package init -