Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package btop for openSUSE:Factory checked in at 2025-05-20 09:37:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/btop (Old) and /work/SRC/openSUSE:Factory/.btop.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "btop" Tue May 20 09:37:09 2025 rev:35 rq:1278185 version:1.4.3+git20250511.ffcd064 Changes: -------- --- /work/SRC/openSUSE:Factory/btop/btop.changes 2025-05-09 18:51:43.693998912 +0200 +++ /work/SRC/openSUSE:Factory/.btop.new.30101/btop.changes 2025-05-20 09:39:24.864900496 +0200 @@ -1,0 +2,13 @@ +Sun May 11 00:31:30 UTC 2025 - Scott Bradnick <scott.bradn...@suse.com> + +- Update to version 1.4.3+git20250511.ffcd064: + * Fix dangling reference warnings for GCC 13 and later + * v1.4.3 Bug fixes + * Sync CMake.gitignore template + * Ignore incomplete filter regex + * Remove redundant optimization flag + * Enable additional checks in libc++ with the new hardening mode + * Revert e266ccd which broke str_to_upper() and str_to_lower() + * ci: run cmake workflows on changes to the cmake module folder + +------------------------------------------------------------------- Old: ---- btop-1.4.2+git20250501.274d0c7.tar.gz New: ---- btop-1.4.3+git20250511.ffcd064.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ btop.spec ++++++ --- /var/tmp/diff_new_pack.5j1R65/_old 2025-05-20 09:39:27.016999673 +0200 +++ /var/tmp/diff_new_pack.5j1R65/_new 2025-05-20 09:39:27.033000410 +0200 @@ -17,7 +17,7 @@ %define ROCm_version 6.4.0 Name: btop -Version: 1.4.2+git20250501.274d0c7 +Version: 1.4.3+git20250511.ffcd064 Release: 0 Summary: Usage and stats for processor, memory, disks, network and processes License: Apache-2.0 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.5j1R65/_old 2025-05-20 09:39:27.373016080 +0200 +++ /var/tmp/diff_new_pack.5j1R65/_new 2025-05-20 09:39:27.401017370 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/aristocratos/btop</param> - <param name="changesrevision">274d0c78e5f18514dfbea23cee9d1c5431eb75e0</param></service></servicedata> + <param name="changesrevision">ffcd064a36cf1b1d02bd04c494f340cda21f074f</param></service></servicedata> (No newline at EOF) ++++++ btop-1.4.2+git20250501.274d0c7.tar.gz -> btop-1.4.3+git20250511.ffcd064.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-freebsd.yml new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-freebsd.yml --- old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-freebsd.yml 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-freebsd.yml 2025-05-11 01:07:52.000000000 +0200 @@ -7,6 +7,7 @@ paths: - '.github/workflows/cmake-freebsd.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/freebsd/*pp' @@ -15,6 +16,7 @@ paths: - '.github/workflows/cmake-freebsd.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/freebsd/*pp' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-linux.yml new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-linux.yml --- old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-linux.yml 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-linux.yml 2025-05-11 01:07:52.000000000 +0200 @@ -7,6 +7,7 @@ paths: - '.github/workflows/cmake-linux.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/linux/*pp' @@ -15,6 +16,7 @@ paths: - '.github/workflows/cmake-linux.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/linux/*pp' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-macos.yml new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-macos.yml --- old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-macos.yml 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-macos.yml 2025-05-11 01:07:52.000000000 +0200 @@ -7,6 +7,7 @@ paths: - '.github/workflows/cmake-macos.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/osx/*pp' @@ -15,6 +16,7 @@ paths: - '.github/workflows/cmake-macos.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/osx/*pp' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-netbsd.yml new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-netbsd.yml --- old/btop-1.4.2+git20250501.274d0c7/.github/workflows/cmake-netbsd.yml 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/.github/workflows/cmake-netbsd.yml 2025-05-11 01:07:52.000000000 +0200 @@ -7,6 +7,7 @@ paths: - '.github/workflows/cmake-netbsd.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/netbsd/*pp' @@ -15,6 +16,7 @@ paths: - '.github/workflows/cmake-netbsd.yml' - 'CMakeLists.txt' + - 'cmake/**' - 'include/**' - 'src/*pp' - 'src/netbsd/*pp' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/.gitignore new/btop-1.4.3+git20250511.ffcd064/.gitignore --- old/btop-1.4.2+git20250501.274d0c7/.gitignore 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/.gitignore 2025-05-11 01:07:52.000000000 +0200 @@ -84,6 +84,7 @@ compile_commands.json CTestTestfile.cmake _deps +CMakeUserPresets.json # CLion cmake-build-* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/CHANGELOG.md new/btop-1.4.3+git20250511.ffcd064/CHANGELOG.md --- old/btop-1.4.2+git20250501.274d0c7/CHANGELOG.md 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/CHANGELOG.md 2025-05-11 01:07:52.000000000 +0200 @@ -1,3 +1,12 @@ +## v1.4.3 + +References | Description | Author(s) +--- | --- | --- +c3b225f | Revert e266ccd which broke str_to_upper() and str_to_lower() | @aristocratos +#1137 | Enable additional checks in libc++ with the new hardening mode | @imwints +#1135 | Remove redundant optimization flag | @imwints +#1139 | Ignore incomplete filter regex, issue #1133 | @imwints + ## v1.4.2 References | Description | Author(s) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/CMakeLists.txt new/btop-1.4.3+git20250511.ffcd064/CMakeLists.txt --- old/btop-1.4.2+git20250501.274d0c7/CMakeLists.txt 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/CMakeLists.txt 2025-05-11 01:07:52.000000000 +0200 @@ -115,7 +115,7 @@ endif() endif() -target_compile_options(btop PRIVATE -Wall -Wextra -Wpedantic -ftree-vectorize) +target_compile_options(btop PRIVATE -Wall -Wextra -Wpedantic) if(BTOP_PEDANTIC) target_compile_options(btop PRIVATE @@ -145,7 +145,7 @@ target_compile_definitions(btop PRIVATE FMT_HEADER_ONLY _FILE_OFFSET_BITS=64 - $<$<CONFIG:Debug>:_GLIBCXX_ASSERTIONS _LIBCPP_ENABLE_ASSERTIONS=1> + $<$<CONFIG:Debug>:_GLIBCXX_ASSERTIONS _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG> ) target_include_directories(btop SYSTEM PRIVATE include) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/Makefile new/btop-1.4.3+git20250511.ffcd064/Makefile --- old/btop-1.4.2+git20250501.274d0c7/Makefile 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/Makefile 2025-05-11 01:07:52.000000000 +0200 @@ -169,8 +169,8 @@ #? Flags, Libraries and Includes override REQFLAGS := -std=c++20 WARNFLAGS := -Wall -Wextra -pedantic -OPTFLAGS := -O2 -ftree-vectorize $(LTO) -LDCXXFLAGS := -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_FILE_OFFSET_BITS=64 $(GOODFLAGS) $(ADDFLAGS) +OPTFLAGS := -O2 $(LTO) +LDCXXFLAGS := -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64 $(GOODFLAGS) $(ADDFLAGS) override CXXFLAGS += $(REQFLAGS) $(LDCXXFLAGS) $(OPTFLAGS) $(WARNFLAGS) override LDFLAGS += $(LDCXXFLAGS) $(OPTFLAGS) $(WARNFLAGS) INC := $(foreach incdir,$(INCDIRS),-isystem $(incdir)) -I$(SRCDIR) -I$(BUILDDIR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/src/btop.cpp new/btop-1.4.3+git20250511.ffcd064/src/btop.cpp --- old/btop-1.4.2+git20250501.274d0c7/src/btop.cpp 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/src/btop.cpp 2025-05-11 01:07:52.000000000 +0200 @@ -81,7 +81,7 @@ {"#801414", "██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ╚═╝"}, {"#000000", "╚═════╝ ╚═╝ ╚═════╝ ╚═╝"}, }; - const string Version = "1.4.2"; + const string Version = "1.4.3"; int coreCount; string overlay; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/src/btop_draw.cpp new/btop-1.4.3+git20250511.ffcd064/src/btop_draw.cpp --- old/btop-1.4.2+git20250501.274d0c7/src/btop_draw.cpp 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/src/btop_draw.cpp 2025-05-11 01:07:52.000000000 +0200 @@ -809,7 +809,7 @@ + Theme::g("cpu").at(clamp(safeVal(cpu.cpu_percent, "total"s).back(), 0ll, 100ll)) + rjust(to_string(safeVal(cpu.cpu_percent, "total"s).back()), 4) + Theme::c("main_fg") + '%'; if (show_temps) { const auto [temp, unit] = celsius_to(safeVal(cpu.temp, 0).back(), temp_scale); - const auto& temp_color = Theme::g("temp").at(clamp(safeVal(cpu.temp, 0).back() * 100 / cpu.temp_max, 0ll, 100ll)); + const auto temp_color = Theme::g("temp").at(clamp(safeVal(cpu.temp, 0).back() * 100 / cpu.temp_max, 0ll, 100ll)); if ((b_column_size > 1 or b_columns > 1) and temp_graphs.size() >= 1ll) out += ' ' + Theme::c("inactive_fg") + graph_bg * 5 + Mv::l(5) + temp_color + temp_graphs.at(0)(safeVal(cpu.temp, 0), data_same or redraw); @@ -834,7 +834,7 @@ if (show_temps and not hide_cores) { const auto [temp, unit] = celsius_to(safeVal(cpu.temp, n+1).back(), temp_scale); - const auto& temp_color = Theme::g("temp").at(clamp(safeVal(cpu.temp, n+1).back() * 100 / cpu.temp_max, 0ll, 100ll)); + const auto temp_color = Theme::g("temp").at(clamp(safeVal(cpu.temp, n+1).back() * 100 / cpu.temp_max, 0ll, 100ll)); if (b_column_size > 1 and std::cmp_greater_equal(temp_graphs.size(), n)) out += ' ' + Theme::c("inactive_fg") + graph_bg * 5 + Mv::l(5) + temp_graphs.at(n+1)(safeVal(cpu.temp, n+1), data_same or redraw); @@ -1286,7 +1286,7 @@ for (const auto& mount : mem.disks_order) { if (not disks.contains(mount)) continue; if (cy > height - 3) break; - const auto& disk = safeVal(disks, mount); + const auto disk = safeVal(disks, mount); if (disk.io_read.empty()) continue; const string total = floating_humanizer(disk.total, not big_disk); out += Mv::to(y+1+cy, x+1+cx) + divider + Theme::c("title") + Fx::b + uresize(disk.name, disks_width - 8) + Mv::to(y+1+cy, x+cx + disks_width - total.size()) @@ -1326,7 +1326,7 @@ for (const auto& mount : mem.disks_order) { if (not disks.contains(mount)) continue; if (cy > height - 3) break; - const auto& disk = safeVal(disks, mount); + const auto disk = safeVal(disks, mount); if (disk.name.empty() or not disk_meters_used.contains(mount)) continue; auto comb_val = (not disk.io_read.empty() ? disk.io_read.back() + disk.io_write.back() : 0ll); const string human_io = (comb_val > 0 ? (disk.io_write.back() > 0 and big_disk ? "▼"s : ""s) + (disk.io_read.back() > 0 and big_disk ? "▲"s : ""s) @@ -1619,8 +1619,8 @@ out += Mv::to(d_y, d_x - 1) + Theme::c("proc_box") + Symbols::div_up + Mv::to(y, d_x - 1) + Symbols::div_down + Theme::c("div_line"); for (const int& i : iota(1, 8)) out += Mv::to(d_y + i, d_x - 1) + Symbols::v_line; - const string& t_color = (not alive or selected > 0 ? Theme::c("inactive_fg") : Theme::c("title")); - const string& hi_color = (not alive or selected > 0 ? t_color : Theme::c("hi_fg")); + const string t_color = (not alive or selected > 0 ? Theme::c("inactive_fg") : Theme::c("title")); + const string hi_color = (not alive or selected > 0 ? t_color : Theme::c("hi_fg")); const string hide = (selected > 0 ? t_color + "hide " : Theme::c("title") + "hide " + Theme::c("hi_fg")); int mouse_x = d_x + 2; out += Mv::to(d_y, d_x + 1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/src/btop_menu.cpp new/btop-1.4.3+git20250511.ffcd064/src/btop_menu.cpp --- old/btop-1.4.2+git20250501.274d0c7/src/btop_menu.cpp 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/src/btop_menu.cpp 2025-05-11 01:07:52.000000000 +0200 @@ -826,12 +826,12 @@ string msgBox::operator()() { string out; int pos = width / 2 - (boxtype == 0 ? 6 : 14); - auto& first_color = (selected == 0 ? Theme::c("hi_fg") : Theme::c("div_line")); + const auto first_color = (selected == 0 ? Theme::c("hi_fg") : Theme::c("div_line")); out = Mv::d(1) + Mv::r(pos) + Fx::b + first_color + button_left + (selected == 0 ? Theme::c("title") : Theme::c("main_fg") + Fx::ub) + (boxtype == 0 ? " Ok " : " Yes ") + first_color + button_right; mouse_mappings["button1"] = Input::Mouse_loc{y + height - 4, x + pos + 1, 3, 12 + (boxtype > 0 ? 1 : 0)}; if (boxtype > 0) { - auto& second_color = (selected == 1 ? Theme::c("hi_fg") : Theme::c("div_line")); + const auto second_color = (selected == 1 ? Theme::c("hi_fg") : Theme::c("div_line")); out += Mv::r(2) + second_color + button_left + (selected == 1 ? Theme::c("title") : Theme::c("main_fg") + Fx::ub) + " No " + second_color + button_right; mouse_mappings["button2"] = Input::Mouse_loc{y + height - 4, x + pos + 15 + (boxtype > 0 ? 1 : 0), 3, 12}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/src/btop_shared.cpp new/btop-1.4.3+git20250511.ffcd064/src/btop_shared.cpp --- old/btop-1.4.2+git20250501.274d0c7/src/btop_shared.cpp 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/src/btop_shared.cpp 2025-05-11 01:07:52.000000000 +0200 @@ -159,20 +159,24 @@ } } - bool matches_filter(const proc_info& proc, const std::string& filter) { + auto matches_filter(const proc_info& proc, const std::string& filter) -> bool { if (filter.starts_with("!")) { if (filter.size() == 1) { return true; } - std::regex regex{filter.substr(1), std::regex::extended}; - return std::regex_search(std::to_string(proc.pid), regex) || - std::regex_search(proc.name, regex) || std::regex_match(proc.cmd, regex) || - std::regex_search(proc.user, regex); - } else { - return s_contains(std::to_string(proc.pid), filter) || - s_contains_ic(proc.name, filter) || s_contains_ic(proc.cmd, filter) || - s_contains_ic(proc.user, filter); + + // An incomplete regex throws, see issue https://github.com/aristocratos/btop/issues/1133 + try { + std::regex regex { filter.substr(1), std::regex::extended }; + return std::regex_search(std::to_string(proc.pid), regex) || std::regex_search(proc.name, regex) || + std::regex_match(proc.cmd, regex) || std::regex_search(proc.user, regex); + } catch (std::regex_error& /* unused */) { + return false; + } } + + return s_contains(std::to_string(proc.pid), filter) || s_contains_ic(proc.name, filter) || + s_contains_ic(proc.cmd, filter) || s_contains_ic(proc.user, filter); } void _tree_gen(proc_info& cur_proc, vector<proc_info>& in_procs, vector<tree_proc>& out_procs, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/src/btop_shared.hpp new/btop-1.4.3+git20250511.ffcd064/src/btop_shared.hpp --- old/btop-1.4.2+git20250501.274d0c7/src/btop_shared.hpp 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/src/btop_shared.hpp 2025-05-11 01:07:52.000000000 +0200 @@ -432,7 +432,7 @@ void tree_sort(vector<tree_proc>& proc_vec, const string& sorting, bool reverse, int& c_index, const int index_max, bool collapsed = false); - bool matches_filter(const proc_info& proc, const std::string& filter); + auto matches_filter(const proc_info& proc, const std::string& filter) -> bool; //* Generate process tree list void _tree_gen(proc_info& cur_proc, vector<proc_info>& in_procs, vector<tree_proc>& out_procs, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btop-1.4.2+git20250501.274d0c7/src/btop_tools.hpp new/btop-1.4.3+git20250511.ffcd064/src/btop_tools.hpp --- old/btop-1.4.2+git20250501.274d0c7/src/btop_tools.hpp 2025-05-01 22:24:11.000000000 +0200 +++ new/btop-1.4.3+git20250511.ffcd064/src/btop_tools.hpp 2025-05-11 01:07:52.000000000 +0200 @@ -238,13 +238,13 @@ //* Return <str> with only uppercase characters inline auto str_to_upper(string str) { - std::ranges::for_each(str, ::toupper); + std::ranges::for_each(str, [](auto& c) { c = ::toupper(c); } ); return str; } //* Return <str> with only lowercase characters inline auto str_to_lower(string str) { - std::ranges::for_each(str, ::tolower); + std::ranges::for_each(str, [](char& c) { c = ::tolower(c); } ); return str; } ++++++ btop.obsinfo ++++++ --- /var/tmp/diff_new_pack.5j1R65/_old 2025-05-20 09:39:28.289058294 +0200 +++ /var/tmp/diff_new_pack.5j1R65/_new 2025-05-20 09:39:28.305059032 +0200 @@ -1,5 +1,5 @@ name: btop -version: 1.4.2+git20250501.274d0c7 -mtime: 1746131051 -commit: 274d0c78e5f18514dfbea23cee9d1c5431eb75e0 +version: 1.4.3+git20250511.ffcd064 +mtime: 1746918472 +commit: ffcd064a36cf1b1d02bd04c494f340cda21f074f