Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nethogs for openSUSE:Factory checked in at 2026-07-18 22:24:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nethogs (Old) and /work/SRC/openSUSE:Factory/.nethogs.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nethogs" Sat Jul 18 22:24:23 2026 rev:11 rq:1366455 version:0.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/nethogs/nethogs.changes 2025-01-29 16:10:54.780795183 +0100 +++ /work/SRC/openSUSE:Factory/.nethogs.new.24530/nethogs.changes 2026-07-18 22:25:25.818971575 +0200 @@ -1,0 +2,14 @@ +Mon Jul 13 11:05:00 UTC 2026 - Martin Hauke <[email protected]> + +- Update to version 0.9.0 + * meson: cleanup version detection. #285 + * meson: fix library name. #288 + * Add missing security flags and include CPPFLAGS in libnethogs. + * Allow overriding VERSION from environment. #292 + * src/meson.build: remove unused ncurses++ dependency. #304 + * main,inode2prog: add missing time.h includes. #305 + * Fix 'Error opening terminal' with unknown TERM under sudo. #308 + * Exit on Ctrl-C in the curses UI. #310 +- Use meson instead of classic Makefiles. + +------------------------------------------------------------------- Old: ---- nethogs-v0.8.8.tar.gz New: ---- nethogs-v0.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nethogs.spec ++++++ --- /var/tmp/diff_new_pack.gJv2fq/_old 2026-07-18 22:25:26.314988326 +0200 +++ /var/tmp/diff_new_pack.gJv2fq/_new 2026-07-18 22:25:26.314988326 +0200 @@ -1,7 +1,7 @@ # # spec file for package nethogs # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2013 Pascal Bleser <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -18,7 +18,7 @@ Name: nethogs -Version: 0.8.8 +Version: 0.9.0 Release: 0 Summary: Network Bandwidth Usage Monitor License: GPL-2.0-or-later @@ -28,6 +28,7 @@ Source3: https://keybase.io/raboof/key.asc#/%{name}.keyring BuildRequires: gcc-c++ BuildRequires: libpcap-devel +BuildRequires: meson BuildRequires: ncurses-devel %description @@ -42,24 +43,14 @@ %autosetup -p1 %build -%make_build \ - sbin="%{_sbindir}" \ - bin="%{_sbindir}" \ - man8="%{_mandir}/man8" \ - CFLAGS="%{optflags}" \ - CXXFLAGS="%{optflags}" \ - CXX="g++" \ - nethogs +%meson \ + --bindir=/usr/sbin \ + -Denable-libnethogs=disabled +%meson_build %install -make %{?_smp_mflags} \ - sbin="%{buildroot}%{_sbindir}" \ - bin="%{buildroot}%{_sbindir}" \ - man8="%{buildroot}%{_mandir}/man8" \ - CFLAGS="%{optflags}" \ - CXXFLAGS="%{optflags}" \ - CXX="g++" \ - install +%meson_install +install -Dpm 0644 doc/nethogs.8 -t %{buildroot}%{_mandir}/man8/ %check %make_build test ++++++ nethogs-v0.8.8.tar.gz -> nethogs-v0.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/Makefile new/nethogs-0.9.0/Makefile --- old/nethogs-0.8.8/Makefile 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/Makefile 2026-07-11 12:04:14.000000000 +0200 @@ -1,4 +1,4 @@ -export VERSION := $(shell ./determineVersion.sh) +export VERSION ?= $(shell ./determineVersion.sh) #export PREFIX := /usr export PREFIX ?= /usr/local diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/README.md new/nethogs-0.9.0/README.md --- old/nethogs-0.8.8/README.md 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/README.md 2026-07-11 12:04:14.000000000 +0200 @@ -81,7 +81,17 @@ sudo make uninstall -### Running without root +### Running + +See the manpage for the options. + +You will see a line called 'unknown TCP' - this bucket is used for traffic +that cannot be associated with any process, for example because the process +has terminated before its traffic could be counted. As long as there's not +a significant amount of traffic in this bucket it can likely be safely +ignored. + +#### Running without root In order to be run by a non-root user, nethogs needs the `cap_net_admin` and `cap_net_raw` capabilities; additionally, to read and display process names, `cap_dac_read_search` and `cap_sys_ptrace` capabilities are required. These can be set on the executable by using the `setcap` command, as follows: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/meson.build new/nethogs-0.9.0/meson.build --- old/nethogs-0.8.8/meson.build 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/meson.build 2026-07-11 12:04:14.000000000 +0200 @@ -2,14 +2,14 @@ # See COPYING for more information about licensing # -project('nethogs', - ['c', 'cpp'], - default_options : ['warning_level=3', - 'cpp_std=c++14'] - ) +project( + 'nethogs', + ['c', 'cpp'], + default_options: ['warning_level=3', 'cpp_std=c++14'], + version: run_command('./determineVersion.sh').stdout().strip(), +) cc = meson.get_compiler('cpp') -version = run_command('./determineVersion.sh', check: true).stdout().strip() ####################################### ## Dependencies and flags definition ## @@ -18,17 +18,12 @@ projectinc = [include_directories('.', 'src')] # flags -c_args = [ - '-DVERSION="' + version + '"' -] +c_args = ['-DVERSION="' + meson.project_version() + '"'] # dependencies thread_dep = dependency('threads', required: true) libpcap_dep = dependency('libpcap', required: true) -project_deps = [ - thread_dep, - libpcap_dep -] +project_deps = [thread_dep, libpcap_dep] ############################# ## Code Compilation ## @@ -38,9 +33,12 @@ ############################# ## Pkgconfig definition ## ############################# -pkgconfig = import('pkgconfig') -pkgconfig_install_dir = join_paths(get_option('libdir'), 'pkgconfig') -pkgconfig.generate(libnethogs, - requires: ['libpcap'], - version: version - ) +if get_option('enable-libnethogs').enabled() + pkgconfig = import('pkgconfig') + pkgconfig_install_dir = join_paths(get_option('libdir'), 'pkgconfig') + pkgconfig.generate( + libnethogs, + requires: ['libpcap'], + version: meson.project_version(), + ) +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/src/MakeLib.mk new/nethogs-0.9.0/src/MakeLib.mk --- old/nethogs-0.8.8/src/MakeLib.mk 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/src/MakeLib.mk 2026-07-11 12:04:14.000000000 +0200 @@ -10,7 +10,7 @@ UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) - LDFLAGS:= -shared -Wl,-soname,$(SO_NAME) + LDFLAGS:= -shared -Wl,-soname,$(SO_NAME) -Wl,-z,now -Wl,-z,relro else ifeq ($(UNAME_S),FreeBSD) LDFLAGS:= -shared -Wl,-soname,$(SO_NAME) else @@ -97,11 +97,11 @@ $(ODIR)/devices.o: devices.cpp devices.h @mkdir -p $(ODIR) - $(CXX) $(CXXFLAGS) -o $@ -c devices.cpp + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c devices.cpp $(ODIR)/libnethogs.o: libnethogs.cpp libnethogs.h @mkdir -p $(ODIR) - $(CXX) $(CXXFLAGS) -o $@ -c libnethogs.cpp -DVERSION=\"$(LIBVERSION)\" + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -c libnethogs.cpp -DVERSION=\"$(LIBVERSION)\" .PHONY: clean clean: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/src/cui.cpp new/nethogs-0.9.0/src/cui.cpp --- old/nethogs-0.8.8/src/cui.cpp 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/src/cui.cpp 2026-07-11 12:04:14.000000000 +0200 @@ -278,7 +278,17 @@ } void init_ui() { - WINDOW *screen = initscr(); + SCREEN *term = newterm(NULL, stdout, stdin); + if (!term) { + term = newterm("xterm-256color", stdout, stdin); + if (!term) { + term = newterm("xterm", stdout, stdin); + } + if (!term) { + initscr(); + } + } + WINDOW *screen = stdscr; cursOrig = curs_set(0); raw(); noecho(); @@ -300,6 +310,7 @@ void ui_tick() { switch (getch()) { case 'q': + case 3: /* quit */ quit_cb(0); break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/src/inode2prog.cpp new/nethogs-0.9.0/src/inode2prog.cpp --- old/nethogs-0.8.8/src/inode2prog.cpp 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/src/inode2prog.cpp 2026-07-11 12:04:14.000000000 +0200 @@ -36,6 +36,7 @@ #include <string> #include <sys/stat.h> #include <sys/types.h> +#include <time.h> #include <unistd.h> #include "inode2prog.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/src/main.cpp new/nethogs-0.9.0/src/main.cpp --- old/nethogs-0.8.8/src/main.cpp 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/src/main.cpp 2026-07-11 12:04:14.000000000 +0200 @@ -3,6 +3,7 @@ #include <set> #include <vector> #include <list> +#include <time.h> #ifdef __linux__ #include <linux/capability.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nethogs-0.8.8/src/meson.build new/nethogs-0.9.0/src/meson.build --- old/nethogs-0.8.8/src/meson.build 2024-09-20 12:12:57.000000000 +0200 +++ new/nethogs-0.9.0/src/meson.build 2026-07-11 12:04:14.000000000 +0200 @@ -3,65 +3,55 @@ # sources = [ - files([ - 'connection.cpp', - 'conninode.cpp', - 'decpcap.c', - 'devices.cpp', - 'inode2prog.cpp', - 'packet.cpp', - 'process.cpp', - ]) + files( + 'connection.cpp', + 'conninode.cpp', + 'decpcap.c', + 'devices.cpp', + 'inode2prog.cpp', + 'packet.cpp', + 'process.cpp', + ), ] # --- Executable Compilation --- if get_option('enable-nethogs-app').enabled() - app_sources = [ - files([ - 'main.cpp', - 'cui.cpp', - ]) - ] - - cursespp_dep = dependency('ncurses++', required: true) - curses_dep = dependency('ncurses', required: true) - - executable('nethogs', - [app_sources + sources], - include_directories: [projectinc], - cpp_args: c_args, - c_args: c_args, - install: true, - dependencies : [project_deps, cursespp_dep, curses_dep] - ) + app_sources = [files('cui.cpp', 'main.cpp')] + + curses_dep = dependency('ncurses', required: true) + + executable( + 'nethogs', + [app_sources + sources], + include_directories: [projectinc], + cpp_args: c_args, + c_args: c_args, + install: true, + dependencies: [project_deps, curses_dep], + ) endif # --- Library Compilation --- if get_option('enable-libnethogs').enabled() - lib_sources = [ - files([ - 'libnethogs.cpp', - ]) - ] - - libnethogs = shared_library('libnethogs' , - sources + lib_sources, - cpp_args: c_args, - c_args: c_args, - install: true, - soversion: meson.project_version(), - include_directories: [projectinc], - dependencies: [project_deps] - ) - - libnethogs_dep = declare_dependency(link_with: libnethogs) - - # --- Header Installation --- - - lib_headers = [ - files('libnethogs.h'), - ] - install_headers(lib_headers, subdir : 'libnethogs') + lib_sources = [files('libnethogs.cpp')] + + libnethogs = shared_library( + 'nethogs' , + sources + lib_sources, + cpp_args: c_args, + c_args: c_args, + install: true, + soversion: meson.project_version(), + include_directories: [projectinc], + dependencies: [project_deps], + ) + + libnethogs_dep = declare_dependency(link_with: libnethogs) + + # --- Header Installation --- + + lib_headers = [files('libnethogs.h')] + install_headers(lib_headers, subdir: 'libnethogs') endif
