diff --git a/0001-procps-ng-update-4.0.0.patch b/0001-procps-ng-update-4.0.0.patch index 67152bfbb5af3553eb03cc45374f290e39e20f0f..df505a9b957fcb21854bbbdb49c360d4a2b3cfcc 100644 --- a/0001-procps-ng-update-4.0.0.patch +++ b/0001-procps-ng-update-4.0.0.patch @@ -1,17 +1,45 @@ -From 388df3fe9ed94a5c3aad00a15e9f1447ffac4139 Mon Sep 17 00:00:00 2001 -From: leeffo -Date: Fri, 11 Nov 2022 14:50:33 +0800 -Subject: [PATCH] procps-ng update 4.0.0 +From dcef19e4e0a1185e5b88fc039fde7f1f4d9c03c0 Mon Sep 17 00:00:00 2001 +From: leeffo +Date: Mon, 24 Jul 2023 18:15:15 +0800 +Subject: [PATCH 1/2] procps-ng update 4.0.0 --- - src/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + deepin-system-monitor-main/CMakeLists.txt | 2 +- + deepin-system-monitor-plugin-popup/CMakeLists.txt | 2 +- + tests/CMakeLists.txt | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3a09f02..42e55fb 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -27,7 +27,7 @@ find_package(DtkCore REQUIRED) +diff --git a/deepin-system-monitor-main/CMakeLists.txt b/deepin-system-monitor-main/CMakeLists.txt +index 07d25ec..035dad5 100644 +--- a/deepin-system-monitor-main/CMakeLists.txt ++++ b/deepin-system-monitor-main/CMakeLists.txt +@@ -52,7 +52,7 @@ find_package(DtkCore REQUIRED) + find_package(DtkGui REQUIRED) + find_package(DtkWidget REQUIRED) + find_library(LIB_PCAP NAMES pcap REQUIRED) +-find_library(LIB_PROCPS NAMES procps REQUIRED) ++find_library(LIB_PROCPS NAMES proc2 REQUIRED) + find_library(LIB_XCB NAMES xcb REQUIRED) + find_library(LIB_XEXT NAMES Xext REQUIRED) + find_library(LIB_ICCCM NAMES xcb-icccm REQUIRED) +diff --git a/deepin-system-monitor-plugin-popup/CMakeLists.txt b/deepin-system-monitor-plugin-popup/CMakeLists.txt +index 45d29e8..c430c98 100644 +--- a/deepin-system-monitor-plugin-popup/CMakeLists.txt ++++ b/deepin-system-monitor-plugin-popup/CMakeLists.txt +@@ -43,7 +43,7 @@ find_package(DtkCore REQUIRED) + find_package(DtkGui REQUIRED) + find_package(DtkWidget REQUIRED) + find_package(Qt5Svg REQUIRED) +-find_library(LIB_PROPS NAMES procps REQUIRED) ++find_library(LIB_PROPS NAMES proc2 REQUIRED) + find_library(LIB_XCB NAMES xcb REQUIRED) + find_library(LIB_XEXT NAMES Xext REQUIRED) + find_library(LIB_ICCCM NAMES xcb-icccm REQUIRED) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 9469596..fc92bf3 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -70,7 +70,7 @@ find_package(DtkCore REQUIRED) find_package(DtkGui REQUIRED) find_package(DtkWidget REQUIRED) find_library(LIB_PCAP NAMES pcap REQUIRED) diff --git a/0002-Remove-all-symbol-table-and-relocation-information-f.patch b/0002-Remove-all-symbol-table-and-relocation-information-f.patch new file mode 100644 index 0000000000000000000000000000000000000000..c4629a616611573380fc4ab0af76bd7d92cf8e45 --- /dev/null +++ b/0002-Remove-all-symbol-table-and-relocation-information-f.patch @@ -0,0 +1,28 @@ +From f977aeddbf2283a856bf5bb738f3e119bc0fe087 Mon Sep 17 00:00:00 2001 +From: leeffo +Date: Mon, 24 Jul 2023 18:15:35 +0800 +Subject: [PATCH 2/2] Remove all symbol table and relocation information from + the executable + +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f9f71cd..16330d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,8 +22,8 @@ else() + # -Wl, -O2 Enable linker optimizations + # -Wl, --gc-sections Remove unused code resulting from -fdsta-sections and + # -ffunction-sections +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O2 -Wl,--gc-sections") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -Wl,--gc-sections") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O2 -Wl,--gc-sections -s ") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -Wl,--gc-sections -s") + endif() + + #是否开启Wayland编译 +-- +2.20.1 + diff --git a/0002-feat-fix-strip.patch b/0002-feat-fix-strip.patch deleted file mode 100644 index 1129f36fe67bd999665e436cc7c5077a5240c6dd..0000000000000000000000000000000000000000 --- a/0002-feat-fix-strip.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a7ac8a08dcd29e6fc2128b82af588571c994c351 Mon Sep 17 00:00:00 2001 -From: leeffo -Date: Wed, 15 Mar 2023 13:19:35 +0800 -Subject: [PATCH] feat: fix strip - ---- - src/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 4942abb..5df6473 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -3,8 +3,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) - - set(APP_NAME ${CMAKE_PROJECT_NAME}) - --set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ") --set(CMAKE_CXX_FLAGS "-Wl,--as-need -fPIE") -+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -s ") -+set(CMAKE_CXX_FLAGS "-Wl,--as-need -fPIE -s ") - set(CMAKE_EXE_LINKER_FLAGS "-pie") - if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "sw_64") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mieee") --- -2.20.1 - diff --git a/0003-feat-add-build-option-to-disable-wayland-support.patch b/0003-feat-add-build-option-to-disable-wayland-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..1925c3a92b6df7ef89f49e147ff82301f44f144f --- /dev/null +++ b/0003-feat-add-build-option-to-disable-wayland-support.patch @@ -0,0 +1,121 @@ +From 982cf2a7b7a60843f17b103ecafa150dd4f557da Mon Sep 17 00:00:00 2001 +From: leeffo +Date: Tue, 25 Jul 2023 11:33:00 +0800 +Subject: [PATCH] feat: add build option to disable wayland support + +--- + .../gui/xwin_kill_preview_widget.cpp | 26 +++++++++++++++---- + 1 file changed, 21 insertions(+), 5 deletions(-) + +diff --git a/deepin-system-monitor-main/gui/xwin_kill_preview_widget.cpp b/deepin-system-monitor-main/gui/xwin_kill_preview_widget.cpp +index 077aa1e..26ec724 100644 +--- a/deepin-system-monitor-main/gui/xwin_kill_preview_widget.cpp ++++ b/deepin-system-monitor-main/gui/xwin_kill_preview_widget.cpp +@@ -37,12 +37,14 @@ XWinKillPreviewWidget::XWinKillPreviewWidget(QWidget *parent) : QWidget(parent) + { + // new window manager instance + m_wminfo = new WMInfo(); +-//不再使用CMakeList开关宏的方式,改用全局变量运行时控制 +-//WaylandCentered定义在common/common.h中,在main函数开头进行初始化判断 ++// 如果在编译时选择支持Wayland,运行时会由全局变量WaylandCentered控制 ++// WaylandCentered定义在common/common.h中,在main函数开头进行初始化判断 ++#ifdef USE_DEEPIN_WAYLAND + if (WaylandCentered) { + m_connectionThread = new QThread(this); + m_connectionThreadObject = new ConnectionThread(); + } ++#endif // USE_DEEPIN_WAYLAND + + // init ui components & connections + initUI(); +@@ -66,11 +68,13 @@ XWinKillPreviewWidget::~XWinKillPreviewWidget() + releaseMouse(); + releaseKeyboard(); + delete m_wminfo; ++#ifdef USE_DEEPIN_WAYLAND + if (WaylandCentered) { + m_connectionThread->quit(); + m_connectionThread->wait(); + m_connectionThreadObject->deleteLater(); + } ++#endif // USE_DEEPIN_WAYLAND + } + + // mouse press event +@@ -82,6 +86,7 @@ void XWinKillPreviewWidget::mousePressEvent(QMouseEvent *event) + } + // get the list of windows under cursor in stacked order when mouse pressed + auto pos = QCursor::pos(); ++#ifdef USE_DEEPIN_WAYLAND + if (WaylandCentered) { + double ratio = QGuiApplication::primaryScreen()->devicePixelRatio(); // 获得当前的缩放比例 + QRect screenRect; +@@ -119,7 +124,9 @@ void XWinKillPreviewWidget::mousePressEvent(QMouseEvent *event) + break; + } + } +- } else { ++ } ++#endif // USE_DEEPIN_WAYLAND ++ if (!WaylandCentered) { + double ratio = QGuiApplication::primaryScreen()->devicePixelRatio(); // 获得当前的缩放比例 + QRect screenRect; + for (auto screen : QApplication::screens()) { +@@ -165,6 +172,7 @@ void XWinKillPreviewWidget::mousePressEvent(QMouseEvent *event) + // mouse move event handler + void XWinKillPreviewWidget::mouseMoveEvent(QMouseEvent *) + { ++#ifdef USE_DEEPIN_WAYLAND + if (WaylandCentered) { + double ratio = QGuiApplication::primaryScreen()->devicePixelRatio(); // 获得当前的缩放比例 + auto pos = QCursor::pos(); +@@ -236,7 +244,9 @@ void XWinKillPreviewWidget::mouseMoveEvent(QMouseEvent *) + bg->clearSelection(); + emit cursorUpdated(m_defaultCursor); + } +- } else { ++ } ++#endif // USE_DEEPIN_WAYLAND ++ if (!WaylandCentered) { + double ratio = QGuiApplication::primaryScreen()->devicePixelRatio(); // 获得当前的缩放比例 + auto pos = QCursor::pos(); + QRect screenRect; +@@ -351,9 +361,10 @@ void XWinKillPreviewWidget::initUI() + // snapshot current scree + auto pixmap = screen->grabWindow(m_wminfo->getRootWindow()); + ++#ifdef USE_DEEPIN_WAYLAND + if (WaylandCentered) + pixmap = screen->grabWindow(m_windowStates.end()->windowId); +- ++#endif // USE_DEEPIN_WAYLAND + pixmap = pixmap.copy(geom.x(), geom.y(), static_cast(geom.width() * devicePixelRatioF()), static_cast(geom.height() * devicePixelRatioF())); + // create preview background widget for each screen + auto *background = new XWinKillPreviewBackgroundWidget(pixmap, this); +@@ -378,6 +389,7 @@ void XWinKillPreviewWidget::initUI() + // wayland协议下建立连接 + void XWinKillPreviewWidget::initConnections() + { ++#ifdef USE_DEEPIN_WAYLAND + if (WaylandCentered) { + connect(m_connectionThreadObject, &ConnectionThread::connected, this, + [this] { +@@ -394,7 +406,10 @@ void XWinKillPreviewWidget::initConnections() + + m_connectionThreadObject->initConnection(); + } ++#endif // USE_DEEPIN_WAYLAND + } ++ ++#ifdef USE_DEEPIN_WAYLAND + //打印当前窗口信息接口 + void XWinKillPreviewWidget::print_window_states(const QVector &m_windowStates) + { +@@ -447,3 +462,4 @@ void XWinKillPreviewWidget::setupRegistry(Registry *registry) + } + + } ++#endif // USE_DEEPIN_WAYLAND +-- +2.20.1 + diff --git a/deepin-system-monitor-5.8.28.tar.gz b/deepin-system-monitor-5.9.31.tar.gz similarity index 40% rename from deepin-system-monitor-5.8.28.tar.gz rename to deepin-system-monitor-5.9.31.tar.gz index 2f515500c82000cfe7e1b8f07d7e657f89c9835f..56e35fdb9d318ae86912566b9a5ff1a129d0bca1 100644 Binary files a/deepin-system-monitor-5.8.28.tar.gz and b/deepin-system-monitor-5.9.31.tar.gz differ diff --git a/deepin-system-monitor.spec b/deepin-system-monitor.spec index 804b2a6f61499d70a4c5de74ca7be66afbf807a6..149be6b037884dd58332c187ba55b73587ecdb03 100644 --- a/deepin-system-monitor.spec +++ b/deepin-system-monitor.spec @@ -8,16 +8,16 @@ %endif Name: deepin-system-monitor -Version: 5.8.28 +Version: 5.9.31 Release: %{specrelease} Summary: A more user-friendly system monitor License: GPLv3 URL: https://github.com/linuxdeepin/deepin-system-monitor -Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +Source0: %{name}-%{version}.tar.gz Patch0: 0001-procps-ng-update-4.0.0.patch -Patch1: 0002-feat-fix-strip.patch -#Patch2: 0003-Fix-incomplete-display-of-the-system-monitor-when-th.patch +Patch1: 0002-Remove-all-symbol-table-and-relocation-information-f.patch +Patch2: 0003-feat-add-build-option-to-disable-wayland-support.patch BuildRequires: qt5-devel BuildRequires: cmake @@ -25,7 +25,6 @@ BuildRequires: cmake BuildRequires: dtkwidget-devel BuildRequires: dtkcore-devel BuildRequires: pkgconfig(dtkgui) -# BuildRequires: pkgconfig(dtkwm) BuildRequires: procps-ng-devel BuildRequires: pkgconfig(xcb) @@ -47,12 +46,16 @@ BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: deepin-gettext-tools BuildRequires: qt5-qtbase-private-devel -# BuildRequires: dtkwm-devel # BuildRequires: qt5-qtmultimedia-devel # BuildRequires: dtkcore-devel >= 5.1 BuildRequires: libicu-devel BuildRequires: libnl3-devel BuildRequires: systemd-devel +BuildRequires: dde-qt-dbus-factory-devel +BuildRequires: gsettings-qt-devel +BuildRequires: kf5-kwayland-devel +BuildRequires: dde-dock-devel +BuildRequires: wayland-devel # BuildRequires: pkgconfig(libnl-route-3) #Requires: hicolor-icon-theme Recommends: deepin-manual @@ -62,21 +65,23 @@ Recommends: deepin-manual %prep %autosetup -p1 -# %setup -q -####sed -i 's|lrelease|lrelease-qt5|' translations/translate_generation.sh -# %patch0 -p1 +sed -i 's:/usr/lib/:%{_libdir}/:' deepin-system-monitor-plugin/CMakeLists.txt +sed -i 's:/usr/lib/x86_64-linux-gnu/qt5/bin/:%{_qt5_bindir}/:' \ + deepin-system-monitor-daemon/translations/translate_generation.sh \ + deepin-system-monitor-plugin/translations/translate_generation.sh + %build -export PATH=%{_qt5_bindir}:$PATH sed -i "s|^cmake_minimum_required.*|cmake_minimum_required(VERSION 3.0)|" $(find . -name "CMakeLists.txt") -mkdir build && pushd build -%cmake -DCMAKE_BUILD_TYPE=Release ../ -DAPP_VERSION=%{version} -DVERSION=%{version} -%make_build -popd +%cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DUSE_DEEPIN_WAYLAND=OFF + +%make_build %install -%make_install -C build INSTALL_ROOT="%buildroot" +%make_install INSTALL_ROOT="%buildroot" # %check # desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop ||: @@ -101,12 +106,25 @@ fi %caps(cap_kill,cap_net_raw,cap_dac_read_search,cap_sys_ptrace=+ep) %{_bindir}/%{name} %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +#%%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/%{name}/translations/*.qm %{_datadir}/polkit-1/actions/com.deepin.pkexec.deepin-system-monitor.policy %{_datadir}/deepin-manual/manual-assets/application/deepin-system-monitor/system-monitor/* +%{_datadir}/glib-2.0/schemas/ +%{_libdir}/dde-dock/plugins/libdeepin-system-monitor-plugin.so +%{_datadir}/%{name}-plugin/ +%{_bindir}/%{name}-plugin-popup +%{_datadir}/dbus-1/services/ +%{_datadir}/%{name}-plugin-popup/ +%{_bindir}/%{name}-daemon +%{_sysconfdir}/xdg/autostart +%{_datadir}/%{name}-daemon/ + %changelog +* Mon Jul 24 2023 leeffo - 5.9.31-1 +- upgrade to version 5.9.31 + * Mon Apr 10 2023 liweiganga - 5.8.28-1 - update: update to 5.8.28