Diff of the two buildlogs:

--
--- b1/build.log	2025-03-19 14:14:56.037872208 +0000
+++ b2/build.log	2025-03-19 14:16:57.228444325 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Wed Mar 19 02:09:08 -12 2025
-I: pbuilder-time-stamp: 1742393348
+I: Current time: Wed Apr 22 10:37:57 +14 2026
+I: pbuilder-time-stamp: 1776803877
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -27,52 +27,84 @@
 dpkg-source: info: applying 0004-build-with-gettext-0_23_1.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/407749/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos5-amd64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Apr 21 20:38 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='amd64'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='amd64'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=amd64
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 '
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=x86_64
+  HOST_ARCH=amd64
   IFS=' 	
   '
-  INVOCATION_ID='6234c6aa79b047559f8f107df6e6feef'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='407749'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=eab93758c5944b6cbf7c3a3dfbde8a2f
+  LANG=C
+  LANGUAGE=et_EE:et
+  LC_ALL=C
+  MACHTYPE=x86_64-pc-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=1168656
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.VWueGKRj/pbuilderrc_9Kqb --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.VWueGKRj/b1 --logfile b1/build.log powertop_2.15-4.dsc'
-  SUDO_GID='111'
-  SUDO_UID='106'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://46.16.76.132:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.VWueGKRj/pbuilderrc_DHbT --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.VWueGKRj/b2 --logfile b2/build.log powertop_2.15-4.dsc'
+  SUDO_GID=110
+  SUDO_UID=105
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://213.165.73.152:3128
 I: uname -a
-  Linux ionos11-amd64 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/407749/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Mar  4  2025 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -166,7 +198,7 @@
 Get: 44 http://deb.debian.org/debian trixie/main amd64 libpkgconf3 amd64 1.8.1-4 [36.4 kB]
 Get: 45 http://deb.debian.org/debian trixie/main amd64 pkgconf-bin amd64 1.8.1-4 [30.2 kB]
 Get: 46 http://deb.debian.org/debian trixie/main amd64 pkgconf amd64 1.8.1-4 [26.2 kB]
-Fetched 24.0 MB in 5s (4866 kB/s)
+Fetched 24.0 MB in 3s (8798 kB/s)
 Preconfiguring packages ...
 Selecting previously unselected package autoconf-archive.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19785 files and directories currently installed.)
@@ -365,7 +397,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/powertop-2.15/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../powertop_2.15-4_source.changes
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/powertop-2.15/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../powertop_2.15-4_source.changes
 dpkg-buildpackage: info: source package powertop
 dpkg-buildpackage: info: source version 2.15-4
 dpkg-buildpackage: info: source distribution unstable
@@ -652,32 +688,32 @@
 config.status: creating po/Makefile
 config.status: executing libtool commands
    dh_auto_build
-	make -j20
+	make -j42
 make[1]: Entering directory '/build/reproducible-path/powertop-2.15'
 make  all-recursive
 make[2]: Entering directory '/build/reproducible-path/powertop-2.15'
 Making all in traceevent
 make[3]: Entering directory '/build/reproducible-path/powertop-2.15/traceevent'
-/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o event-parse.lo event-parse.c
-/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o parse-filter.lo parse-filter.c
-/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o parse-utils.lo parse-utils.c
-/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o trace-seq.lo trace-seq.c
-libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c parse-utils.c  -fPIC -DPIC -o .libs/parse-utils.o
+/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o event-parse.lo event-parse.c
+/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o parse-filter.lo parse-filter.c
+/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o parse-utils.lo parse-utils.c
+/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o trace-seq.lo trace-seq.c
 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c event-parse.c  -fPIC -DPIC -o .libs/event-parse.o
-libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c parse-filter.c  -fPIC -DPIC -o .libs/parse-filter.o
 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c trace-seq.c  -fPIC -DPIC -o .libs/trace-seq.o
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c parse-filter.c  -fPIC -DPIC -o .libs/parse-filter.o
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c parse-utils.c  -fPIC -DPIC -o .libs/parse-utils.o
 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c parse-utils.c -o parse-utils.o >/dev/null 2>&1
 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c trace-seq.c -o trace-seq.o >/dev/null 2>&1
 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c parse-filter.c -o parse-filter.o >/dev/null 2>&1
 libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c event-parse.c -o event-parse.o >/dev/null 2>&1
-/bin/bash ../libtool  --tag=CC   --mode=link gcc  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread  -Wl,-z,relro -Wl,-z,now -o libtraceevnet.la  event-parse.lo parse-filter.lo parse-utils.lo trace-seq.lo  -lpthread  
+/bin/sh ../libtool  --tag=CC   --mode=link gcc  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread  -Wl,-z,relro -Wl,-z,now -o libtraceevnet.la  event-parse.lo parse-filter.lo parse-utils.lo trace-seq.lo  -lpthread  
 libtool: link: ar cr .libs/libtraceevnet.a .libs/event-parse.o .libs/parse-filter.o .libs/parse-utils.o .libs/trace-seq.o 
 libtool: link: ranlib .libs/libtraceevnet.a
 libtool: link: ( cd ".libs" && rm -f "libtraceevnet.la" && ln -s "../libtraceevnet.la" "libtraceevnet.la" )
 make[3]: Leaving directory '/build/reproducible-path/powertop-2.15/traceevent'
 Making all in src
 make[3]: Entering directory '/build/reproducible-path/powertop-2.15/src'
-/bin/bash ./csstoh.sh ./powertop.css css.h
+/bin/sh ./csstoh.sh ./powertop.css css.h
 make  all-am
 make[4]: Entering directory '/build/reproducible-path/powertop-2.15/src'
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o powertop-devlist.o `test -f 'devlist.cpp' || echo './'`devlist.cpp
@@ -700,15 +736,258 @@
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-alsa.o `test -f 'devices/alsa.cpp' || echo './'`devices/alsa.cpp
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-backlight.o `test -f 'devices/backlight.cpp' || echo './'`devices/backlight.cpp
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-devfreq.o `test -f 'devices/devfreq.cpp' || echo './'`devices/devfreq.cpp
-In file included from cpu/cpudevice.cpp:29:
-cpu/../lib.h: In constructor 'cpudevice::cpudevice(const char*, const char*, abstract_cpu*)':
-cpu/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-cpu/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-device.o `test -f 'devices/device.cpp' || echo './'`devices/device.cpp
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-gpu_rapl_device.o `test -f 'devices/gpu_rapl_device.cpp' || echo './'`devices/gpu_rapl_device.cpp
 g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-i915-gpu.o `test -f 'devices/i915-gpu.cpp' || echo './'`devices/i915-gpu.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-network.o `test -f 'devices/network.cpp' || echo './'`devices/network.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-rfkill.o `test -f 'devices/rfkill.cpp' || echo './'`devices/rfkill.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-runtime_pm.o `test -f 'devices/runtime_pm.cpp' || echo './'`devices/runtime_pm.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-thinkpad-fan.o `test -f 'devices/thinkpad-fan.cpp' || echo './'`devices/thinkpad-fan.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-thinkpad-light.o `test -f 'devices/thinkpad-light.cpp' || echo './'`devices/thinkpad-light.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-usb.o `test -f 'devices/usb.cpp' || echo './'`devices/usb.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-acpi.o `test -f 'measurement/acpi.cpp' || echo './'`measurement/acpi.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-extech.o `test -f 'measurement/extech.cpp' || echo './'`measurement/extech.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-measurement.o `test -f 'measurement/measurement.cpp' || echo './'`measurement/measurement.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-sysfs.o `test -f 'measurement/sysfs.cpp' || echo './'`measurement/sysfs.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-opal-sensors.o `test -f 'measurement/opal-sensors.cpp' || echo './'`measurement/opal-sensors.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o parameters/powertop-learn.o `test -f 'parameters/learn.cpp' || echo './'`parameters/learn.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o parameters/powertop-parameters.o `test -f 'parameters/parameters.cpp' || echo './'`parameters/parameters.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o parameters/powertop-persistent.o `test -f 'parameters/persistent.cpp' || echo './'`parameters/persistent.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o perf/powertop-perf.o `test -f 'perf/perf.cpp' || echo './'`perf/perf.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o perf/powertop-perf_bundle.o `test -f 'perf/perf_bundle.cpp' || echo './'`perf/perf_bundle.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-do_process.o `test -f 'process/do_process.cpp' || echo './'`process/do_process.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-interrupt.o `test -f 'process/interrupt.cpp' || echo './'`process/interrupt.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-powerconsumer.o `test -f 'process/powerconsumer.cpp' || echo './'`process/powerconsumer.cpp
+In file included from measurement/sysfs.cpp:27:
+measurement/../lib.h: In constructor 'sysfs_power_meter::sysfs_power_meter(const char*)':
+measurement/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+In file included from process/interrupt.cpp:30:
+process/../lib.h: In constructor 'interrupt::interrupt(const char*, int)':
+process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+devices/alsa.cpp: In member function 'virtual const char* alsa::human_name()':
+devices/alsa.cpp:205:57: warning: ' (' directive output may be truncated writing 2 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  205 |                 snprintf(temp_buf, sizeof(temp_buf), "%s (%s)", humanname, guilty);
+      |                                                         ^~
+In file included from /usr/include/stdio.h:970,
+                 from /usr/include/c++/14/cstdio:42,
+                 from /usr/include/c++/14/ext/string_conversions.h:45,
+                 from /usr/include/c++/14/bits/basic_string.h:4154,
+                 from /usr/include/c++/14/string:54,
+                 from /usr/include/c++/14/bits/locale_classes.h:40,
+                 from /usr/include/c++/14/bits/ios_base.h:41,
+                 from /usr/include/c++/14/ios:44,
+                 from /usr/include/c++/14/ostream:40,
+                 from /usr/include/c++/14/iostream:41,
+                 from devices/alsa.cpp:25:
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual const char* alsa::human_name()' at devices/alsa.cpp:205:11:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 4 and 8194 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+In file included from devices/../parameters/parameters.h:35,
+                 from devices/usb.h:31,
+                 from devices/usb.cpp:25:
+devices/../parameters/../lib.h: In constructor 'usbdevice::usbdevice(const char*, const char*, const char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+In file included from devices/../parameters/parameters.h:35,
+                 from devices/alsa.h:30,
+                 from devices/alsa.cpp:35:
+devices/../parameters/../lib.h: In constructor 'alsa::alsa(const char*, const char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+In file included from measurement/acpi.cpp:33:
+measurement/../lib.h: In constructor 'acpi_power_meter::acpi_power_meter(const char*)':
+measurement/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+measurement/opal-sensors.cpp: In constructor 'opal_sensors_power_meter::opal_sensors_power_meter(const char*)':
+measurement/opal-sensors.cpp:34:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   34 |         strncpy(name, power_supply_name, sizeof(name));
+      |                ^
+devices/usb.cpp: In member function 'virtual void usbdevice::start_measurement()':
+devices/usb.cpp:129:49: warning: '/power/active_duration' directive output may be truncated writing 22 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  129 |         snprintf(fullpath, sizeof(fullpath), "%s/power/active_duration", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/stdio.h:970,
+                 from /usr/include/c++/14/cstdio:42,
+                 from /usr/include/c++/14/ext/string_conversions.h:45,
+                 from /usr/include/c++/14/bits/basic_string.h:4154,
+                 from /usr/include/c++/14/string:54,
+                 from devices/../parameters/parameters.h:31:
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void usbdevice::start_measurement()' at devices/usb.cpp:129:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 23 and 4118 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/usb.cpp: In member function 'virtual void usbdevice::start_measurement()':
+devices/usb.cpp:136:49: warning: '/power/connected_duration' directive output may be truncated writing 25 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  136 |         snprintf(fullpath, sizeof(fullpath), "%s/power/connected_duration", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void usbdevice::start_measurement()' at devices/usb.cpp:136:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 26 and 4121 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-process.o `test -f 'process/process.cpp' || echo './'`process/process.cpp
+devices/alsa.cpp: In member function 'virtual void alsa::start_measurement()':
+devices/alsa.cpp:89:49: warning: '/power_off_acct' directive output may be truncated writing 15 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   89 |         snprintf(filename, sizeof(filename), "%s/power_off_acct", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void alsa::start_measurement()' at devices/alsa.cpp:89:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/alsa.cpp: In member function 'virtual void alsa::start_measurement()':
+devices/alsa.cpp:96:57: warning: '/power_on_acct' directive output may be truncated writing 14 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   96 |                 snprintf(filename, sizeof(filename), "%s/power_on_acct", sysfs_path);
+      |                                                         ^~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void alsa::start_measurement()' at devices/alsa.cpp:96:11:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 15 and 4110 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/usb.cpp: In member function 'virtual void usbdevice::end_measurement()':
+devices/usb.cpp:149:49: warning: '/power/active_duration' directive output may be truncated writing 22 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  149 |         snprintf(fullpath, sizeof(fullpath), "%s/power/active_duration", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void usbdevice::end_measurement()' at devices/usb.cpp:149:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 23 and 4118 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/usb.cpp: In member function 'virtual void usbdevice::end_measurement()':
+devices/usb.cpp:156:49: warning: '/power/connected_duration' directive output may be truncated writing 25 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  156 |         snprintf(fullpath, sizeof(fullpath), "%s/power/connected_duration", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void usbdevice::end_measurement()' at devices/usb.cpp:156:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 26 and 4121 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-processdevice.o `test -f 'process/processdevice.cpp' || echo './'`process/processdevice.cpp
+devices/alsa.cpp: In member function 'virtual void alsa::end_measurement()':
+devices/alsa.cpp:115:49: warning: '/power_off_acct' directive output may be truncated writing 15 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  115 |         snprintf(filename, sizeof(filename), "%s/power_off_acct", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void alsa::end_measurement()' at devices/alsa.cpp:115:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/alsa.cpp: In member function 'virtual void alsa::end_measurement()':
+devices/alsa.cpp:122:57: warning: '/power_on_acct' directive output may be truncated writing 14 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  122 |                 snprintf(filename, sizeof(filename), "%s/power_on_acct", sysfs_path);
+      |                                                         ^~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void alsa::end_measurement()' at devices/alsa.cpp:122:11:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 15 and 4110 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/usb.cpp: In function 'void create_all_usb_devices_callback(const char*)':
+devices/usb.cpp:226:55: warning: '/power/active_duration' directive output may be truncated writing 22 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  226 |         snprintf(device_name, sizeof(device_name), "%s/power/active_duration", filename);
+      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'void create_all_usb_devices_callback(const char*)' at devices/usb.cpp:226:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 23 and 4118 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/usb.cpp: In function 'void create_all_usb_devices_callback(const char*)':
+devices/usb.cpp:230:55: warning: '/idVendor' directive output may be truncated writing 9 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  230 |         snprintf(device_name, sizeof(device_name), "%s/idVendor", filename);
+      |                                                       ^~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'void create_all_usb_devices_callback(const char*)' at devices/usb.cpp:230:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 10 and 4105 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/usb.cpp: In function 'void create_all_usb_devices_callback(const char*)':
+devices/usb.cpp:235:55: warning: '/idProduct' directive output may be truncated writing 10 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  235 |         snprintf(device_name, sizeof(device_name), "%s/idProduct", filename);
+      |                                                       ^~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'void create_all_usb_devices_callback(const char*)' at devices/usb.cpp:235:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 11 and 4106 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-timer.o `test -f 'process/timer.cpp' || echo './'`process/timer.cpp
+In file included from cpu/abstract_cpu.cpp:32:
+cpu/../lib.h: In member function 'void abstract_cpu::insert_cstate(const char*, const char*, uint64_t, uint64_t, int, int)':
+cpu/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-work.o `test -f 'process/work.cpp' || echo './'`process/work.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-data-html.o `test -f 'report/report-data-html.cpp' || echo './'`report/report-data-html.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-formatter-base.o `test -f 'report/report-formatter-base.cpp' || echo './'`report/report-formatter-base.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-formatter-csv.o `test -f 'report/report-formatter-csv.cpp' || echo './'`report/report-formatter-csv.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-formatter-html.o `test -f 'report/report-formatter-html.cpp' || echo './'`report/report-formatter-html.cpp
+In file included from devices/../parameters/parameters.h:35,
+                 from devices/runtime_pm.h:31,
+                 from devices/runtime_pm.cpp:25:
+devices/../parameters/../lib.h: In constructor 'runtime_pmdevice::runtime_pmdevice(const char*, const char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-maker.o `test -f 'report/report-maker.cpp' || echo './'`report/report-maker.cpp
 devices/backlight.cpp: In member function 'virtual double backlight::power_usage(result_bundle*, parameter_bundle*)':
 devices/backlight.cpp:217:39: warning: '-power' directive writing 6 bytes into a region of size between 1 and 4096 [-Wformat-overflow=]
   217 |                 sprintf(powername, "%s-power", name);
@@ -733,16 +1012,50 @@
       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    32 |                                   __va_arg_pack ());
       |                                   ~~~~~~~~~~~~~~~~~
+devices/../parameters/../lib.h: In member function 'void runtime_pmdevice::set_human_name(char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report.o `test -f 'report/report.cpp' || echo './'`report/report.cpp
+devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::start_measurement()':
+devices/runtime_pm.cpp:69:49: warning: '/power/runtime_suspended_time' directive output may be truncated writing 29 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   69 |         snprintf(filename, sizeof(filename), "%s/power/runtime_suspended_time", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/stdio.h:970,
+                 from /usr/include/c++/14/cstdio:42,
+                 from /usr/include/c++/14/ext/string_conversions.h:45,
+                 from /usr/include/c++/14/bits/basic_string.h:4154,
+                 from /usr/include/c++/14/string:54,
+                 from devices/../parameters/parameters.h:31:
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void runtime_pmdevice::start_measurement()' at devices/runtime_pm.cpp:69:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 30 and 4125 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::start_measurement()':
+devices/runtime_pm.cpp:76:49: warning: '/power/runtime_active_time' directive output may be truncated writing 26 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   76 |         snprintf(filename, sizeof(filename), "%s/power/runtime_active_time", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void runtime_pmdevice::start_measurement()' at devices/runtime_pm.cpp:76:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 27 and 4122 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-bluetooth.o `test -f 'tuning/bluetooth.cpp' || echo './'`tuning/bluetooth.cpp
 In file included from devices/../parameters/parameters.h:35,
                  from devices/backlight.cpp:38:
 devices/../parameters/../lib.h: In constructor 'backlight::backlight(const char*, const char*)':
 devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-network.o `test -f 'devices/network.cpp' || echo './'`devices/network.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-rfkill.o `test -f 'devices/rfkill.cpp' || echo './'`devices/rfkill.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-runtime_pm.o `test -f 'devices/runtime_pm.cpp' || echo './'`devices/runtime_pm.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-thinkpad-fan.o `test -f 'devices/thinkpad-fan.cpp' || echo './'`devices/thinkpad-fan.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-ethernet.o `test -f 'tuning/ethernet.cpp' || echo './'`tuning/ethernet.cpp
+gcc -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o tuning/powertop-iw.o `test -f 'tuning/iw.c' || echo './'`tuning/iw.c
 devices/backlight.cpp: In member function 'virtual void backlight::end_measurement()':
 devices/backlight.cpp:125:49: warning: '/actual_brightness' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
   125 |         snprintf(filename, sizeof(filename), "%s/actual_brightness", sysfs_path);
@@ -769,24 +1082,38 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/alsa.cpp: In member function 'virtual const char* alsa::human_name()':
-devices/alsa.cpp:205:57: warning: ' (' directive output may be truncated writing 2 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  205 |                 snprintf(temp_buf, sizeof(temp_buf), "%s (%s)", humanname, guilty);
-      |                                                         ^~
-In file included from /usr/include/stdio.h:970,
-                 from /usr/include/c++/14/cstdio:42,
-                 from /usr/include/c++/14/ext/string_conversions.h:45,
-                 from /usr/include/c++/14/bits/basic_string.h:4154,
-                 from /usr/include/c++/14/string:54,
-                 from /usr/include/c++/14/bits/locale_classes.h:40,
-                 from /usr/include/c++/14/bits/ios_base.h:41,
-                 from /usr/include/c++/14/ios:44,
-                 from /usr/include/c++/14/ostream:40,
-                 from /usr/include/c++/14/iostream:41,
-                 from devices/alsa.cpp:25:
+In file included from devices/../parameters/parameters.h:35,
+                 from devices/devfreq.h:29,
+                 from devices/devfreq.cpp:35:
+devices/../parameters/../lib.h: In function 'void devfreq_dev_callback(const char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+In file included from measurement/extech.cpp:57:
+measurement/../lib.h: In constructor 'extech_power_meter::extech_power_meter(const char*)':
+measurement/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+devices/backlight.cpp: In member function 'virtual void backlight::start_measurement()':
+devices/backlight.cpp:61:49: warning: '/max_brightness' directive output may be truncated writing 15 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   61 |         snprintf(filename, sizeof(filename), "%s/max_brightness", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual const char* alsa::human_name()' at devices/alsa.cpp:205:11:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 4 and 8194 bytes into a destination of size 4096
+    inlined from 'virtual void backlight::start_measurement()' at devices/backlight.cpp:61:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+devices/backlight.cpp: In member function 'virtual void backlight::start_measurement()':
+devices/backlight.cpp:68:49: warning: '/actual_brightness' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   68 |         snprintf(filename, sizeof(filename), "%s/actual_brightness", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'virtual void backlight::start_measurement()' at devices/backlight.cpp:68:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
@@ -794,12 +1121,14 @@
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
 In file included from devices/../parameters/parameters.h:35,
-                 from devices/alsa.h:30,
-                 from devices/alsa.cpp:35:
-devices/../parameters/../lib.h: In constructor 'alsa::alsa(const char*, const char*)':
+                 from devices/rfkill.h:31,
+                 from devices/rfkill.cpp:38:
+devices/../parameters/../lib.h: In constructor 'rfkill::rfkill(char*, char*)':
 devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
+devices/../parameters/../lib.h: In constructor 'devfreq::devfreq(const char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
 devices/device.cpp: In member function 'void device::register_sysfs_path(const char*)':
 devices/device.cpp:75:59: warning: '/device' directive output may be truncated writing 7 bytes into a region of size between 1 and 4097 [-Wformat-truncation=]
    75 |                 snprintf(test_path, sizeof(test_path), "%s/device", current_path);
@@ -815,101 +1144,117 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/backlight.cpp: In member function 'virtual void backlight::start_measurement()':
-devices/backlight.cpp:61:49: warning: '/max_brightness' directive output may be truncated writing 15 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   61 |         snprintf(filename, sizeof(filename), "%s/max_brightness", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-runtime.o `test -f 'tuning/runtime.cpp' || echo './'`tuning/runtime.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tunable.o `test -f 'tuning/tunable.cpp' || echo './'`tuning/tunable.cpp
+In file included from cpu/cpudevice.cpp:29:
+cpu/../lib.h: In constructor 'cpudevice::cpudevice(const char*, const char*, abstract_cpu*)':
+cpu/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+cpu/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuning.o `test -f 'tuning/tuning.cpp' || echo './'`tuning/tuning.cpp
+devices/rfkill.cpp: In member function 'virtual void rfkill::start_measurement()':
+devices/rfkill.cpp:83:49: warning: '/hard' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   83 |         snprintf(filename, sizeof(filename), "%s/hard", sysfs_path);
+      |                                                 ^~~~~
+In file included from /usr/include/stdio.h:970,
+                 from /usr/include/c++/14/cstdio:42,
+                 from /usr/include/c++/14/ext/string_conversions.h:45,
+                 from /usr/include/c++/14/bits/basic_string.h:4154,
+                 from /usr/include/c++/14/string:54,
+                 from /usr/include/c++/14/bits/locale_classes.h:40,
+                 from /usr/include/c++/14/bits/ios_base.h:41,
+                 from /usr/include/c++/14/ios:44,
+                 from /usr/include/c++/14/ostream:40,
+                 from /usr/include/c++/14/iostream:41,
+                 from devices/rfkill.cpp:25:
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void backlight::start_measurement()' at devices/backlight.cpp:61:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+    inlined from 'virtual void rfkill::start_measurement()' at devices/rfkill.cpp:83:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/backlight.cpp: In member function 'virtual void backlight::start_measurement()':
-devices/backlight.cpp:68:49: warning: '/actual_brightness' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   68 |         snprintf(filename, sizeof(filename), "%s/actual_brightness", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~
+devices/rfkill.cpp: In member function 'virtual void rfkill::start_measurement()':
+devices/rfkill.cpp:90:49: warning: '/soft' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   90 |         snprintf(filename, sizeof(filename), "%s/soft", sysfs_path);
+      |                                                 ^~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void backlight::start_measurement()' at devices/backlight.cpp:68:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
+    inlined from 'virtual void rfkill::start_measurement()' at devices/rfkill.cpp:90:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-thinkpad-light.o `test -f 'devices/thinkpad-light.cpp' || echo './'`devices/thinkpad-light.cpp
-devices/alsa.cpp: In member function 'virtual void alsa::start_measurement()':
-devices/alsa.cpp:89:49: warning: '/power_off_acct' directive output may be truncated writing 15 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   89 |         snprintf(filename, sizeof(filename), "%s/power_off_acct", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuningsysfs.o `test -f 'tuning/tuningsysfs.cpp' || echo './'`tuning/tuningsysfs.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuningusb.o `test -f 'tuning/tuningusb.cpp' || echo './'`tuning/tuningusb.cpp
+In file included from devices/../parameters/parameters.h:35,
+                 from devices/network.h:32,
+                 from devices/network.cpp:42:
+devices/../parameters/../lib.h: In constructor 'network::network(const char*, const char*)':
+devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+devices/rfkill.cpp: In member function 'virtual void rfkill::end_measurement()':
+devices/rfkill.cpp:103:49: warning: '/hard' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  103 |         snprintf(filename, sizeof(filename), "%s/hard", sysfs_path);
+      |                                                 ^~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void alsa::start_measurement()' at devices/alsa.cpp:89:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+    inlined from 'virtual void rfkill::end_measurement()' at devices/rfkill.cpp:103:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/alsa.cpp: In member function 'virtual void alsa::start_measurement()':
-devices/alsa.cpp:96:57: warning: '/power_on_acct' directive output may be truncated writing 14 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   96 |                 snprintf(filename, sizeof(filename), "%s/power_on_acct", sysfs_path);
-      |                                                         ^~~~~~~~~~~~~~
+devices/rfkill.cpp: In member function 'virtual void rfkill::end_measurement()':
+devices/rfkill.cpp:109:49: warning: '/soft' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  109 |         snprintf(filename, sizeof(filename), "%s/soft", sysfs_path);
+      |                                                 ^~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void alsa::start_measurement()' at devices/alsa.cpp:96:11:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 15 and 4110 bytes into a destination of size 4096
+    inlined from 'virtual void rfkill::end_measurement()' at devices/rfkill.cpp:109:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o devices/powertop-usb.o `test -f 'devices/usb.cpp' || echo './'`devices/usb.cpp
-In file included from cpu/abstract_cpu.cpp:32:
-cpu/../lib.h: In member function 'void abstract_cpu::insert_cstate(const char*, const char*, uint64_t, uint64_t, int, int)':
-cpu/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-acpi.o `test -f 'measurement/acpi.cpp' || echo './'`measurement/acpi.cpp
-devices/alsa.cpp: In member function 'virtual void alsa::end_measurement()':
-devices/alsa.cpp:115:49: warning: '/power_off_acct' directive output may be truncated writing 15 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  115 |         snprintf(filename, sizeof(filename), "%s/power_off_acct", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuningi2c.o `test -f 'tuning/tuningi2c.cpp' || echo './'`tuning/tuningi2c.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-wifi.o `test -f 'tuning/wifi.cpp' || echo './'`tuning/wifi.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-wakeup.o `test -f 'wakeup/wakeup.cpp' || echo './'`wakeup/wakeup.cpp
+devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::end_measurement()':
+devices/runtime_pm.cpp:89:49: warning: '/power/runtime_suspended_time' directive output may be truncated writing 29 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   89 |         snprintf(filename, sizeof(filename), "%s/power/runtime_suspended_time", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void alsa::end_measurement()' at devices/alsa.cpp:115:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+    inlined from 'virtual void runtime_pmdevice::end_measurement()' at devices/runtime_pm.cpp:89:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 30 and 4125 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/alsa.cpp: In member function 'virtual void alsa::end_measurement()':
-devices/alsa.cpp:122:57: warning: '/power_on_acct' directive output may be truncated writing 14 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  122 |                 snprintf(filename, sizeof(filename), "%s/power_on_acct", sysfs_path);
-      |                                                         ^~~~~~~~~~~~~~
+devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::end_measurement()':
+devices/runtime_pm.cpp:96:49: warning: '/power/runtime_active_time' directive output may be truncated writing 26 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+   96 |         snprintf(filename, sizeof(filename), "%s/power/runtime_active_time", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void alsa::end_measurement()' at devices/alsa.cpp:122:11:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 15 and 4110 bytes into a destination of size 4096
+    inlined from 'virtual void runtime_pmdevice::end_measurement()' at devices/runtime_pm.cpp:96:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 27 and 4122 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-In file included from devices/../parameters/parameters.h:35,
-                 from devices/devfreq.h:29,
-                 from devices/devfreq.cpp:35:
-devices/../parameters/../lib.h: In function 'void devfreq_dev_callback(const char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-devices/../parameters/../lib.h: In constructor 'devfreq::devfreq(const char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-waketab.o `test -f 'wakeup/waketab.cpp' || echo './'`wakeup/waketab.cpp
 In file included from devices/../parameters/parameters.h:35,
                  from devices/ahci.h:32,
                  from devices/ahci.cpp:39:
@@ -1009,8 +1354,32 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-extech.o `test -f 'measurement/extech.cpp' || echo './'`measurement/extech.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-measurement.o `test -f 'measurement/measurement.cpp' || echo './'`measurement/measurement.cpp
+In file included from tuning/tunable.h:30,
+                 from tuning/tunable.cpp:27:
+tuning/../lib.h: In constructor 'tunable::tunable(const char*, double, const char*, const char*, const char*)':
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-wakeup_ethernet.o `test -f 'wakeup/wakeup_ethernet.cpp' || echo './'`wakeup/wakeup_ethernet.cpp
+g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-wakeup_usb.o `test -f 'wakeup/wakeup_usb.cpp' || echo './'`wakeup/wakeup_usb.cpp
+tuning/../lib.h: In constructor 'tunable::tunable()':
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+In file included from wakeup/wakeup.cpp:30:
+wakeup/../lib.h: In constructor 'wakeup::wakeup(const char*, double, const char*, const char*)':
+wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+wakeup/../lib.h: In constructor 'wakeup::wakeup()':
+wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
+wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
 devices/ahci.cpp: In member function 'virtual void ahci::end_measurement()':
 devices/ahci.cpp:206:57: warning: '/ahci_alpm_active' directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
   206 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_active", sysfs_path);
@@ -1115,215 +1484,46 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-sysfs.o `test -f 'measurement/sysfs.cpp' || echo './'`measurement/sysfs.cpp
-devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
-devices/ahci.cpp:164:49: warning: '/ahci_alpm_active' directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  164 |         snprintf(filename, sizeof(filename), "%s/ahci_alpm_active", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:164:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
-devices/ahci.cpp:171:57: warning: '/ahci_alpm_partial' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  171 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_partial", sysfs_path);
-      |                                                         ^~~~~~~~~~~~~~~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:171:11:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
-devices/ahci.cpp:178:57: warning: '/ahci_alpm_slumber' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  178 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_slumber", sysfs_path);
-      |                                                         ^~~~~~~~~~~~~~~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:178:11:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
-devices/ahci.cpp:184:57: warning: '/ahci_alpm_devslp' directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  184 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_devslp", sysfs_path);
-      |                                                         ^~~~~~~~~~~~~~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:184:11:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o measurement/powertop-opal-sensors.o `test -f 'measurement/opal-sensors.cpp' || echo './'`measurement/opal-sensors.cpp
-In file included from devices/../parameters/parameters.h:35,
-                 from devices/rfkill.h:31,
-                 from devices/rfkill.cpp:38:
-devices/../parameters/../lib.h: In constructor 'rfkill::rfkill(char*, char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+In file included from process/process.cpp:38:
+process/../lib.h: In constructor 'process::process(const char*, int, int)':
+process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 16 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
-In file included from devices/../parameters/parameters.h:35,
-                 from devices/runtime_pm.h:31,
-                 from devices/runtime_pm.cpp:25:
-devices/../parameters/../lib.h: In constructor 'runtime_pmdevice::runtime_pmdevice(const char*, const char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+In file included from process/work.cpp:33:
+process/../lib.h: In constructor 'work::work(long unsigned int)':
+process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o parameters/powertop-learn.o `test -f 'parameters/learn.cpp' || echo './'`parameters/learn.cpp
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-devices/../parameters/../lib.h: In member function 'void runtime_pmdevice::set_human_name(char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-In file included from measurement/acpi.cpp:33:
-measurement/../lib.h: In constructor 'acpi_power_meter::acpi_power_meter(const char*)':
-measurement/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
+In file included from tuning/tunable.h:30,
+                 from tuning/wifi.cpp:27:
+tuning/../lib.h: In constructor 'wifi_tunable::wifi_tunable(const char*)':
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o parameters/powertop-parameters.o `test -f 'parameters/parameters.cpp' || echo './'`parameters/parameters.cpp
-devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::start_measurement()':
-devices/runtime_pm.cpp:69:49: warning: '/power/runtime_suspended_time' directive output may be truncated writing 29 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   69 |         snprintf(filename, sizeof(filename), "%s/power/runtime_suspended_time", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/include/stdio.h:970,
-                 from /usr/include/c++/14/cstdio:42,
-                 from /usr/include/c++/14/ext/string_conversions.h:45,
-                 from /usr/include/c++/14/bits/basic_string.h:4154,
-                 from /usr/include/c++/14/string:54,
-                 from devices/../parameters/parameters.h:31:
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void runtime_pmdevice::start_measurement()' at devices/runtime_pm.cpp:69:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 30 and 4125 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::start_measurement()':
-devices/runtime_pm.cpp:76:49: warning: '/power/runtime_active_time' directive output may be truncated writing 26 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   76 |         snprintf(filename, sizeof(filename), "%s/power/runtime_active_time", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void runtime_pmdevice::start_measurement()' at devices/runtime_pm.cpp:76:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 27 and 4122 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/rfkill.cpp: In member function 'virtual void rfkill::start_measurement()':
-devices/rfkill.cpp:83:49: warning: '/hard' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   83 |         snprintf(filename, sizeof(filename), "%s/hard", sysfs_path);
-      |                                                 ^~~~~
+tuning/wifi.cpp:50:60: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4089 [-Wformat-truncation=]
+   50 |         snprintf(toggle_good, sizeof(toggle_good), "iw dev %s set power_save on", iface);
+      |                                                            ^~
 In file included from /usr/include/stdio.h:970,
                  from /usr/include/c++/14/cstdio:42,
                  from /usr/include/c++/14/ext/string_conversions.h:45,
                  from /usr/include/c++/14/bits/basic_string.h:4154,
                  from /usr/include/c++/14/string:54,
-                 from /usr/include/c++/14/bits/locale_classes.h:40,
-                 from /usr/include/c++/14/bits/ios_base.h:41,
-                 from /usr/include/c++/14/ios:44,
-                 from /usr/include/c++/14/ostream:40,
-                 from /usr/include/c++/14/iostream:41,
-                 from devices/rfkill.cpp:25:
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void rfkill::start_measurement()' at devices/rfkill.cpp:83:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/rfkill.cpp: In member function 'virtual void rfkill::start_measurement()':
-devices/rfkill.cpp:90:49: warning: '/soft' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   90 |         snprintf(filename, sizeof(filename), "%s/soft", sysfs_path);
-      |                                                 ^~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void rfkill::start_measurement()' at devices/rfkill.cpp:90:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o parameters/powertop-persistent.o `test -f 'parameters/persistent.cpp' || echo './'`parameters/persistent.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o perf/powertop-perf.o `test -f 'perf/perf.cpp' || echo './'`perf/perf.cpp
-devices/rfkill.cpp: In member function 'virtual void rfkill::end_measurement()':
-devices/rfkill.cpp:103:49: warning: '/hard' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  103 |         snprintf(filename, sizeof(filename), "%s/hard", sysfs_path);
-      |                                                 ^~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void rfkill::end_measurement()' at devices/rfkill.cpp:103:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/rfkill.cpp: In member function 'virtual void rfkill::end_measurement()':
-devices/rfkill.cpp:109:49: warning: '/soft' directive output may be truncated writing 5 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  109 |         snprintf(filename, sizeof(filename), "%s/soft", sysfs_path);
-      |                                                 ^~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void rfkill::end_measurement()' at devices/rfkill.cpp:109:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 6 and 4101 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o perf/powertop-perf_bundle.o `test -f 'perf/perf_bundle.cpp' || echo './'`perf/perf_bundle.cpp
-measurement/opal-sensors.cpp: In constructor 'opal_sensors_power_meter::opal_sensors_power_meter(const char*)':
-measurement/opal-sensors.cpp:34:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-   34 |         strncpy(name, power_supply_name, sizeof(name));
-      |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-do_process.o `test -f 'process/do_process.cpp' || echo './'`process/do_process.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-interrupt.o `test -f 'process/interrupt.cpp' || echo './'`process/interrupt.cpp
-In file included from measurement/sysfs.cpp:27:
-measurement/../lib.h: In constructor 'sysfs_power_meter::sysfs_power_meter(const char*)':
-measurement/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-powerconsumer.o `test -f 'process/powerconsumer.cpp' || echo './'`process/powerconsumer.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-process.o `test -f 'process/process.cpp' || echo './'`process/process.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-processdevice.o `test -f 'process/processdevice.cpp' || echo './'`process/processdevice.cpp
-devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::end_measurement()':
-devices/runtime_pm.cpp:89:49: warning: '/power/runtime_suspended_time' directive output may be truncated writing 29 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   89 |         snprintf(filename, sizeof(filename), "%s/power/runtime_suspended_time", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                 from tuning/../lib.h:58:
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void runtime_pmdevice::end_measurement()' at devices/runtime_pm.cpp:89:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 30 and 4125 bytes into a destination of size 4096
+    inlined from 'wifi_tunable::wifi_tunable(const char*)' at tuning/wifi.cpp:50:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 26 and 4121 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/runtime_pm.cpp: In member function 'virtual void runtime_pmdevice::end_measurement()':
-devices/runtime_pm.cpp:96:49: warning: '/power/runtime_active_time' directive output may be truncated writing 26 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-   96 |         snprintf(filename, sizeof(filename), "%s/power/runtime_active_time", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
+tuning/wifi.cpp: In constructor 'wifi_tunable::wifi_tunable(const char*)':
+tuning/wifi.cpp:51:58: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4089 [-Wformat-truncation=]
+   51 |         snprintf(toggle_bad, sizeof(toggle_bad), "iw dev %s set power_save off", iface);
+      |                                                          ^~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void runtime_pmdevice::end_measurement()' at devices/runtime_pm.cpp:96:10:
+    inlined from 'wifi_tunable::wifi_tunable(const char*)' at tuning/wifi.cpp:51:10:
 /usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 27 and 4122 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1331,232 +1531,143 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-In file included from devices/../parameters/parameters.h:35,
-                 from devices/usb.h:31,
-                 from devices/usb.cpp:25:
-devices/../parameters/../lib.h: In constructor 'usbdevice::usbdevice(const char*, const char*, const char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-In file included from measurement/extech.cpp:57:
-measurement/../lib.h: In constructor 'extech_power_meter::extech_power_meter(const char*)':
-measurement/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-timer.o `test -f 'process/timer.cpp' || echo './'`process/timer.cpp
-In file included from devices/../parameters/parameters.h:35,
-                 from devices/network.h:32,
-                 from devices/network.cpp:42:
-devices/../parameters/../lib.h: In constructor 'network::network(const char*, const char*)':
-devices/../parameters/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
+In file included from tuning/tunable.h:30,
+                 from tuning/ethernet.cpp:27:
+tuning/../lib.h: In constructor 'ethernet_tunable::ethernet_tunable(const char*)':
+tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o process/powertop-work.o `test -f 'process/work.cpp' || echo './'`process/work.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-data-html.o `test -f 'report/report-data-html.cpp' || echo './'`report/report-data-html.cpp
-devices/usb.cpp: In member function 'virtual void usbdevice::start_measurement()':
-devices/usb.cpp:129:49: warning: '/power/active_duration' directive output may be truncated writing 22 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  129 |         snprintf(fullpath, sizeof(fullpath), "%s/power/active_duration", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~
+tuning/tuningusb.cpp: In constructor 'usb_tunable::usb_tunable(const char*, const char*)':
+tuning/tuningusb.cpp:77:68: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4081 [-Wformat-truncation=]
+   77 |         snprintf(toggle_good, sizeof(toggle_good), "echo 'auto' > '%s';", usb_path);
+      |                                                                    ^~
 In file included from /usr/include/stdio.h:970,
                  from /usr/include/c++/14/cstdio:42,
                  from /usr/include/c++/14/ext/string_conversions.h:45,
                  from /usr/include/c++/14/bits/basic_string.h:4154,
                  from /usr/include/c++/14/string:54,
-                 from devices/../parameters/parameters.h:31:
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void usbdevice::start_measurement()' at devices/usb.cpp:129:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 23 and 4118 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-devices/usb.cpp: In member function 'virtual void usbdevice::start_measurement()':
-devices/usb.cpp:136:49: warning: '/power/connected_duration' directive output may be truncated writing 25 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  136 |         snprintf(fullpath, sizeof(fullpath), "%s/power/connected_duration", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
+                 from tuning/../lib.h:58,
+                 from tuning/tunable.h:30,
+                 from tuning/tuningusb.cpp:27:
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void usbdevice::start_measurement()' at devices/usb.cpp:136:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 26 and 4121 bytes into a destination of size 4096
+    inlined from 'usb_tunable::usb_tunable(const char*, const char*)' at tuning/tuningusb.cpp:77:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-formatter-base.o `test -f 'report/report-formatter-base.cpp' || echo './'`report/report-formatter-base.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-formatter-csv.o `test -f 'report/report-formatter-csv.cpp' || echo './'`report/report-formatter-csv.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-formatter-html.o `test -f 'report/report-formatter-html.cpp' || echo './'`report/report-formatter-html.cpp
-devices/usb.cpp: In member function 'virtual void usbdevice::end_measurement()':
-devices/usb.cpp:149:49: warning: '/power/active_duration' directive output may be truncated writing 22 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  149 |         snprintf(fullpath, sizeof(fullpath), "%s/power/active_duration", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~
+tuning/tuningusb.cpp: In constructor 'usb_tunable::usb_tunable(const char*, const char*)':
+tuning/tuningusb.cpp:78:64: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4083 [-Wformat-truncation=]
+   78 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo 'on' > '%s';", usb_path);
+      |                                                                ^~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void usbdevice::end_measurement()' at devices/usb.cpp:149:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 23 and 4118 bytes into a destination of size 4096
+    inlined from 'usb_tunable::usb_tunable(const char*, const char*)' at tuning/tuningusb.cpp:78:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/usb.cpp: In member function 'virtual void usbdevice::end_measurement()':
-devices/usb.cpp:156:49: warning: '/power/connected_duration' directive output may be truncated writing 25 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  156 |         snprintf(fullpath, sizeof(fullpath), "%s/power/connected_duration", sysfs_path);
-      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from process/timer.cpp:33:
+process/../lib.h: In constructor 'timer::timer(long unsigned int)':
+process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
+   78 |         strncpy(d, s, N);
+      |                ^
+devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
+devices/ahci.cpp:164:49: warning: '/ahci_alpm_active' directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  164 |         snprintf(filename, sizeof(filename), "%s/ahci_alpm_active", sysfs_path);
+      |                                                 ^~~~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'virtual void usbdevice::end_measurement()' at devices/usb.cpp:156:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 26 and 4121 bytes into a destination of size 4096
+    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:164:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/usb.cpp: In function 'void create_all_usb_devices_callback(const char*)':
-devices/usb.cpp:226:55: warning: '/power/active_duration' directive output may be truncated writing 22 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  226 |         snprintf(device_name, sizeof(device_name), "%s/power/active_duration", filename);
-      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
+devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
+devices/ahci.cpp:171:57: warning: '/ahci_alpm_partial' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  171 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_partial", sysfs_path);
+      |                                                         ^~~~~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'void create_all_usb_devices_callback(const char*)' at devices/usb.cpp:226:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 23 and 4118 bytes into a destination of size 4096
+    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:171:11:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/usb.cpp: In function 'void create_all_usb_devices_callback(const char*)':
-devices/usb.cpp:230:55: warning: '/idVendor' directive output may be truncated writing 9 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  230 |         snprintf(device_name, sizeof(device_name), "%s/idVendor", filename);
-      |                                                       ^~~~~~~~~
+devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
+devices/ahci.cpp:178:57: warning: '/ahci_alpm_slumber' directive output may be truncated writing 18 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  178 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_slumber", sysfs_path);
+      |                                                         ^~~~~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'void create_all_usb_devices_callback(const char*)' at devices/usb.cpp:230:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 10 and 4105 bytes into a destination of size 4096
+    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:178:11:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-devices/usb.cpp: In function 'void create_all_usb_devices_callback(const char*)':
-devices/usb.cpp:235:55: warning: '/idProduct' directive output may be truncated writing 10 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
-  235 |         snprintf(device_name, sizeof(device_name), "%s/idProduct", filename);
-      |                                                       ^~~~~~~~~~
+devices/ahci.cpp: In member function 'virtual void ahci::start_measurement()':
+devices/ahci.cpp:184:57: warning: '/ahci_alpm_devslp' directive output may be truncated writing 17 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
+  184 |                 snprintf(filename, sizeof(filename), "%s/ahci_alpm_devslp", sysfs_path);
+      |                                                         ^~~~~~~~~~~~~~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'void create_all_usb_devices_callback(const char*)' at devices/usb.cpp:235:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 11 and 4106 bytes into a destination of size 4096
+    inlined from 'virtual void ahci::start_measurement()' at devices/ahci.cpp:184:11:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report-maker.o `test -f 'report/report-maker.cpp' || echo './'`report/report-maker.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o report/powertop-report.o `test -f 'report/report.cpp' || echo './'`report/report.cpp
-In file included from process/interrupt.cpp:30:
-process/../lib.h: In constructor 'interrupt::interrupt(const char*, int)':
-process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-bluetooth.o `test -f 'tuning/bluetooth.cpp' || echo './'`tuning/bluetooth.cpp
-In file included from process/timer.cpp:33:
-process/../lib.h: In constructor 'timer::timer(long unsigned int)':
-process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
 process/../lib.h: In function 'timer* find_create_timer(uint64_t)':
 process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-ethernet.o `test -f 'tuning/ethernet.cpp' || echo './'`tuning/ethernet.cpp
-gcc -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -pthread -c -o tuning/powertop-iw.o `test -f 'tuning/iw.c' || echo './'`tuning/iw.c
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-runtime.o `test -f 'tuning/runtime.cpp' || echo './'`tuning/runtime.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tunable.o `test -f 'tuning/tunable.cpp' || echo './'`tuning/tunable.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuning.o `test -f 'tuning/tuning.cpp' || echo './'`tuning/tuning.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuningsysfs.o `test -f 'tuning/tuningsysfs.cpp' || echo './'`tuning/tuningsysfs.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuningusb.o `test -f 'tuning/tuningusb.cpp' || echo './'`tuning/tuningusb.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-tuningi2c.o `test -f 'tuning/tuningi2c.cpp' || echo './'`tuning/tuningi2c.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o tuning/powertop-wifi.o `test -f 'tuning/wifi.cpp' || echo './'`tuning/wifi.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-wakeup.o `test -f 'wakeup/wakeup.cpp' || echo './'`wakeup/wakeup.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-waketab.o `test -f 'wakeup/waketab.cpp' || echo './'`wakeup/waketab.cpp
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-wakeup_ethernet.o `test -f 'wakeup/wakeup_ethernet.cpp' || echo './'`wakeup/wakeup_ethernet.cpp
 In file included from tuning/tunable.h:30,
-                 from tuning/tunable.cpp:27:
-tuning/../lib.h: In constructor 'tunable::tunable(const char*, double, const char*, const char*, const char*)':
+                 from tuning/tuningsysfs.cpp:27:
+tuning/../lib.h: In constructor 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)':
 tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
    78 |         strncpy(d, s, N);
       |                ^
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-tuning/../lib.h: In constructor 'tunable::tunable()':
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"  -I/usr/include/libnl3   -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o wakeup/powertop-wakeup_usb.o `test -f 'wakeup/wakeup_usb.cpp' || echo './'`wakeup/wakeup_usb.cpp
-In file included from tuning/tunable.h:30,
-                 from tuning/ethernet.cpp:27:
-tuning/../lib.h: In constructor 'ethernet_tunable::ethernet_tunable(const char*)':
 tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-In file included from process/work.cpp:33:
-process/../lib.h: In constructor 'work::work(long unsigned int)':
-process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 32 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-In file included from process/process.cpp:38:
-process/../lib.h: In constructor 'process::process(const char*, int, int)':
-process/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 16 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-tuning/runtime.cpp: In constructor 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)':
-tuning/runtime.cpp:86:68: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4081 [-Wformat-truncation=]
-   86 |         snprintf(toggle_good, sizeof(toggle_good), "echo 'auto' > '%s';", runtime_path);
-      |                                                                    ^~
+tuning/tuningsysfs.cpp:50:59: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4090 [-Wformat-truncation=]
+   50 |         snprintf(toggle_good, sizeof(toggle_good), "echo '%s' > '%s';", target_value, sysfs_path);
+      |                                                           ^~
 In file included from /usr/include/stdio.h:970,
                  from /usr/include/c++/14/cstdio:42,
                  from /usr/include/c++/14/ext/string_conversions.h:45,
                  from /usr/include/c++/14/bits/basic_string.h:4154,
                  from /usr/include/c++/14/string:54,
-                 from tuning/../lib.h:58,
-                 from tuning/tunable.h:30,
-                 from tuning/runtime.cpp:27:
+                 from tuning/../lib.h:58:
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)' at tuning/runtime.cpp:86:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
+    inlined from 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)' at tuning/tuningsysfs.cpp:50:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 14 and 8204 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-tuning/runtime.cpp: In constructor 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)':
-tuning/runtime.cpp:87:64: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4083 [-Wformat-truncation=]
-   87 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo 'on' > '%s';", runtime_path);
-      |                                                                ^~
+tuning/tuningsysfs.cpp: In constructor 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)':
+tuning/tuningsysfs.cpp:51:57: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4090 [-Wformat-truncation=]
+   51 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo '%s' > '%s';", bad_value, sysfs_path);
+      |                                                         ^~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)' at tuning/runtime.cpp:87:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+    inlined from 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)' at tuning/tuningsysfs.cpp:51:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 14 and 8204 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-In file included from wakeup/wakeup.cpp:30:
-wakeup/../lib.h: In constructor 'wakeup::wakeup(const char*, double, const char*, const char*)':
-wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-wakeup/../lib.h: In constructor 'wakeup::wakeup()':
-wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
-wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 128 equals destination size [-Wstringop-truncation]
 In file included from wakeup/wakeup_usb.cpp:44:
 wakeup/../lib.h: In constructor 'usb_wakeup::usb_wakeup(const char*, const char*)':
 wakeup/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
@@ -1589,114 +1700,34 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-In file included from tuning/tunable.h:30,
-                 from tuning/wifi.cpp:27:
-tuning/../lib.h: In constructor 'wifi_tunable::wifi_tunable(const char*)':
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-tuning/wifi.cpp:50:60: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4089 [-Wformat-truncation=]
-   50 |         snprintf(toggle_good, sizeof(toggle_good), "iw dev %s set power_save on", iface);
-      |                                                            ^~
-In file included from /usr/include/stdio.h:970,
-                 from /usr/include/c++/14/cstdio:42,
-                 from /usr/include/c++/14/ext/string_conversions.h:45,
-                 from /usr/include/c++/14/bits/basic_string.h:4154,
-                 from /usr/include/c++/14/string:54,
-                 from tuning/../lib.h:58:
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'wifi_tunable::wifi_tunable(const char*)' at tuning/wifi.cpp:50:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 26 and 4121 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-tuning/wifi.cpp: In constructor 'wifi_tunable::wifi_tunable(const char*)':
-tuning/wifi.cpp:51:58: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4089 [-Wformat-truncation=]
-   51 |         snprintf(toggle_bad, sizeof(toggle_bad), "iw dev %s set power_save off", iface);
-      |                                                          ^~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'wifi_tunable::wifi_tunable(const char*)' at tuning/wifi.cpp:51:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 27 and 4122 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-tuning/runtime.cpp: In function 'void add_runtime_tunables(const char*)':
-tuning/runtime.cpp:166:86: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size between 3822 and 4077 [-Wformat-truncation=]
-  166 |                         snprintf(filename, sizeof(filename), "/sys/bus/%s/devices/%s/%s/power/control", bus, entry->d_name, port);
-      |                                                                                      ^~                                     ~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'void add_runtime_tunables(const char*)' at tuning/runtime.cpp:166:12:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output 34 or more bytes (assuming 4384) into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-tuning/runtime.cpp: In function 'void add_runtime_tunables(const char*)':
-tuning/runtime.cpp:171:86: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size between 3822 and 4077 [-Wformat-truncation=]
-  171 |                         snprintf(filename, sizeof(filename), "/sys/bus/%s/devices/%s/%s", bus, entry->d_name, port);
-      |                                                                                      ^~                       ~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'void add_runtime_tunables(const char*)' at tuning/runtime.cpp:171:12:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output 20 or more bytes (assuming 4370) into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-tuning/runtime.cpp: In function 'void add_runtime_tunables(const char*)':
-tuning/runtime.cpp:191:74: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4085 [-Wformat-truncation=]
-  191 |                         snprintf(filename, sizeof(filename), "/sys/block/%s/device", port);
-      |                                                                          ^~          ~~~~
-In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'void add_runtime_tunables(const char*)' at tuning/runtime.cpp:191:12:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
-   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   69 |                                    __glibc_objsize (__s), __fmt,
-      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-   70 |                                    __va_arg_pack ());
-      |                                    ~~~~~~~~~~~~~~~~~
-In file included from tuning/tunable.h:30,
-                 from tuning/tuningsysfs.cpp:27:
-tuning/../lib.h: In constructor 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)':
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-   78 |         strncpy(d, s, N);
-      |                ^
-tuning/../lib.h:78:16: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound 4096 equals destination size [-Wstringop-truncation]
-tuning/tuningsysfs.cpp:50:59: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4090 [-Wformat-truncation=]
-   50 |         snprintf(toggle_good, sizeof(toggle_good), "echo '%s' > '%s';", target_value, sysfs_path);
-      |                                                           ^~
+tuning/runtime.cpp: In constructor 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)':
+tuning/runtime.cpp:86:68: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4081 [-Wformat-truncation=]
+   86 |         snprintf(toggle_good, sizeof(toggle_good), "echo 'auto' > '%s';", runtime_path);
+      |                                                                    ^~
 In file included from /usr/include/stdio.h:970,
                  from /usr/include/c++/14/cstdio:42,
                  from /usr/include/c++/14/ext/string_conversions.h:45,
                  from /usr/include/c++/14/bits/basic_string.h:4154,
                  from /usr/include/c++/14/string:54,
-                 from tuning/../lib.h:58:
+                 from tuning/../lib.h:58,
+                 from tuning/tunable.h:30,
+                 from tuning/runtime.cpp:27:
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)' at tuning/tuningsysfs.cpp:50:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 14 and 8204 bytes into a destination of size 4096
+    inlined from 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)' at tuning/runtime.cpp:86:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-tuning/tuningsysfs.cpp: In constructor 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)':
-tuning/tuningsysfs.cpp:51:57: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4090 [-Wformat-truncation=]
-   51 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo '%s' > '%s';", bad_value, sysfs_path);
-      |                                                         ^~
+tuning/runtime.cpp: In constructor 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)':
+tuning/runtime.cpp:87:64: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4083 [-Wformat-truncation=]
+   87 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo 'on' > '%s';", runtime_path);
+      |                                                                ^~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'sysfs_tunable::sysfs_tunable(const char*, const char*, const char*)' at tuning/tuningsysfs.cpp:51:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 14 and 8204 bytes into a destination of size 4096
+    inlined from 'runtime_tunable::runtime_tunable(const char*, const char*, const char*, const char*)' at tuning/runtime.cpp:87:10:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
@@ -1735,9 +1766,9 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-tuning/tuningusb.cpp: In constructor 'usb_tunable::usb_tunable(const char*, const char*)':
-tuning/tuningusb.cpp:77:68: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4081 [-Wformat-truncation=]
-   77 |         snprintf(toggle_good, sizeof(toggle_good), "echo 'auto' > '%s';", usb_path);
+tuning/tuningi2c.cpp: In constructor 'i2c_tunable::i2c_tunable(const char*, const char*, bool)':
+tuning/tuningi2c.cpp:61:68: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4081 [-Wformat-truncation=]
+   61 |         snprintf(toggle_good, sizeof(toggle_good), "echo 'auto' > '%s';", i2c_path);
       |                                                                    ^~
 In file included from /usr/include/stdio.h:970,
                  from /usr/include/c++/14/cstdio:42,
@@ -1746,9 +1777,9 @@
                  from /usr/include/c++/14/string:54,
                  from tuning/../lib.h:58,
                  from tuning/tunable.h:30,
-                 from tuning/tuningusb.cpp:27:
+                 from tuning/tuningi2c.cpp:21:
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'usb_tunable::usb_tunable(const char*, const char*)' at tuning/tuningusb.cpp:77:10:
+    inlined from 'i2c_tunable::i2c_tunable(const char*, const char*, bool)' at tuning/tuningi2c.cpp:61:10:
 /usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1756,12 +1787,12 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-tuning/tuningusb.cpp: In constructor 'usb_tunable::usb_tunable(const char*, const char*)':
-tuning/tuningusb.cpp:78:64: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4083 [-Wformat-truncation=]
-   78 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo 'on' > '%s';", usb_path);
+tuning/tuningi2c.cpp: In constructor 'i2c_tunable::i2c_tunable(const char*, const char*, bool)':
+tuning/tuningi2c.cpp:62:64: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4083 [-Wformat-truncation=]
+   62 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo 'on' > '%s';", i2c_path);
       |                                                                ^~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'usb_tunable::usb_tunable(const char*, const char*)' at tuning/tuningusb.cpp:78:10:
+    inlined from 'i2c_tunable::i2c_tunable(const char*, const char*, bool)' at tuning/tuningi2c.cpp:62:10:
 /usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1769,41 +1800,46 @@
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-tuning/tuningi2c.cpp: In constructor 'i2c_tunable::i2c_tunable(const char*, const char*, bool)':
-tuning/tuningi2c.cpp:61:68: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4081 [-Wformat-truncation=]
-   61 |         snprintf(toggle_good, sizeof(toggle_good), "echo 'auto' > '%s';", i2c_path);
-      |                                                                    ^~
-In file included from /usr/include/stdio.h:970,
-                 from /usr/include/c++/14/cstdio:42,
-                 from /usr/include/c++/14/ext/string_conversions.h:45,
-                 from /usr/include/c++/14/bits/basic_string.h:4154,
-                 from /usr/include/c++/14/string:54,
-                 from tuning/../lib.h:58,
-                 from tuning/tunable.h:30,
-                 from tuning/tuningi2c.cpp:21:
+tuning/runtime.cpp: In function 'void add_runtime_tunables(const char*)':
+tuning/runtime.cpp:166:86: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size between 3822 and 4077 [-Wformat-truncation=]
+  166 |                         snprintf(filename, sizeof(filename), "/sys/bus/%s/devices/%s/%s/power/control", bus, entry->d_name, port);
+      |                                                                                      ^~                                     ~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'i2c_tunable::i2c_tunable(const char*, const char*, bool)' at tuning/tuningi2c.cpp:61:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 18 and 4113 bytes into a destination of size 4096
+    inlined from 'void add_runtime_tunables(const char*)' at tuning/runtime.cpp:166:12:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output 34 or more bytes (assuming 4384) into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-tuning/tuningi2c.cpp: In constructor 'i2c_tunable::i2c_tunable(const char*, const char*, bool)':
-tuning/tuningi2c.cpp:62:64: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4083 [-Wformat-truncation=]
-   62 |         snprintf(toggle_bad, sizeof(toggle_bad), "echo 'on' > '%s';", i2c_path);
-      |                                                                ^~
+tuning/runtime.cpp: In function 'void add_runtime_tunables(const char*)':
+tuning/runtime.cpp:171:86: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size between 3822 and 4077 [-Wformat-truncation=]
+  171 |                         snprintf(filename, sizeof(filename), "/sys/bus/%s/devices/%s/%s", bus, entry->d_name, port);
+      |                                                                                      ^~                       ~~~~
 In function 'int snprintf(char*, size_t, const char*, ...)',
-    inlined from 'i2c_tunable::i2c_tunable(const char*, const char*, bool)' at tuning/tuningi2c.cpp:62:10:
-/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 16 and 4111 bytes into a destination of size 4096
+    inlined from 'void add_runtime_tunables(const char*)' at tuning/runtime.cpp:171:12:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output 20 or more bytes (assuming 4370) into a destination of size 4096
    68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
       |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    69 |                                    __glibc_objsize (__s), __fmt,
       |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    70 |                                    __va_arg_pack ());
       |                                    ~~~~~~~~~~~~~~~~~
-/bin/bash ../libtool  --tag=CXX   --mode=link g++ -std=c++11 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -lnl-genl-3 -lnl-3  -lpthread    -lncursesw -ltinfo  -lpci  -lpthread  -Wl,-z,relro -Wl,-z,now -o powertop powertop-devlist.o powertop-display.o powertop-lib.o powertop-main.o calibrate/powertop-calibrate.o cpu/powertop-abstract_cpu.o cpu/powertop-cpu.o cpu/powertop-cpu_core.o cpu/powertop-cpu_linux.o cpu/powertop-cpu_package.o cpu/powertop-cpu_rapl_device.o cpu/powertop-cpudevice.o cpu/powertop-dram_rapl_device.o cpu/powertop-intel_cpus.o cpu/powertop-intel_gpu.o cpu/rapl/powertop-rapl_interface.o devices/powertop-ahci.o devices/powertop-alsa.o devices/powertop-backlight.o devices/powertop-devfreq.o devices/powertop-device.o devices/powertop-gpu_rapl_device.o devices/powertop-i915-gpu.o devices/powertop-network.o devices/powertop-rfkill.o devices/powertop-runtime_pm.o devices/powertop-thinkpad-fan.o devices/powertop-thinkpad-light.o devices/powertop-usb.o measurement/powertop-acpi.o measurement/powertop-extech.o measurement/powertop-measurement.o measurement/powertop-sysfs.o measurement/powertop-opal-sensors.o parameters/powertop-learn.o parameters/powertop-parameters.o parameters/powertop-persistent.o perf/powertop-perf.o perf/powertop-perf_bundle.o process/powertop-do_process.o process/powertop-interrupt.o process/powertop-powerconsumer.o process/powertop-process.o process/powertop-processdevice.o process/powertop-timer.o process/powertop-work.o report/powertop-report-data-html.o report/powertop-report-formatter-base.o report/powertop-report-formatter-csv.o report/powertop-report-formatter-html.o report/powertop-report-maker.o report/powertop-report.o tuning/powertop-bluetooth.o tuning/powertop-ethernet.o tuning/powertop-iw.o tuning/powertop-runtime.o tuning/powertop-tunable.o tuning/powertop-tuning.o tuning/powertop-tuningsysfs.o tuning/powertop-tuningusb.o tuning/powertop-tuningi2c.o tuning/powertop-wifi.o wakeup/powertop-wakeup.o wakeup/powertop-waketab.o wakeup/powertop-wakeup_ethernet.o wakeup/powertop-wakeup_usb.o  ../traceevent/libtraceevnet.la -lpthread  
+tuning/runtime.cpp: In function 'void add_runtime_tunables(const char*)':
+tuning/runtime.cpp:191:74: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4085 [-Wformat-truncation=]
+  191 |                         snprintf(filename, sizeof(filename), "/sys/block/%s/device", port);
+      |                                                                          ^~          ~~~~
+In function 'int snprintf(char*, size_t, const char*, ...)',
+    inlined from 'void add_runtime_tunables(const char*)' at tuning/runtime.cpp:191:12:
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:68:35: note: '__builtin___snprintf_chk' output between 19 and 4114 bytes into a destination of size 4096
+   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
+      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   69 |                                    __glibc_objsize (__s), __fmt,
+      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   70 |                                    __va_arg_pack ());
+      |                                    ~~~~~~~~~~~~~~~~~
+/bin/sh ../libtool  --tag=CXX   --mode=link g++ -std=c++11 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector  -I/usr/include/libnl3  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -I/usr/include/x86_64-linux-gnu  -pthread -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -lnl-genl-3 -lnl-3  -lpthread    -lncursesw -ltinfo  -lpci  -lpthread  -Wl,-z,relro -Wl,-z,now -o powertop powertop-devlist.o powertop-display.o powertop-lib.o powertop-main.o calibrate/powertop-calibrate.o cpu/powertop-abstract_cpu.o cpu/powertop-cpu.o cpu/powertop-cpu_core.o cpu/powertop-cpu_linux.o cpu/powertop-cpu_package.o cpu/powertop-cpu_rapl_device.o cpu/powertop-cpudevice.o cpu/powertop-dram_rapl_device.o cpu/powertop-intel_cpus.o cpu/powertop-intel_gpu.o cpu/rapl/powertop-rapl_interface.o devices/powertop-ahci.o devices/powertop-alsa.o devices/powertop-backlight.o devices/powertop-devfreq.o devices/powertop-device.o devices/powertop-gpu_rapl_device.o devices/powertop-i915-gpu.o devices/powertop-network.o devices/powertop-rfkill.o devices/powertop-runtime_pm.o devices/powertop-thinkpad-fan.o devices/powertop-thinkpad-light.o devices/powertop-usb.o measurement/powertop-acpi.o measurement/powertop-extech.o measurement/powertop-measurement.o measurement/powertop-sysfs.o measurement/powertop-opal-sensors.o parameters/powertop-learn.o parameters/powertop-parameters.o parameters/powertop-persistent.o perf/powertop-perf.o perf/powertop-perf_bundle.o process/powertop-do_process.o process/powertop-interrupt.o process/powertop-powerconsumer.o process/powertop-process.o process/powertop-processdevice.o process/powertop-timer.o process/powertop-work.o report/powertop-report-data-html.o report/powertop-report-formatter-base.o report/powertop-report-formatter-csv.o report/powertop-report-formatter-html.o report/powertop-report-maker.o report/powertop-report.o tuning/powertop-bluetooth.o tuning/powertop-ethernet.o tuning/powertop-iw.o tuning/powertop-runtime.o tuning/powertop-tunable.o tuning/powertop-tuning.o tuning/powertop-tuningsysfs.o tuning/powertop-tuningusb.o tuning/powertop-tuningi2c.o tuning/powertop-wifi.o wakeup/powertop-wakeup.o wakeup/powertop-waketab.o wakeup/powertop-wakeup_ethernet.o wakeup/powertop-wakeup_usb.o  ../traceevent/libtraceevnet.la -lpthread  
 libtool: link: g++ -std=c++11 -Wall -Wformat -Wshadow -fno-omit-frame-pointer -fstack-protector -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -I/usr/include/x86_64-linux-gnu -g -O2 -ffile-prefix-map=/build/reproducible-path/powertop-2.15=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -o powertop powertop-devlist.o powertop-display.o powertop-lib.o powertop-main.o calibrate/powertop-calibrate.o cpu/powertop-abstract_cpu.o cpu/powertop-cpu.o cpu/powertop-cpu_core.o cpu/powertop-cpu_linux.o cpu/powertop-cpu_package.o cpu/powertop-cpu_rapl_device.o cpu/powertop-cpudevice.o cpu/powertop-dram_rapl_device.o cpu/powertop-intel_cpus.o cpu/powertop-intel_gpu.o cpu/rapl/powertop-rapl_interface.o devices/powertop-ahci.o devices/powertop-alsa.o devices/powertop-backlight.o devices/powertop-devfreq.o devices/powertop-device.o devices/powertop-gpu_rapl_device.o devices/powertop-i915-gpu.o devices/powertop-network.o devices/powertop-rfkill.o devices/powertop-runtime_pm.o devices/powertop-thinkpad-fan.o devices/powertop-thinkpad-light.o devices/powertop-usb.o measurement/powertop-acpi.o measurement/powertop-extech.o measurement/powertop-measurement.o measurement/powertop-sysfs.o measurement/powertop-opal-sensors.o parameters/powertop-learn.o parameters/powertop-parameters.o parameters/powertop-persistent.o perf/powertop-perf.o perf/powertop-perf_bundle.o process/powertop-do_process.o process/powertop-interrupt.o process/powertop-powerconsumer.o process/powertop-process.o process/powertop-processdevice.o process/powertop-timer.o process/powertop-work.o report/powertop-report-data-html.o report/powertop-report-formatter-base.o report/powertop-report-formatter-csv.o report/powertop-report-formatter-html.o report/powertop-report-maker.o report/powertop-report.o tuning/powertop-bluetooth.o tuning/powertop-ethernet.o tuning/powertop-iw.o tuning/powertop-runtime.o tuning/powertop-tunable.o tuning/powertop-tuning.o tuning/powertop-tuningsysfs.o tuning/powertop-tuningusb.o tuning/powertop-tuningi2c.o tuning/powertop-wifi.o wakeup/powertop-wakeup.o wakeup/powertop-waketab.o wakeup/powertop-wakeup_ethernet.o wakeup/powertop-wakeup_usb.o  -lnl-genl-3 -lnl-3 -lncursesw -ltinfo -lpci ../traceevent/.libs/libtraceevnet.a -lpthread -pthread
 make[4]: Leaving directory '/build/reproducible-path/powertop-2.15/src'
 make[3]: Leaving directory '/build/reproducible-path/powertop-2.15/src'
@@ -1848,7 +1884,7 @@
 make[2]: Leaving directory '/build/reproducible-path/powertop-2.15'
 make[1]: Leaving directory '/build/reproducible-path/powertop-2.15'
    dh_auto_test
-	make -j20 check "TESTSUITEFLAGS=-j20 --verbose" VERBOSE=1
+	make -j42 check "TESTSUITEFLAGS=-j42 --verbose" VERBOSE=1
 make[1]: Entering directory '/build/reproducible-path/powertop-2.15'
 Making check in traceevent
 make[2]: Entering directory '/build/reproducible-path/powertop-2.15/traceevent'
@@ -1894,7 +1930,7 @@
 make[3]: Entering directory '/build/reproducible-path/powertop-2.15/src'
 make[4]: Entering directory '/build/reproducible-path/powertop-2.15/src'
  /usr/bin/mkdir -p '/build/reproducible-path/powertop-2.15/debian/powertop/usr/sbin'
-  /bin/bash ../libtool   --mode=install /usr/bin/install -c powertop '/build/reproducible-path/powertop-2.15/debian/powertop/usr/sbin'
+  /bin/sh ../libtool   --mode=install /usr/bin/install -c powertop '/build/reproducible-path/powertop-2.15/debian/powertop/usr/sbin'
 libtool: install: /usr/bin/install -c powertop /build/reproducible-path/powertop-2.15/debian/powertop/usr/sbin/powertop
 make[4]: Nothing to be done for 'install-data-am'.
 make[4]: Leaving directory '/build/reproducible-path/powertop-2.15/src'
@@ -1959,16 +1995,16 @@
    dh_perl
    dh_link
    dh_strip_nondeterminism
+	Normalized debian/powertop/usr/share/locale/cs_CZ/LC_MESSAGES/powertop.mo
+	Normalized debian/powertop/usr/share/locale/ca/LC_MESSAGES/powertop.mo
+	Normalized debian/powertop/usr/share/locale/zh_TW/LC_MESSAGES/powertop.mo
+	Normalized debian/powertop/usr/share/locale/hu_HU/LC_MESSAGES/powertop.mo
+	Normalized debian/powertop/usr/share/locale/de_DE/LC_MESSAGES/powertop.mo
 	Normalized debian/powertop/usr/share/locale/en_GB/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/nl_NL/LC_MESSAGES/powertop.mo
 	Normalized debian/powertop/usr/share/locale/en_US/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/id_ID/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/ca/LC_MESSAGES/powertop.mo
 	Normalized debian/powertop/usr/share/locale/es_ES/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/de_DE/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/hu_HU/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/cs_CZ/LC_MESSAGES/powertop.mo
-	Normalized debian/powertop/usr/share/locale/zh_TW/LC_MESSAGES/powertop.mo
+	Normalized debian/powertop/usr/share/locale/id_ID/LC_MESSAGES/powertop.mo
+	Normalized debian/powertop/usr/share/locale/nl_NL/LC_MESSAGES/powertop.mo
    dh_compress
    dh_fixperms
    dh_missing
@@ -1980,8 +2016,8 @@
    dh_gencontrol
    dh_md5sums
    dh_builddeb
-dpkg-deb: building package 'powertop-dbgsym' in '../powertop-dbgsym_2.15-4_amd64.deb'.
 dpkg-deb: building package 'powertop' in '../powertop_2.15-4_amd64.deb'.
+dpkg-deb: building package 'powertop-dbgsym' in '../powertop-dbgsym_2.15-4_amd64.deb'.
  dpkg-genbuildinfo --build=binary -O../powertop_2.15-4_amd64.buildinfo
  dpkg-genchanges --build=binary -O../powertop_2.15-4_amd64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -1989,12 +2025,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/1168656/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/407749 and its subdirectories
-I: Current time: Wed Mar 19 02:14:55 -12 2025
-I: pbuilder-time-stamp: 1742393695
+I: removing directory /srv/workspace/pbuilder/1168656 and its subdirectories
+I: Current time: Wed Apr 22 10:39:55 +14 2026
+I: pbuilder-time-stamp: 1776803995