diff --git a/sysutils/Makefile b/sysutils/Makefile index 25665d4d2792..2d0debe2cc0e 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1,1712 +1,1714 @@ COMMENT = System utilities SUBDIR += 3dm SUBDIR += 3mux SUBDIR += 44bsd-more SUBDIR += 915resolution SUBDIR += LPRng SUBDIR += LPRngTool SUBDIR += R-cran-fs SUBDIR += R-cran-processx SUBDIR += R-cran-ps SUBDIR += R-cran-xopen SUBDIR += UEFITool SUBDIR += abduco SUBDIR += abgx360 SUBDIR += accounts-qml-module SUBDIR += accountsservice SUBDIR += acerhdf-kmod SUBDIR += acfgfs SUBDIR += acltool SUBDIR += acpi_call SUBDIR += acpica-tools SUBDIR += acts SUBDIR += adtool SUBDIR += afflib SUBDIR += afio SUBDIR += agedu SUBDIR += ah-tty SUBDIR += aimage SUBDIR += aird SUBDIR += alfio SUBDIR += am-utils SUBDIR += amazon-ssm-agent SUBDIR += amazon-ssm-plugin SUBDIR += amdmsrtweaker SUBDIR += amrstat SUBDIR += amtc SUBDIR += anacron SUBDIR += and SUBDIR += android-file-transfer SUBDIR += android-file-transfer-qt5 SUBDIR += android-ota-payload-extractor SUBDIR += angrysearch SUBDIR += ansible SUBDIR += ansible-iocage SUBDIR += ansible-kld SUBDIR += ansible-sshjail SUBDIR += ansible-sysrc SUBDIR += anvil SUBDIR += apache-mesos SUBDIR += apachetop SUBDIR += apcctrl SUBDIR += apcpwr SUBDIR += apcupsd SUBDIR += appjail SUBDIR += appjail-devel SUBDIR += apt-mirror-devel SUBDIR += aptly SUBDIR += arc_summary SUBDIR += arcconf SUBDIR += archey4 SUBDIR += archivemount SUBDIR += ascpu SUBDIR += asfsm SUBDIR += asmctl SUBDIR += asmem SUBDIR += asusoled SUBDIR += async SUBDIR += atf-fvp SUBDIR += atf-master SUBDIR += atf-rk3328 SUBDIR += atf-rk3399 SUBDIR += atf-sun50i_a64 SUBDIR += atf-sun50i_h6 SUBDIR += atop SUBDIR += auto-admin SUBDIR += autojump SUBDIR += automount SUBDIR += automounter SUBDIR += autorestic SUBDIR += avfs SUBDIR += azure-agent SUBDIR += b2sum SUBDIR += b3sum SUBDIR += b43-fwcutter SUBDIR += backdown SUBDIR += backuppc SUBDIR += backuppc-devel SUBDIR += backuppc4 SUBDIR += backupuser SUBDIR += bacnet-stack-apps SUBDIR += bacula-libs3 SUBDIR += bacula11-client SUBDIR += bacula11-client-static SUBDIR += bacula11-docs SUBDIR += bacula11-server SUBDIR += bacula13-client SUBDIR += bacula13-client-static SUBDIR += bacula13-docs SUBDIR += bacula13-server SUBDIR += bacula15-client SUBDIR += bacula15-client-static SUBDIR += bacula15-docs SUBDIR += bacula15-server SUBDIR += bacula9-client SUBDIR += bacula9-client-static SUBDIR += bacula9-docs SUBDIR += bacula9-server SUBDIR += baloo-widgets SUBDIR += bamf SUBDIR += bareos-client SUBDIR += bareos-server SUBDIR += bareos-traymonitor SUBDIR += bareos20-client SUBDIR += bareos20-server SUBDIR += bareos20-traymonitor SUBDIR += bareos21-client SUBDIR += bareos21-server SUBDIR += bareos21-traymonitor SUBDIR += bareos22-client SUBDIR += bareos22-server SUBDIR += bareos22-traymonitor SUBDIR += barrier SUBDIR += bashtop SUBDIR += bastille SUBDIR += batmon SUBDIR += batterycat SUBDIR += battmond SUBDIR += battray SUBDIR += bchunk SUBDIR += beadm SUBDIR += beadm-devel SUBDIR += beats7 SUBDIR += beats8 SUBDIR += bfs SUBDIR += bhyve+ SUBDIR += bhyve-firmware SUBDIR += bhyve-rc SUBDIR += biosfont SUBDIR += bkpupsd SUBDIR += bksh SUBDIR += bkt SUBDIR += blisp SUBDIR += bmd SUBDIR += bmd-plugin-avahi SUBDIR += bmd-plugin-hookcmd SUBDIR += boot-extract SUBDIR += bottom SUBDIR += bpytop SUBDIR += brasero SUBDIR += brename SUBDIR += brut SUBDIR += bsd-splash-changer SUBDIR += bsdconfig SUBDIR += bsdcrashtar SUBDIR += bsdebfetch SUBDIR += bsdfan SUBDIR += bsdhwmon SUBDIR += bsdinfo SUBDIR += bsdisks SUBDIR += bsdstats SUBDIR += bstack SUBDIR += btop SUBDIR += btsixad SUBDIR += budgie-control-center SUBDIR += buildah SUBDIR += bulk_extractor SUBDIR += bupstash SUBDIR += burp SUBDIR += burp-devel SUBDIR += busybox SUBDIR += bvm SUBDIR += byobu SUBDIR += calamares SUBDIR += cardano-cli SUBDIR += catatonit SUBDIR += catfish SUBDIR += catsit SUBDIR += cbsd SUBDIR += cbsd-mq-api SUBDIR += cbsd-mq-router SUBDIR += ccd2iso SUBDIR += cciss_vol_status SUBDIR += ccze SUBDIR += cdargs SUBDIR += cdbkup SUBDIR += cdeploy SUBDIR += cdircmp SUBDIR += cdrdao SUBDIR += cdrkit SUBDIR += cdroot SUBDIR += cdrtools SUBDIR += cfengine SUBDIR += cfengine-devel SUBDIR += cfengine-lts SUBDIR += cfengine-masterfiles SUBDIR += cfengine-masterfiles-devel SUBDIR += cfengine-masterfiles-lts SUBDIR += cfengine-masterfiles321 SUBDIR += cfengine-masterfiles322 SUBDIR += cfengine-masterfiles323 SUBDIR += cfengine321 SUBDIR += cfengine322 SUBDIR += cfengine323 SUBDIR += chaoskube SUBDIR += checkrestart SUBDIR += chezmoi SUBDIR += chgrep SUBDIR += choria SUBDIR += chyves SUBDIR += cinnamon-control-center SUBDIR += cinnamon-settings-daemon SUBDIR += ciso SUBDIR += ciso-maker SUBDIR += ck4up SUBDIR += clean SUBDIR += clockspeed SUBDIR += clone SUBDIR += clonehdd SUBDIR += cloud-nuke SUBDIR += cloudabi-utils SUBDIR += clsync SUBDIR += cluster-glue SUBDIR += cmdwatch SUBDIR += cmocka SUBDIR += cmockery2 SUBDIR += cmogstored SUBDIR += cmospwd SUBDIR += colorize SUBDIR += conan SUBDIR += confctl SUBDIR += conky SUBDIR += conky-awesome SUBDIR += conman SUBDIR += conmon SUBDIR += conserve SUBDIR += consolehm SUBDIR += consolekit2 SUBDIR += consul SUBDIR += consul-alerts SUBDIR += consul-replicate SUBDIR += consul_exporter SUBDIR += container-diff SUBDIR += containerd SUBDIR += containers-common SUBDIR += contractor SUBDIR += copytape SUBDIR += coreos-ct SUBDIR += coreutils SUBDIR += cpdup SUBDIR += cpu-microcode SUBDIR += cpu-microcode-amd SUBDIR += cpu-microcode-intel SUBDIR += cpu-microcode-rc SUBDIR += cpu-x SUBDIR += cpuburn SUBDIR += cpufetch SUBDIR += cpuid SUBDIR += cpuid2cpuflags SUBDIR += cpulimit SUBDIR += cpupdate SUBDIR += cramfs SUBDIR += crashme SUBDIR += crate SUBDIR += cronic SUBDIR += cronolog SUBDIR += cronolog-devel SUBDIR += ctop SUBDIR += currtime SUBDIR += cw SUBDIR += czkawka SUBDIR += daa2iso SUBDIR += dae SUBDIR += daemonize SUBDIR += daemontools SUBDIR += daemontools-encore SUBDIR += daggy SUBDIR += damager SUBDIR += dar SUBDIR += darling-dmg SUBDIR += datadog-agent SUBDIR += datadog-integrations SUBDIR += dateutils SUBDIR += dc3dd SUBDIR += dcfldd SUBDIR += dd_rescue SUBDIR += ddh SUBDIR += ddpt SUBDIR += ddrescue SUBDIR += ddrescueview SUBDIR += debhelper SUBDIR += debootstrap SUBDIR += deltarpm SUBDIR += deltup SUBDIR += desktop-installer SUBDIR += detox SUBDIR += devctl-jail-kmod SUBDIR += devd-mount SUBDIR += devedeng SUBDIR += devstat SUBDIR += dfc SUBDIR += di SUBDIR += diffoci SUBDIR += digdag SUBDIR += dirdiff SUBDIR += direnv SUBDIR += direvent SUBDIR += dirvish SUBDIR += discus SUBDIR += diskcheckd SUBDIR += diskimage-tools SUBDIR += diskonaut SUBDIR += diskscrub SUBDIR += diskus SUBDIR += dmg2img SUBDIR += dmidecode SUBDIR += dnf SUBDIR += docker SUBDIR += docker-compose SUBDIR += docker-credential-pass SUBDIR += docker-machine SUBDIR += docker-registry SUBDIR += doctl SUBDIR += doinkd SUBDIR += downtimed SUBDIR += dsbbatmon SUBDIR += dsbdriverd SUBDIR += dsblogoutmgr SUBDIR += dsbmc SUBDIR += dsbmc-cli SUBDIR += dsbmd SUBDIR += dsbsu SUBDIR += dsbwrtsysctl SUBDIR += dtc SUBDIR += dtpstree SUBDIR += dtrace-toolkit SUBDIR += du2ps SUBDIR += dua-cli SUBDIR += duf SUBDIR += duff SUBDIR += dunst SUBDIR += dupd SUBDIR += duplicity SUBDIR += duply SUBDIR += dupmerge SUBDIR += dust SUBDIR += dutree SUBDIR += dvd+rw-tools SUBDIR += dvdbackup SUBDIR += dvdimagecmp SUBDIR += dvdisaster SUBDIR += dvdvideo SUBDIR += dvtm SUBDIR += dwatch SUBDIR += dwatch-gource SUBDIR += dwatch-json SUBDIR += dwatch-pwsnoop SUBDIR += dynamic_motd SUBDIR += e2fsprogs SUBDIR += e2fsprogs-core SUBDIR += e2tools SUBDIR += ebsnvme-id SUBDIR += ec2-scripts SUBDIR += eclat SUBDIR += edid-decode SUBDIR += edk2 SUBDIR += egress-monitor SUBDIR += eject SUBDIR += eksctl SUBDIR += elfx86exts SUBDIR += endian SUBDIR += enteruser SUBDIR += entr SUBDIR += env4801 SUBDIR += envconsul SUBDIR += epazote SUBDIR += equinix-metal-cli SUBDIR += erdtree SUBDIR += etcmerge SUBDIR += ethname SUBDIR += evhz SUBDIR += evisum SUBDIR += evtviewer SUBDIR += exa SUBDIR += exfat-utils SUBDIR += extipl SUBDIR += eza SUBDIR += ezjail SUBDIR += f2 SUBDIR += f3 SUBDIR += facter SUBDIR += fakertc SUBDIR += faketty SUBDIR += fand SUBDIR += fanout SUBDIR += fastfetch SUBDIR += fatback SUBDIR += fclones SUBDIR += fcode-utils SUBDIR += fconfig SUBDIR += fcron SUBDIR += fd SUBDIR += fdupes SUBDIR += fetchlog SUBDIR += file SUBDIR += filedupe SUBDIR += filelight SUBDIR += filemon SUBDIR += fileprune SUBDIR += fileschanged SUBDIR += filetype SUBDIR += filevercmp SUBDIR += filewatcherd SUBDIR += finfo SUBDIR += firstboot-cloudsetup SUBDIR += firstboot-freebsd-update SUBDIR += firstboot-pkgs SUBDIR += flasher SUBDIR += flashrom SUBDIR += flexbackup SUBDIR += flipperbit SUBDIR += flock SUBDIR += flog SUBDIR += flowgger SUBDIR += fluent-bit SUBDIR += fluxengine SUBDIR += fonteditfs SUBDIR += foremost SUBDIR += fortunelock SUBDIR += fpart SUBDIR += frand SUBDIR += freebsd-bsdlabel SUBDIR += freebsd-fdisk SUBDIR += freebsd-snapshot SUBDIR += freecolor SUBDIR += freedt SUBDIR += freeipmi SUBDIR += freesbie SUBDIR += froxlor SUBDIR += fsbackup SUBDIR += fsc SUBDIR += fsearch SUBDIR += fselect SUBDIR += fstyp SUBDIR += fswatch-mon SUBDIR += ftwin SUBDIR += fusefs-afuse SUBDIR += fusefs-bindfs SUBDIR += fusefs-chironfs SUBDIR += fusefs-cryptofs SUBDIR += fusefs-curlftpfs SUBDIR += fusefs-encfs SUBDIR += fusefs-exfat SUBDIR += fusefs-ext2 SUBDIR += fusefs-funionfs SUBDIR += fusefs-fusepak SUBDIR += fusefs-gitfs SUBDIR += fusefs-hfsfuse SUBDIR += fusefs-httpdirfs SUBDIR += fusefs-httpfs SUBDIR += fusefs-ifuse SUBDIR += fusefs-jmtpfs SUBDIR += fusefs-libs SUBDIR += fusefs-libs3 SUBDIR += fusefs-lkl SUBDIR += fusefs-mhddfs SUBDIR += fusefs-mp3fs SUBDIR += fusefs-nbt SUBDIR += fusefs-ntfs SUBDIR += fusefs-ntfs-compression SUBDIR += fusefs-pod SUBDIR += fusefs-rar2fs SUBDIR += fusefs-s3backer SUBDIR += fusefs-s3fs SUBDIR += fusefs-sandboxfs SUBDIR += fusefs-securefs SUBDIR += fusefs-simple-mtpfs SUBDIR += fusefs-smbnetfs SUBDIR += fusefs-sqlfs SUBDIR += fusefs-squashfuse SUBDIR += fusefs-sshfs SUBDIR += fusefs-unionfs SUBDIR += fusefs-unreliablefs SUBDIR += fusefs-webdavfs SUBDIR += fusefs-xfuse SUBDIR += fusefs-zip SUBDIR += fvcool SUBDIR += fwup SUBDIR += fx SUBDIR += g15daemon SUBDIR += gaffitter SUBDIR += ganglia-monitor-core SUBDIR += gapcmon SUBDIR += garcon SUBDIR += gather SUBDIR += gconf-editor SUBDIR += gcp-ops-agent SUBDIR += gdisk SUBDIR += gdmap SUBDIR += gdu SUBDIR += genimage SUBDIR += genisoimage SUBDIR += getdelta SUBDIR += geteltorito SUBDIR += getssl SUBDIR += gh-md-toc SUBDIR += gigolo SUBDIR += gitwatch SUBDIR += gkfreq SUBDIR += gkleds2 SUBDIR += gkrellflynn SUBDIR += gkrellm-trayicons SUBDIR += gkrellm2 SUBDIR += gkrelltop SUBDIR += glogg SUBDIR += glow SUBDIR += gnome-control-center SUBDIR += gnome-power-manager SUBDIR += gnome-settings-daemon SUBDIR += gnome-system-monitor SUBDIR += gnome_subr SUBDIR += go-wtf SUBDIR += goaccess SUBDIR += goawk SUBDIR += gobi_loader SUBDIR += gomi SUBDIR += gomplate SUBDIR += google-compute-engine-oslogin SUBDIR += gotop SUBDIR += govmomi SUBDIR += gpart SUBDIR += graffer SUBDIR += graveman SUBDIR += graylog SUBDIR += grub2-bhyve SUBDIR += grub2-efi SUBDIR += grub2-pcbsd SUBDIR += gsh SUBDIR += gsmartcontrol SUBDIR += gstat-rs SUBDIR += gstopd SUBDIR += gstreamer1-plugins-cdio SUBDIR += hammer2 SUBDIR += handlr SUBDIR += hardlink SUBDIR += hare SUBDIR += hared SUBDIR += hatop SUBDIR += hcloud SUBDIR += hdrecover SUBDIR += healthd SUBDIR += heirloom SUBDIR += helm SUBDIR += helmfile SUBDIR += herbe SUBDIR += hexpeek SUBDIR += hextools SUBDIR += hexyl SUBDIR += hfsexplorer SUBDIR += hfsutils SUBDIR += hid-tools SUBDIR += highlnk SUBDIR += hilite SUBDIR += host-setup SUBDIR += hostctl SUBDIR += hourglass SUBDIR += hpacucli SUBDIR += hptcli SUBDIR += hs-cputype SUBDIR += hstr SUBDIR += htop SUBDIR += httm SUBDIR += httplog SUBDIR += hw-probe SUBDIR += hwstat SUBDIR += i2c-tools SUBDIR += i7z SUBDIR += iat SUBDIR += imgurbash2 SUBDIR += immortal SUBDIR += incron SUBDIR += initool SUBDIR += inotify-tools SUBDIR += installwatch SUBDIR += intel-epct SUBDIR += intel-nvmupdate-100g SUBDIR += intel-nvmupdate-10g SUBDIR += intel-nvmupdate-40g SUBDIR += intel-pcm SUBDIR += intel-undervolt SUBDIR += inxi SUBDIR += iocage SUBDIR += iocage-devel SUBDIR += iocell SUBDIR += iograph SUBDIR += iohyve SUBDIR += ioping SUBDIR += ipa SUBDIR += ipad_charge SUBDIR += ipdbtools SUBDIR += ipfs-go SUBDIR += ipfs-go-fs-repo-migrations SUBDIR += ipget SUBDIR += ipmi_exporter SUBDIR += ipmitool SUBDIR += ipsc SUBDIR += isc-cron SUBDIR += isomaster SUBDIR += istio SUBDIR += jadm SUBDIR += jail-primer SUBDIR += jail_exporter SUBDIR += jailadmin SUBDIR += jaildaemon SUBDIR += jailme SUBDIR += jailrc SUBDIR += jailutils SUBDIR += javaservicewrapper SUBDIR += jdiskreport SUBDIR += jdupes SUBDIR += jest SUBDIR += jkill SUBDIR += joshuto SUBDIR += jps SUBDIR += jruls SUBDIR += jstest-gtk SUBDIR += jtop SUBDIR += jtopen SUBDIR += jvmtop SUBDIR += k3b SUBDIR += k4dirstat SUBDIR += k8temp SUBDIR += k9s SUBDIR += kapp SUBDIR += kbackup SUBDIR += kcron SUBDIR += kdeadmin SUBDIR += kdebugsettings SUBDIR += kdf SUBDIR += kdialog SUBDIR += keyboard-daemon SUBDIR += keyd SUBDIR += kf5-baloo SUBDIR += kf5-kwallet SUBDIR += kf6-baloo SUBDIR += kf6-kuserfeedback SUBDIR += kf6-kwallet SUBDIR += khelpcenter SUBDIR += kiconvtool SUBDIR += kio-fuse SUBDIR += kldfind SUBDIR += kldpatch SUBDIR += kopia SUBDIR += kops SUBDIR += kpmcore SUBDIR += krename SUBDIR += kshutdown SUBDIR += ksystemlog SUBDIR += kubectl SUBDIR += kvmclock-kmod SUBDIR += lava SUBDIR += lbl-cf SUBDIR += lbl-hf SUBDIR += lcdproc SUBDIR += ldap-account-manager SUBDIR += ldapvi SUBDIR += ledit SUBDIR += less SUBDIR += lfm SUBDIR += libcdio SUBDIR += libcdio-paranoia SUBDIR += libchk SUBDIR += libcpuid SUBDIR += libdisplay-info SUBDIR += libdnf SUBDIR += libfvde SUBDIR += libg15 SUBDIR += libg15render SUBDIR += libieee1284 SUBDIR += libptytty SUBDIR += libsunacl SUBDIR += libsysstat + SUBDIR += libsysstat-qt6 SUBDIR += libtpms SUBDIR += libtree SUBDIR += libudisks SUBDIR += liburcu SUBDIR += limine SUBDIR += lineak-defaultplugin SUBDIR += lineak-xosdplugin SUBDIR += lineakd SUBDIR += linrename SUBDIR += linux-c7-dosfstools SUBDIR += linux-c7-lttng-ust SUBDIR += linux-c7-numactl-libs SUBDIR += linux-c7-userspace-rcu SUBDIR += linux-miniconda-installer SUBDIR += linux-rkbin SUBDIR += linuxfdisk SUBDIR += lizardfs SUBDIR += lmmon SUBDIR += lmon SUBDIR += lnav SUBDIR += lockfile-progs SUBDIR += loganalyzer SUBDIR += logrotate SUBDIR += logstalgia SUBDIR += logstash7 SUBDIR += logstash8 SUBDIR += logtool SUBDIR += logwatch SUBDIR += loki SUBDIR += lookat SUBDIR += lr SUBDIR += lsblk SUBDIR += lscpu SUBDIR += lsd SUBDIR += lsof SUBDIR += lsop SUBDIR += lsyncd SUBDIR += ltfs SUBDIR += ltrace SUBDIR += lttng-ust SUBDIR += lua-puremagic SUBDIR += luckybackup SUBDIR += lxinput SUBDIR += lxqt-admin SUBDIR += lxqt-config SUBDIR += lxqt-policykit SUBDIR += lxqt-powermanagement + SUBDIR += lxqt-qt6plugin SUBDIR += lxqt-qtplugin SUBDIR += lxsplit SUBDIR += lxtask SUBDIR += lxterminal SUBDIR += mac_nonet SUBDIR += mac_rtprio SUBDIR += mackerel-agent SUBDIR += magicrescue SUBDIR += manck SUBDIR += mapchan SUBDIR += mapdir SUBDIR += massadmin SUBDIR += mate-control-center SUBDIR += mate-polkit SUBDIR += mate-power-manager SUBDIR += mate-settings-daemon SUBDIR += mate-system-monitor SUBDIR += mbgtools SUBDIR += mcelog SUBDIR += mcfly SUBDIR += mcron SUBDIR += mcweject SUBDIR += mdf2iso SUBDIR += megacli SUBDIR += megarc SUBDIR += memdump SUBDIR += memfetch SUBDIR += memtest86 SUBDIR += memtest86+ SUBDIR += memtester SUBDIR += metalog SUBDIR += mfid SUBDIR += minikube SUBDIR += minimunin SUBDIR += minipot SUBDIR += minipro SUBDIR += minirsyslogd SUBDIR += mise SUBDIR += mixer SUBDIR += mkdesktop SUBDIR += mkfwimage SUBDIR += mkjail SUBDIR += mkntpwd SUBDIR += mmc-utils SUBDIR += mmve SUBDIR += modman SUBDIR += modules SUBDIR += mog SUBDIR += monit SUBDIR += monitord SUBDIR += monitorix SUBDIR += moosefs2-cgi SUBDIR += moosefs2-cgiserv SUBDIR += moosefs2-chunkserver SUBDIR += moosefs2-cli SUBDIR += moosefs2-client SUBDIR += moosefs2-master SUBDIR += moosefs2-metalogger SUBDIR += moosefs2-netdump SUBDIR += moosefs3-cgi SUBDIR += moosefs3-cgiserv SUBDIR += moosefs3-chunkserver SUBDIR += moosefs3-cli SUBDIR += moosefs3-client SUBDIR += moosefs3-master SUBDIR += moosefs3-metalogger SUBDIR += moosefs3-netdump SUBDIR += moreutils SUBDIR += most SUBDIR += mountsmb2 SUBDIR += mping SUBDIR += mprocs SUBDIR += mptd SUBDIR += msiklm SUBDIR += msktutil SUBDIR += mstflint SUBDIR += mtm SUBDIR += mtpfs SUBDIR += mtxorbd SUBDIR += multitail SUBDIR += munin-common SUBDIR += munin-contrib SUBDIR += munin-master SUBDIR += munin-node SUBDIR += mxkill SUBDIR += mybashburn SUBDIR += myrescue SUBDIR += n98-magerun SUBDIR += nagios-statd SUBDIR += namefix SUBDIR += nbosd SUBDIR += ncdu SUBDIR += ncdu2 SUBDIR += ndmpd SUBDIR += neofetch SUBDIR += nerdctl SUBDIR += netevent SUBDIR += nfcutils SUBDIR += nitrogen SUBDIR += nix SUBDIR += nmdaemon SUBDIR += nmrpflash SUBDIR += node_exporter SUBDIR += nomad SUBDIR += nomad-pot-driver SUBDIR += npadmin SUBDIR += npmount SUBDIR += nq SUBDIR += nrg2iso SUBDIR += nss_ndb SUBDIR += nsysctl SUBDIR += ntfs2btrfs SUBDIR += ntfy SUBDIR += ntpstat SUBDIR += nut SUBDIR += nut-devel SUBDIR += nut_exporter SUBDIR += nvclock SUBDIR += nvimpager SUBDIR += nvme-cli SUBDIR += nvramtool SUBDIR += oak SUBDIR += obliterate SUBDIR += oc SUBDIR += ocijail SUBDIR += odo SUBDIR += ods2 SUBDIR += ohmu SUBDIR += omnibackup SUBDIR += onefetch SUBDIR += opa SUBDIR += open SUBDIR += opencorsairlink SUBDIR += opendircolors SUBDIR += openipmi SUBDIR += opensbi SUBDIR += openseachest SUBDIR += opentofu SUBDIR += openupsd SUBDIR += openzfs SUBDIR += openzfs-kmod SUBDIR += orch SUBDIR += osinfo-db-tools SUBDIR += p5-App-Regather SUBDIR += p5-App-RunCron SUBDIR += p5-App-ZFSCurses SUBDIR += p5-BSD-Jail-Object SUBDIR += p5-BSD-Process SUBDIR += p5-BSD-Sysctl SUBDIR += p5-BSD-getloadavg SUBDIR += p5-BackupPC-XS SUBDIR += p5-Brackup SUBDIR += p5-Command-Runner SUBDIR += p5-Device-RAID-Poller SUBDIR += p5-Dir-Purge SUBDIR += p5-File-BackupCopy SUBDIR += p5-File-Cmp SUBDIR += p5-File-DirCompare SUBDIR += p5-File-Listing SUBDIR += p5-File-Log SUBDIR += p5-File-Next SUBDIR += p5-File-Rename SUBDIR += p5-File-Signature SUBDIR += p5-File-Stat-Bits SUBDIR += p5-File-Stat-ModeString SUBDIR += p5-File-Tee SUBDIR += p5-File-Which SUBDIR += p5-Filesys-Df SUBDIR += p5-Filesys-DfPortable SUBDIR += p5-Filesys-DiskFree SUBDIR += p5-Filesys-DiskSpace SUBDIR += p5-Filesys-DiskUsage SUBDIR += p5-Filesys-Statvfs SUBDIR += p5-Filesys-ZFS SUBDIR += p5-Filesys-ZFS-Stat SUBDIR += p5-Fuse SUBDIR += p5-Fuse-Simple SUBDIR += p5-Giovanni SUBDIR += p5-Iterator-File SUBDIR += p5-Lchown SUBDIR += p5-Linux-Cpuinfo SUBDIR += p5-Log-Colorize-Helper SUBDIR += p5-Log-Syslog-Constants SUBDIR += p5-Log-Syslog-Fast SUBDIR += p5-MogileFS-Client SUBDIR += p5-MogileFS-Network SUBDIR += p5-MogileFS-Server SUBDIR += p5-MogileFS-Utils SUBDIR += p5-Monitor-Simple SUBDIR += p5-POSIX-Run-Capture SUBDIR += p5-Plugtools SUBDIR += p5-Plugtools-Plugins-HomeOU SUBDIR += p5-Probe-Perl SUBDIR += p5-Proc-PidUtil SUBDIR += p5-Proc-ProcessTable-Colorizer SUBDIR += p5-Proc-ProcessTable-InfoString SUBDIR += p5-Proc-ProcessTable-Match SUBDIR += p5-Proc-ProcessTable-ncps SUBDIR += p5-Proclet SUBDIR += p5-Quota SUBDIR += p5-Rex SUBDIR += p5-RundeckAPI SUBDIR += p5-Samba-SIDhelper SUBDIR += p5-Schedule-At SUBDIR += p5-Schedule-Cron SUBDIR += p5-Schedule-Cron-Events SUBDIR += p5-Schedule-Load SUBDIR += p5-Schedule-Match SUBDIR += p5-Shell-Command SUBDIR += p5-Stat-lsMode SUBDIR += p5-Sys-CpuLoad SUBDIR += p5-Sys-Filesystem SUBDIR += p5-Sys-Gamin SUBDIR += p5-Sys-Group-GIDhelper SUBDIR += p5-Sys-HostIP SUBDIR += p5-Sys-Hostname-FQDN SUBDIR += p5-Sys-Hostname-Long SUBDIR += p5-Sys-Load SUBDIR += p5-Sys-Syslog SUBDIR += p5-Sys-User-UIDhelper SUBDIR += p5-Sysadm-Install SUBDIR += p5-SyslogScan SUBDIR += p5-Tail-Stat SUBDIR += p5-Tie-Syslog SUBDIR += p5-Ubic SUBDIR += p5-Unix-ConfigFile SUBDIR += p5-Unix-Lsof SUBDIR += p5-Unix-Mknod SUBDIR += p5-Unix-Processors SUBDIR += p5-Unix-Syslog SUBDIR += p5-User SUBDIR += p5-arclog SUBDIR += p5-reslog SUBDIR += packer SUBDIR += packmule SUBDIR += pacman SUBDIR += paicc SUBDIR += paladin SUBDIR += pam_xdg SUBDIR += panicmail SUBDIR += parafly SUBDIR += parallel SUBDIR += parkverbot SUBDIR += pass-otp SUBDIR += pass-secrets SUBDIR += pass-update SUBDIR += password-store SUBDIR += passwordsafe SUBDIR += patchelf SUBDIR += pax-utils SUBDIR += pbimaker SUBDIR += pc-networkmanager SUBDIR += pcapfix SUBDIR += pciutils SUBDIR += pcns SUBDIR += pcpustat SUBDIR += pdixtract SUBDIR += pdsh SUBDIR += pdumpfs SUBDIR += pear-Cache SUBDIR += pear-Cache_Lite SUBDIR += pear-File SUBDIR += pear-File_Find SUBDIR += pear-File_Fstab SUBDIR += pear-File_Gettext SUBDIR += pear-Horde_Log SUBDIR += pear-Horde_Vfs SUBDIR += pear-I18Nv2 SUBDIR += pear-Log SUBDIR += pear-Translation2 SUBDIR += pecl-proctitle SUBDIR += pefs-kmod SUBDIR += perp SUBDIR += personality SUBDIR += pfetch SUBDIR += pflogx SUBDIR += pfstat SUBDIR += pftables SUBDIR += pftop SUBDIR += php81-fileinfo SUBDIR += php81-posix SUBDIR += php82-fileinfo SUBDIR += php82-posix SUBDIR += php83-fileinfo SUBDIR += php83-posix SUBDIR += phybs SUBDIR += pick SUBDIR += pidof SUBDIR += pies SUBDIR += pipemeter SUBDIR += plasma-pass SUBDIR += plasma5-discover SUBDIR += plasma5-drkonqi SUBDIR += plasma5-kde-cli-tools SUBDIR += plasma5-kinfocenter SUBDIR += plasma5-kmenuedit SUBDIR += plasma5-ksysguard SUBDIR += plasma5-ksystemstats SUBDIR += plasma5-libksysguard SUBDIR += plasma5-plasma-disks SUBDIR += plasma5-plasma-systemmonitor SUBDIR += plasma5-polkit-kde-agent-1 SUBDIR += plasma5-powerdevil SUBDIR += plasma5-systemsettings SUBDIR += plasma6-discover SUBDIR += plasma6-drkonqi SUBDIR += plasma6-kde-cli-tools SUBDIR += plasma6-kinfocenter SUBDIR += plasma6-kmenuedit SUBDIR += plasma6-ksystemstats SUBDIR += plasma6-libksysguard SUBDIR += plasma6-plasma-disks SUBDIR += plasma6-plasma-systemmonitor SUBDIR += plasma6-polkit-kde-agent-1 SUBDIR += plasma6-powerdevil SUBDIR += plasma6-systemsettings SUBDIR += plconfig SUBDIR += plocate SUBDIR += pmt SUBDIR += pnscan SUBDIR += podman SUBDIR += podman-suite SUBDIR += polkit SUBDIR += polkit-gnome SUBDIR += polkit-qt-1 SUBDIR += popeye SUBDIR += pot SUBDIR += potnet SUBDIR += poweralertd SUBDIR += powerdxx SUBDIR += powerman SUBDIR += powermon SUBDIR += pp SUBDIR += pprotectd SUBDIR += prips SUBDIR += procenv SUBDIR += process-viewer SUBDIR += procmap SUBDIR += procs SUBDIR += progsreiserfs SUBDIR += pslist SUBDIR += psmisc SUBDIR += pstack SUBDIR += pstacku SUBDIR += pstree SUBDIR += puppet-lint SUBDIR += puppet-mode.el SUBDIR += puppet7 SUBDIR += puppet8 SUBDIR += puppetserver7 SUBDIR += puppetserver8 SUBDIR += pv SUBDIR += pwd_unmkdb SUBDIR += pwgen SUBDIR += pwol SUBDIR += pwsafe SUBDIR += pxattr SUBDIR += pxp-agent SUBDIR += py-ansible-compat SUBDIR += py-ansible-core SUBDIR += py-ansible-lint SUBDIR += py-ansible-runner SUBDIR += py-azure-cli SUBDIR += py-azure-cli-acr SUBDIR += py-azure-cli-base SUBDIR += py-azure-cli-core SUBDIR += py-azure-cli-telemetry SUBDIR += py-bitrot SUBDIR += py-blinkstick SUBDIR += py-borgmatic SUBDIR += py-concurrent-log-handler SUBDIR += py-cron-descriptor SUBDIR += py-croniter SUBDIR += py-croniter2 SUBDIR += py-dict-toolbox SUBDIR += py-diffoscope SUBDIR += py-director SUBDIR += py-dirsync SUBDIR += py-distro SUBDIR += py-dlipower SUBDIR += py-docker SUBDIR += py-drmaa SUBDIR += py-elf_diff SUBDIR += py-execnet SUBDIR += py-filelike SUBDIR += py-filelock SUBDIR += py-focker SUBDIR += py-glances SUBDIR += py-google-compute-engine SUBDIR += py-hared SUBDIR += py-hcloud SUBDIR += py-honcho SUBDIR += py-howdoi SUBDIR += py-hpilo SUBDIR += py-iowait SUBDIR += py-ioztat SUBDIR += py-jailconf SUBDIR += py-keep SUBDIR += py-leviathan SUBDIR += py-liquidctl SUBDIR += py-mitogen SUBDIR += py-mqttwarn SUBDIR += py-nagiosplugin SUBDIR += py-packet-python SUBDIR += py-pkginfo SUBDIR += py-ploy SUBDIR += py-ploy_ezjail SUBDIR += py-plumbum SUBDIR += py-power SUBDIR += py-prometheus-zfs SUBDIR += py-psutil SUBDIR += py-ptyprocess SUBDIR += py-puremagic SUBDIR += py-py-cpuinfo SUBDIR += py-python-bareos SUBDIR += py-python-consul SUBDIR += py-python-consul2 SUBDIR += py-python-crontab SUBDIR += py-python-nomad SUBDIR += py-pytsk SUBDIR += py-pywatchman SUBDIR += py-pyznap SUBDIR += py-qmk SUBDIR += py-queuelib SUBDIR += py-ranger SUBDIR += py-rdiff-backup SUBDIR += py-resolve-march-native SUBDIR += py-salt SUBDIR += py-scandir SUBDIR += py-scarab SUBDIR += py-supervisor SUBDIR += py-tarsnapper SUBDIR += py-tmuxp SUBDIR += py-upt SUBDIR += py-upt-cpan SUBDIR += py-upt-freebsd SUBDIR += py-upt-pypi SUBDIR += py-upt-rubygems SUBDIR += py-uptime SUBDIR += py-zdaemon SUBDIR += py-zfs-autobackup SUBDIR += pydf SUBDIR += qchroot SUBDIR += qdirstat SUBDIR += qflipper SUBDIR += qjail SUBDIR += qjail54 SUBDIR += qlogtools SUBDIR += qsudo SUBDIR += qt5-qtdiag SUBDIR += qt5-qtpaths SUBDIR += qt5-qtplugininfo SUBDIR += qtpass SUBDIR += qtxdg-tools SUBDIR += quickjail SUBDIR += quicksynergy SUBDIR += racktables SUBDIR += radeontool SUBDIR += radeontop SUBDIR += radmind SUBDIR += rainbarf SUBDIR += raincoat SUBDIR += rcadm SUBDIR += rclean SUBDIR += rcm SUBDIR += rdate SUBDIR += rdfind SUBDIR += rdup SUBDIR += read-edid SUBDIR += recoverdm SUBDIR += reed SUBDIR += reggae SUBDIR += rej SUBDIR += rename SUBDIR += renameutils SUBDIR += reoback SUBDIR += reproduce SUBDIR += reptyr SUBDIR += respond SUBDIR += rest-server SUBDIR += restic SUBDIR += retail SUBDIR += rex SUBDIR += rhc SUBDIR += rinse SUBDIR += rkbin SUBDIR += rmlint SUBDIR += rocinante SUBDIR += rocr SUBDIR += roct SUBDIR += root-tail SUBDIR += rovclock SUBDIR += rpi-firmware SUBDIR += rset SUBDIR += rshim-user-space SUBDIR += rsnapshot SUBDIR += rsyncbackup SUBDIR += rsyncrypto SUBDIR += rsyslog8 SUBDIR += rtty SUBDIR += rubygem-backup SUBDIR += rubygem-bolt SUBDIR += rubygem-bosh-gen SUBDIR += rubygem-bundler SUBDIR += rubygem-bundler_ext SUBDIR += rubygem-capistrano SUBDIR += rubygem-capistrano-ext SUBDIR += rubygem-capistrano-harrow SUBDIR += rubygem-chef SUBDIR += rubygem-chef-bin SUBDIR += rubygem-chef-cleanroom SUBDIR += rubygem-chef-config SUBDIR += rubygem-chef-licensing SUBDIR += rubygem-chef-telemetry SUBDIR += rubygem-chef-utils SUBDIR += rubygem-chef-vault SUBDIR += rubygem-chef-zero SUBDIR += rubygem-choria-mcorpc-support SUBDIR += rubygem-facter SUBDIR += rubygem-fluent-mixin-plaintextformatter SUBDIR += rubygem-fluent-plugin-config-expander SUBDIR += rubygem-fluent-plugin-file-alternative SUBDIR += rubygem-fluent-plugin-tail-asis SUBDIR += rubygem-fluentd SUBDIR += rubygem-fssm SUBDIR += rubygem-god SUBDIR += rubygem-guard SUBDIR += rubygem-guard-compat SUBDIR += rubygem-guard-cucumber SUBDIR += rubygem-guard-livereload SUBDIR += rubygem-guard-minitest SUBDIR += rubygem-guard-rspec SUBDIR += rubygem-hammer_cli SUBDIR += rubygem-hammer_cli_foreman SUBDIR += rubygem-hammer_cli_foreman_bootdisk SUBDIR += rubygem-hammer_cli_foreman_salt SUBDIR += rubygem-hammer_cli_foreman_ssh SUBDIR += rubygem-hiera SUBDIR += rubygem-hiera-eyaml SUBDIR += rubygem-hiera-file SUBDIR += rubygem-hieracles SUBDIR += rubygem-httplog SUBDIR += rubygem-itamae SUBDIR += rubygem-librarian-puppet SUBDIR += rubygem-license-acceptance SUBDIR += rubygem-license_scout SUBDIR += rubygem-log4r SUBDIR += rubygem-logify SUBDIR += rubygem-mogilefs-client SUBDIR += rubygem-mothra SUBDIR += rubygem-murder SUBDIR += rubygem-ohai SUBDIR += rubygem-parallel SUBDIR += rubygem-puppet_forge SUBDIR += rubygem-puppetfile-resolver SUBDIR += rubygem-puppetserver-ca SUBDIR += rubygem-r10k SUBDIR += rubygem-redfish_client SUBDIR += rubygem-rubyipmi SUBDIR += rubygem-serverspec SUBDIR += rubygem-shellany SUBDIR += rubygem-smart_proxy_dynflow SUBDIR += rubygem-smart_proxy_remote_execution_ssh SUBDIR += rubygem-smart_proxy_salt SUBDIR += rubygem-specinfra SUBDIR += rubygem-sys-admin SUBDIR += rubygem-sys-cpu SUBDIR += rubygem-sys-filesystem SUBDIR += rubygem-sys-host SUBDIR += rubygem-sys-proctable SUBDIR += rubygem-sys-uname SUBDIR += rubygem-sys-uptime SUBDIR += rubygem-syslog-logger SUBDIR += rubygem-teamocil SUBDIR += rubygem-tmuxinator SUBDIR += rubygem-vagrant-bhyve SUBDIR += rubygem-vagrant-mutate SUBDIR += rubygem-vagrant_cloud SUBDIR += rubygem-vmstat SUBDIR += rubygem-win32-file SUBDIR += rubygem-win32-file-security SUBDIR += rubygem-win32-file-stat SUBDIR += rubygem-winrm SUBDIR += rubygem-winrm-elevated SUBDIR += rubygem-winrm-fs SUBDIR += rubygem-yell SUBDIR += runas SUBDIR += rundeck SUBDIR += runiq SUBDIR += runit SUBDIR += runit-faster SUBDIR += runj SUBDIR += runwhen SUBDIR += rush SUBDIR += rust-coreutils SUBDIR += rust-findutils SUBDIR += rw SUBDIR += rw-tui SUBDIR += s-tui SUBDIR += s6 SUBDIR += s6-rc SUBDIR += safe-rm SUBDIR += safecat SUBDIR += safecopy SUBDIR += sake SUBDIR += samdruckerclientshell SUBDIR += samefile SUBDIR += samesame SUBDIR += sanoid SUBDIR += sanoid-devel SUBDIR += sas2ircu SUBDIR += sas3ircu SUBDIR += savelogs SUBDIR += scalpel SUBDIR += scan_ffs SUBDIR += scanbd SUBDIR += scanbuttond SUBDIR += scanmem SUBDIR += scct SUBDIR += schedutils SUBDIR += schilyutils SUBDIR += screen SUBDIR += screen-devel SUBDIR += screenfetch SUBDIR += screenie SUBDIR += scterc SUBDIR += sd-agent SUBDIR += sdparm SUBDIR += seatd SUBDIR += seatools SUBDIR += sec SUBDIR += sensu-go SUBDIR += serf SUBDIR += setcdboot SUBDIR += setsid SUBDIR += sg3_utils SUBDIR += shim SUBDIR += shlock SUBDIR += shmcat SUBDIR += shuf SUBDIR += siegfried SUBDIR += signon-kwallet-extension SUBDIR += signon-plugin-oauth2 SUBDIR += signon-ui SUBDIR += signond SUBDIR += sispmctl SUBDIR += skopeo SUBDIR += slack SUBDIR += sleuthkit SUBDIR += slst SUBDIR += slurm-wlm SUBDIR += smart SUBDIR += smartmontools SUBDIR += smenu SUBDIR += smp_utils SUBDIR += smug SUBDIR += snap SUBDIR += snapraid SUBDIR += sndy SUBDIR += snmp_exporter SUBDIR += snooze SUBDIR += sockaddr SUBDIR += socket SUBDIR += socklog SUBDIR += solaar SUBDIR += spcm SUBDIR += spindown SUBDIR += spinner SUBDIR += spiped SUBDIR += squashfs-tools SUBDIR += squashfs-tools-ng SUBDIR += ssd_report SUBDIR += sshsudo SUBDIR += ssync SUBDIR += stalepid SUBDIR += stepsync SUBDIR += storcli SUBDIR += stow SUBDIR += stowES SUBDIR += stress SUBDIR += stressdisk SUBDIR += superfile SUBDIR += superiotool SUBDIR += swapd SUBDIR += swapexd SUBDIR += swapmon SUBDIR += swapusage SUBDIR += sweeper SUBDIR += swtpm SUBDIR += symlinks SUBDIR += symon SUBDIR += synergy SUBDIR += syngesture SUBDIR += sysctlbyname-improved-kmod SUBDIR += sysctlinfo-kmod SUBDIR += sysgather SUBDIR += sysinfo SUBDIR += syslinux SUBDIR += syslog-ng SUBDIR += syslogger SUBDIR += systeroid SUBDIR += sysvbanner SUBDIR += szyszka SUBDIR += tai64nfrac SUBDIR += tailspin SUBDIR += tarsnap SUBDIR += tarsnap-gui SUBDIR += tarsnap-periodic SUBDIR += tartarus SUBDIR += tbku SUBDIR += tclsyslog SUBDIR += tcplist SUBDIR += tdir SUBDIR += tealdeer SUBDIR += tenshi SUBDIR += tere SUBDIR += terraform SUBDIR += terraform-docs SUBDIR += terraform-provider-gridscale SUBDIR += terraform-provider-vultr SUBDIR += terraform-switcher SUBDIR += terragrunt SUBDIR += testdisk SUBDIR += tflint SUBDIR += thefish SUBDIR += tiempo SUBDIR += timelimit SUBDIR += timemon SUBDIR += tiramisu SUBDIR += titlefix SUBDIR += tkdvd SUBDIR += tlsdate SUBDIR += tm SUBDIR += tmate SUBDIR += tmate-ssh-server SUBDIR += tmpreaper SUBDIR += tmpwatch SUBDIR += tmux SUBDIR += tmux-mem-cpu-load SUBDIR += tmux-xpanes SUBDIR += tmux23 SUBDIR += topgrade SUBDIR += topless SUBDIR += torque SUBDIR += toshctl SUBDIR += touchegg SUBDIR += toybox SUBDIR += tracker SUBDIR += tracker-miners SUBDIR += tracker3 SUBDIR += tree SUBDIR += triton SUBDIR += trueos-libqt5 SUBDIR += ts SUBDIR += tty-clock SUBDIR += ttyd SUBDIR += ttyload SUBDIR += tuckr SUBDIR += tuptime SUBDIR += turbostat SUBDIR += tw_cli SUBDIR += twa-kmod SUBDIR += twmn SUBDIR += tzdialog SUBDIR += u-boot-a13-olinuxino SUBDIR += u-boot-a64-olinuxino SUBDIR += u-boot-bananapi SUBDIR += u-boot-bananapim2 SUBDIR += u-boot-beaglebone SUBDIR += u-boot-bhyve-arm64 SUBDIR += u-boot-chip SUBDIR += u-boot-clearfog SUBDIR += u-boot-cubieboard SUBDIR += u-boot-cubieboard2 SUBDIR += u-boot-cubox-hummingboard SUBDIR += u-boot-firefly-rk3399 SUBDIR += u-boot-imx-serial-loader SUBDIR += u-boot-master SUBDIR += u-boot-nanopi-a64 SUBDIR += u-boot-nanopi-m1plus SUBDIR += u-boot-nanopi-neo SUBDIR += u-boot-nanopi-neo-air SUBDIR += u-boot-nanopi-neo2 SUBDIR += u-boot-nanopi-r2s SUBDIR += u-boot-nanopi-r4s SUBDIR += u-boot-nanopi-r5s SUBDIR += u-boot-olimex-a20-som-evb SUBDIR += u-boot-olinuxino-lime SUBDIR += u-boot-olinuxino-lime2 SUBDIR += u-boot-olinuxino-lime2-emmc SUBDIR += u-boot-orangepi-one SUBDIR += u-boot-orangepi-pc SUBDIR += u-boot-orangepi-pc-plus SUBDIR += u-boot-orangepi-pc2 SUBDIR += u-boot-orangepi-plus-2e SUBDIR += u-boot-orangepi-r1 SUBDIR += u-boot-orangepi-zero SUBDIR += u-boot-orangepi-zero-plus SUBDIR += u-boot-pandaboard SUBDIR += u-boot-pcduino3 SUBDIR += u-boot-pine-h64 SUBDIR += u-boot-pine64 SUBDIR += u-boot-pine64-lts SUBDIR += u-boot-pinebook SUBDIR += u-boot-pinebookpro SUBDIR += u-boot-qemu-arm SUBDIR += u-boot-qemu-arm64 SUBDIR += u-boot-qemu-riscv64 SUBDIR += u-boot-riotboard SUBDIR += u-boot-rock-pi-4 SUBDIR += u-boot-rock64 SUBDIR += u-boot-rockpro64 SUBDIR += u-boot-rpi SUBDIR += u-boot-rpi-0-w SUBDIR += u-boot-rpi-arm64 SUBDIR += u-boot-rpi2 SUBDIR += u-boot-rpi3 SUBDIR += u-boot-rpi3-32 SUBDIR += u-boot-rpi4 SUBDIR += u-boot-sifive-fu540 SUBDIR += u-boot-sifive-fu740 SUBDIR += u-boot-sinovoip-bpi-m3 SUBDIR += u-boot-sopine SUBDIR += u-boot-sopine-spi SUBDIR += u-boot-starfive-visionfive2 SUBDIR += u-boot-tools SUBDIR += u-boot-wandboard SUBDIR += ua SUBDIR += ucspi-ipc SUBDIR += ucspi-proxy SUBDIR += ucspi-ssl SUBDIR += ucspi-tcp SUBDIR += ucspi-unix SUBDIR += udfclient SUBDIR += ufetch SUBDIR += ufs_copy SUBDIR += uhidd SUBDIR += uif2iso SUBDIR += unetbootin SUBDIR += unieject SUBDIR += uniutils SUBDIR += unquote SUBDIR += unstow SUBDIR += upower SUBDIR += upsdaemon SUBDIR += uptimed SUBDIR += usb_modeswitch SUBDIR += usbhid-dump SUBDIR += usbtop SUBDIR += usbutils SUBDIR += uschedule SUBDIR += userinfo SUBDIR += userlist SUBDIR += usermatic SUBDIR += usermin SUBDIR += userneu SUBDIR += userneu-devel SUBDIR += usrinfo SUBDIR += utcount SUBDIR += vagrant SUBDIR += vbetool SUBDIR += vchanger SUBDIR += vcp SUBDIR += viddy SUBDIR += videogen SUBDIR += vii SUBDIR += vils SUBDIR += vimpager SUBDIR += virt-what SUBDIR += virtualmin SUBDIR += vivid SUBDIR += vm-bhyve SUBDIR += vm-bhyve-devel SUBDIR += vmdktool SUBDIR += vmstated SUBDIR += vmtouch SUBDIR += vobcopy SUBDIR += volman SUBDIR += vpnc-scripts SUBDIR += vttest SUBDIR += vzvol SUBDIR += wait_on SUBDIR += walk SUBDIR += watchfolder SUBDIR += watchman SUBDIR += watchmen SUBDIR += waynergy SUBDIR += webmin SUBDIR += weedit SUBDIR += wemux SUBDIR += whatpix SUBDIR += whowatch SUBDIR += wiimms SUBDIR += wimlib SUBDIR += wiper SUBDIR += wmapmload SUBDIR += wmbluecpu SUBDIR += wmbsdbatt SUBDIR += wmcpuload SUBDIR += wmcube SUBDIR += wmdiskmon SUBDIR += wmflame SUBDIR += wmmemfree SUBDIR += wmmemload SUBDIR += wmscript SUBDIR += wmtop SUBDIR += wmupmon SUBDIR += worldtools SUBDIR += wuzzah SUBDIR += x86info SUBDIR += xbatt SUBDIR += xbattbar SUBDIR += xcdroast SUBDIR += xcp SUBDIR += xcpustate SUBDIR += xdu SUBDIR += xe SUBDIR += xe-guest-utilities SUBDIR += xen-guest-tools SUBDIR += xen-tools SUBDIR += xfburn SUBDIR += xfce4-battery-plugin SUBDIR += xfce4-bsdcpufreq-plugin SUBDIR += xfce4-cpugraph-plugin SUBDIR += xfce4-diskperf-plugin SUBDIR += xfce4-fsguard-plugin SUBDIR += xfce4-genmon-plugin SUBDIR += xfce4-mount-plugin SUBDIR += xfce4-netload-plugin SUBDIR += xfce4-places-plugin SUBDIR += xfce4-power-manager SUBDIR += xfce4-settings SUBDIR += xfce4-systemload-plugin SUBDIR += xfce4-wavelan-plugin SUBDIR += xfsm SUBDIR += xfsprogs SUBDIR += xin SUBDIR += xjobs SUBDIR += xmbmon SUBDIR += xnvme SUBDIR += xorriso SUBDIR += xosview SUBDIR += xpipe SUBDIR += xstow SUBDIR += xsysstats SUBDIR += xxd SUBDIR += yadf SUBDIR += yadm SUBDIR += yank SUBDIR += yazi SUBDIR += z SUBDIR += zap SUBDIR += zbackup SUBDIR += zeitgeist SUBDIR += zellij SUBDIR += zelta SUBDIR += zeroer SUBDIR += zetaback SUBDIR += zetaback-devel SUBDIR += zfs-periodic SUBDIR += zfs-replicate SUBDIR += zfs-snap-diff SUBDIR += zfs-snapshot-clean SUBDIR += zfs-snapshot-mgmt SUBDIR += zfs-stats SUBDIR += zfs-stats-lite SUBDIR += zfsnap SUBDIR += zfsnap2 SUBDIR += zfstools SUBDIR += zidrav SUBDIR += zisofs-tools SUBDIR += znapzend SUBDIR += zogftw SUBDIR += zoxide SUBDIR += zpool-iostat-viz SUBDIR += zrep SUBDIR += zrepl SUBDIR += zsd SUBDIR += zsm SUBDIR += ztop SUBDIR += zxfer .include diff --git a/sysutils/libsysstat-qt6/Makefile b/sysutils/libsysstat-qt6/Makefile new file mode 100644 index 000000000000..ccf52c2b58bf --- /dev/null +++ b/sysutils/libsysstat-qt6/Makefile @@ -0,0 +1,21 @@ +PORTNAME= libsysstat +PORTVERSION= 1.0.0 +CATEGORIES= sysutils +PKGNAMESUFFIX= -qt6 + +MAINTAINER= lxqt@FreeBSD.org +COMMENT= Library used to query system info and statistics ported to qt6 +WWW= https://lxqt-project.org + +LICENSE= LGPL21+ +LICENSE_FILE= ${WRKSRC}/COPYING + +USES= cmake compiler:c++17-lang lxqt:2 pkgconfig tar:xz qt:6 +USE_QT= base:run tools:build +USE_LDCONFIG= yes +USE_LXQT= buildtools2 + +post-extract: + @${CP} ${FILESDIR}/config.h.in ${WRKSRC} + +.include diff --git a/sysutils/libsysstat-qt6/distinfo b/sysutils/libsysstat-qt6/distinfo new file mode 100644 index 000000000000..52a3d64cabac --- /dev/null +++ b/sysutils/libsysstat-qt6/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1714103030 +SHA256 (lxqt/libsysstat-1.0.0.tar.xz) = f79b5e3e2e79a52b58fab5639f11b7a5f40e4a9995660181712cb4c4cd460435 +SIZE (lxqt/libsysstat-1.0.0.tar.xz) = 17684 diff --git a/sysutils/libsysstat-qt6/files/config.h.in b/sysutils/libsysstat-qt6/files/config.h.in new file mode 100644 index 000000000000..05211acde503 --- /dev/null +++ b/sysutils/libsysstat-qt6/files/config.h.in @@ -0,0 +1,3 @@ +#cmakedefine HAVE_SYSCTL_H +#cmakedefine HAVE_IF_H +#cmakedefine HAVE_KVM_H diff --git a/sysutils/libsysstat-qt6/files/patch-CMakeLists.txt b/sysutils/libsysstat-qt6/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..985c523ebf7b --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-CMakeLists.txt @@ -0,0 +1,32 @@ +--- CMakeLists.txt.orig 2024-04-17 05:57:59.000000000 -0500 ++++ CMakeLists.txt 2024-04-25 13:02:12.269260000 -0500 +@@ -28,6 +28,16 @@ + include(LXQtCreatePortableHeaders) + include(LXQtCompilerSettings NO_POLICY_SCOPE) + ++if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") ++include(CheckIncludeFiles) ++include(CheckLibraryExists) ++check_include_files("sys/socket.h;net/if.h;net/if_mib.h;net/if_types.h" HAVE_IF_H) ++check_library_exists(kvm kvm_getswapinfo "kvm.h" HAVE_KVM_H) ++check_library_exists(c sysctlbyname "sys/sysctl.h" HAVE_SYSCTL_H) ++configure_file(config.h.in config.h) ++add_definitions("-DHAVE_CONFIG_H=1") ++endif() ++ + set(CMAKE_AUTOMOC ON) + set(CMAKE_INCLUDE_CURRENT_DIR ON) + +@@ -80,7 +90,11 @@ + ${SYSSTAT_QM_FILES} + ) + +-target_link_libraries(${SYSSTAT_LIBRARY_NAME} Qt6::Core) ++if(HAVE_SYSCTL_H AND HAVE_KVM_H) ++ target_link_libraries(${SYSSTAT_LIBRARY_NAME} c kvm Qt6::Core) ++else() ++ target_link_libraries(${SYSSTAT_LIBRARY_NAME} Qt6::Core) ++endif() + + set_target_properties(${SYSSTAT_LIBRARY_NAME} PROPERTIES + VERSION ${SYSSTAT_VERSION} diff --git a/sysutils/libsysstat-qt6/files/patch-cpustat.cpp b/sysutils/libsysstat-qt6/files/patch-cpustat.cpp new file mode 100644 index 000000000000..8ead007be490 --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-cpustat.cpp @@ -0,0 +1,307 @@ +--- cpustat.cpp.orig 2021-11-05 10:06:40 UTC ++++ cpustat.cpp +@@ -22,16 +22,65 @@ + ** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + ** + ** END_COMMON_COPYRIGHT_HEADER */ +- +- + #include +- + #include "cpustat.h" ++#ifdef HAVE_SYSCTL_H ++extern "C" ++{ ++ #include ++ #include ++ #include ++ #include /* CPUSTATES */ ++ ++ #include ++ #include ++} ++#endif + #include "cpustat_p.h" + + + namespace SysStat { ++#ifdef HAVE_SYSCTL_H ++char *GetFirstFragment(char *string, const char *delim) ++{ ++ char *token = NULL; + ++ token = strsep(&string, delim); ++ if (token != NULL) ++ { ++ /* We need only the first fragment, so no loop! */ ++ return token; ++ } ++ else ++ return NULL; ++} ++ ++int GetCpu(void) ++{ ++ static int mib[] = { CTL_HW, HW_NCPU }; ++ int buf; ++ size_t len = sizeof(int); ++ ++ if (sysctl(mib, 2, &buf, &len, NULL, 0) < 0) ++ return 0; ++ else ++ return buf; ++} ++ ++/* Frequence is in MHz */ ++ulong CpuStatPrivate::CurrentFreq(QString mSource) ++{ ++ ulong freq=0; ++ size_t len = sizeof(freq); ++ int i = mSource.mid(3).toInt(); ++ if (sysctl(mib2[i],4,&freq, &len, NULL, 0) < 0) { ++ perror("sysctl"); ++ return 0; ++ } ++ else ++ return freq; ++} ++#endif + CpuStatPrivate::CpuStatPrivate(CpuStat *parent) + : BaseStatPrivate(parent) + , mMonitoring(CpuStat::LoadAndFrequency) +@@ -39,7 +88,17 @@ CpuStatPrivate::CpuStatPrivate(CpuStat *parent) + mSource = defaultSource(); + + connect(mTimer, SIGNAL(timeout()), SLOT(timeout())); +- ++#ifdef HAVE_SYSCTL_H ++ size_t flen=2; ++ size_t alen=4; ++ sysctlnametomib("kern.cp_times",mib0,&flen); ++ sysctlnametomib("kern.cp_time",mib1,&flen); ++ int ncpu = GetCpu(); ++ for (int i=0;i-1) { ++ ++ if (sysctlbyname(QString::fromLatin1("dev.cpu.%1.freq_levels").arg(source.mid(0,3).toInt()).toStdString().c_str(), buf, &len, NULL, 0) < 0) ++ return; ++ } ++ t = strndup(buf, len); ++ if (t == NULL) ++ { ++ free(t); ++ return; ++ } ++ while ((tokens = strsep(&t, " ")) != NULL) ++ { ++ char *freq; ++ ulong res; ++ ++ freq = GetFirstFragment(tokens, "/"); ++ if (freq != NULL) ++ { ++ res = strtoul(freq, &freq, 10); ++ if (res > max) ++ { ++ max = res; ++ } ++ else ++ { ++ if ((min == 0) || (res < min)) ++ min = res; ++ } ++ } ++ ++ } ++ ++ free(t); ++ mBounds[source] = qMakePair(min, max); ++#else + bool ok = false; + + uint min = readAllFile(qPrintable(QString::fromLatin1("/sys/devices/system/cpu/%1/cpufreq/scaling_min_freq").arg(source))).toUInt(&ok); +@@ -56,11 +160,34 @@ void CpuStatPrivate::addSource(const QString &source) + if (ok) + mBounds[source] = qMakePair(min, max); + } ++#endif + } + + void CpuStatPrivate::updateSources() + { + mSources.clear(); ++#ifdef HAVE_SYSCTL_H ++ mBounds.clear(); ++ int cpu; ++ ++ cpu = GetCpu(); ++ mSources.append(QString::fromLatin1("cpu")); ++ for (int i =0;i(cp_times[CP_USER+cpuNumber*CPUSTATES]); ++ current.nice = static_cast(cp_times[CP_NICE+cpuNumber*CPUSTATES]); ++ current.system = static_cast(cp_times[CP_SYS+cpuNumber*CPUSTATES]); ++ current.idle = static_cast(cp_times[CP_IDLE+cpuNumber*CPUSTATES]); ++ current.other = static_cast(cp_times[CP_INTR+cpuNumber*CPUSTATES]); ++ current.total = current.user + current.nice + current.system+current.idle+current.other; ++ float sumDelta = static_cast(current.total - mPrevious.total); ++ if ((mPrevious.total != 0) && ((sumDelta < mIntervalMin) || (sumDelta > mIntervalMax))) ++ { ++ if (mMonitoring == CpuStat::LoadAndFrequency) ++ { ++ float freqRate = 1.0; ++ ulong freq = CurrentFreq(mSource); ++ ++ if (mSource == QLatin1String("cpu")) { ++ freq=0; ++ for (Bounds::ConstIterator I = mBounds.constBegin(); I != mBounds.constEnd(); ++I) { ++ if (I.key() != QStringLiteral("cpu")) ++ { ++ freq += CurrentFreq(I.key()); ++ } ++ } ++ } ++ ++ if (freq > 0) ++ { ++ freqRate = static_cast(freq) / static_cast(mBounds[mSource].second); ++ emit update(0.0, 0.0, 0.0, 0.0, static_cast(freqRate), freq); ++ } ++ } else { ++ emit update(0.0, 0.0, 0.0, 0.0); ++ } ++ mPrevious.clear(); ++ } else { ++ if (mMonitoring == CpuStat::LoadAndFrequency) ++ { ++ float freqRate = 1.0; ++ ulong freq = CurrentFreq(mSource); ++ ++ if (freq > 0) ++ { ++ if (mSource == QLatin1String("cpu")) { ++ freq=0; ++ for (Bounds::ConstIterator I = mBounds.constBegin(); I != mBounds.constEnd(); ++I) { ++ if (I.key() != QStringLiteral("cpu")) ++ { ++ freq += CurrentFreq(I.key()); ++ } ++ } ++ } ++ freqRate = static_cast(freq) / static_cast(mBounds[mSource].second); ++ emit update( ++ static_cast(current.user - mPrevious.user ) / sumDelta, ++ static_cast(current.nice - mPrevious.nice ) / sumDelta, ++ static_cast(current.system - mPrevious.system) / sumDelta, ++ static_cast(current.other - mPrevious.other ) / sumDelta, ++ static_cast(freqRate), ++ freq); ++ ++ } ++ } ++ else ++ { ++ emit update( ++ static_cast(current.user - mPrevious.user ) / sumDelta, ++ static_cast(current.nice - mPrevious.nice ) / sumDelta, ++ static_cast(current.system - mPrevious.system) / sumDelta, ++ static_cast(current.other - mPrevious.other ) / sumDelta); ++ } ++ ++ mPrevious = current; ++ } ++ free(cp_times); ++ } ++ else ++ { ++ ulong freq = 0; ++ ++ freq = CurrentFreq(mSource); ++ if (freq > 0) ++ emit update(freq); ++ } ++#else + if ( (mMonitoring == CpuStat::LoadOnly) + || (mMonitoring == CpuStat::LoadAndFrequency) ) + { +@@ -258,6 +493,7 @@ void CpuStatPrivate::timeout() + } + emit update(freq); + } ++#endif + } + + QString CpuStatPrivate::defaultSource() diff --git a/sysutils/libsysstat-qt6/files/patch-cpustat.h b/sysutils/libsysstat-qt6/files/patch-cpustat.h new file mode 100644 index 000000000000..01720c1d0e1d --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-cpustat.h @@ -0,0 +1,32 @@ +--- cpustat.h.orig 2020-11-03 14:45:02 UTC ++++ cpustat.h +@@ -27,14 +27,19 @@ + #ifndef LIBSYSSTAT__CPU_STAT__INCLUDED + #define LIBSYSSTAT__CPU_STAT__INCLUDED + +- ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + #include + + #include "basestat.h" + + + namespace SysStat { +- ++#ifdef HAVE_SYSCTL_H ++ char *GetFirstFragment(char *string, const char *delim); ++ int GetCpu(void); ++#endif + class CpuStatPrivate; + + class SYSSTATSHARED_EXPORT CpuStat : public BaseStat +@@ -54,7 +59,6 @@ class SYSSTATSHARED_EXPORT CpuStat : public BaseStat ( + + uint minFreq(const QString &source) const; + uint maxFreq(const QString &source) const; +- + signals: + void update(float user, float nice, float system, float other, float frequencyRate, uint frequency); + void update(float user, float nice, float system, float other); diff --git a/sysutils/libsysstat-qt6/files/patch-cpustat__p.h b/sysutils/libsysstat-qt6/files/patch-cpustat__p.h new file mode 100644 index 000000000000..3c56a8038991 --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-cpustat__p.h @@ -0,0 +1,65 @@ +--- cpustat_p.h.orig 2021-04-07 06:58:34 UTC ++++ cpustat_p.h +@@ -27,6 +27,9 @@ + #ifndef LIBSYSSTAT__CPU_STAT__PRIVATE__INCLUDED + #define LIBSYSSTAT__CPU_STAT__PRIVATE__INCLUDED + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + + #include + #include +@@ -52,8 +55,15 @@ class CpuStatPrivate : public BaseStatPrivate (public) + CpuStat::Monitoring monitoring() const; + void setMonitoring(CpuStat::Monitoring value); + ++#ifdef HAVE_SYSCTL_H ++ ulong minFreq(const QString &source) const; ++ ulong maxFreq(const QString &source) const; ++ ulong CurrentFreq(const QString); ++ ++#else + uint minFreq(const QString &source) const; + uint maxFreq(const QString &source) const; ++#endif + + signals: + void update(float user, float nice, float system, float other); +@@ -74,12 +84,21 @@ private slots: (private) + { + Values(); + ++#ifdef HAVE_SYSCTL_H ++ ulong user; ++ ulong nice; ++ ulong system; ++ ulong idle; ++ ulong other; ++ ulong total; ++#else + qulonglong user; + qulonglong nice; + qulonglong system; + qulonglong idle; + qulonglong other; + qulonglong total; ++#endif + + void sum(); + +@@ -89,7 +108,14 @@ private slots: (private) + + CpuStat::Monitoring mMonitoring; + ++#ifdef HAVE_SYSCTL_H ++ typedef QMap > Bounds; ++ int mib0[2]; ++ int mib1[2]; ++ int mib2[512][4]; ++#else + typedef QMap > Bounds; ++#endif + Bounds mBounds; + + int mUserHz; diff --git a/sysutils/libsysstat-qt6/files/patch-memstat.cpp b/sysutils/libsysstat-qt6/files/patch-memstat.cpp new file mode 100644 index 000000000000..78e493983d06 --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-memstat.cpp @@ -0,0 +1,123 @@ +--- memstat.cpp.orig 2021-11-05 10:06:40 UTC ++++ memstat.cpp +@@ -26,10 +26,58 @@ + + #include "memstat.h" + #include "memstat_p.h" ++#if defined(HAVE_KVM_H) && defined(HAVE_SYSCTL_H) ++extern "C" ++{ ++ #include ++ #include ++ #include + ++ #include ++ #include ++ #include ++} ++#endif + + namespace SysStat { ++#ifdef HAVE_SYSCTL_H ++int SwapDevices() ++{ ++ int buf; ++ size_t len = sizeof(int); + ++ if (sysctlbyname("vm.nswapdev", &buf, &len, NULL, 0) < 0) ++ return 0; ++ else ++ return buf; ++} ++ ++qulonglong MemGetByBytes(QString property) ++{ ++ qulonglong buf=0; ++ size_t len = sizeof(qulonglong); ++ ++ std::string s = property.toStdString(); ++ const char *name = s.c_str(); ++ ++ if (sysctlbyname(name, &buf, &len, NULL, 0) < 0) ++ return 0; ++ else ++ return buf; ++} ++ ++qulonglong MemGetByPages(QString name) ++{ ++ qulonglong res = 0; ++ ++ ++ res = MemGetByBytes(name); ++ if (res > 0) ++ res = res * getpagesize(); ++ ++ return res; ++} ++#endif + MemStatPrivate::MemStatPrivate(MemStat *parent) + : BaseStatPrivate(parent) + { +@@ -49,8 +97,39 @@ void MemStatPrivate::timeout() + qulonglong memBuffers = 0; + qulonglong memCached = 0; + qulonglong swapTotal = 0; +- qulonglong swapFree = 0; ++#ifdef HAVE_SYSCTL_H ++ memTotal = MemGetByBytes(QLatin1String("hw.physmem")); ++ memFree = MemGetByPages(QLatin1String("vm.stats.vm.v_free_count")); ++ memBuffers = MemGetByBytes(QLatin1String("vfs.bufspace")); ++ memCached = MemGetByPages(QLatin1String("vm.stats.vm.v_inactive_count")); + ++#endif ++#ifdef HAVE_KVM_H ++ qulonglong swapUsed = 0; ++ kvm_t *kd; ++ struct kvm_swap kswap[16]; /* size taken from pstat/pstat.c */ ++ ++ kd = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open"); ++ if (kd == NULL) ++ kvm_close(kd); ++ ++ if (kvm_getswapinfo(kd, kswap, (sizeof(kswap) / sizeof(kswap[0])), SWIF_DEV_PREFIX) > 0) ++ { ++ int swapd = SwapDevices(); ++ /* TODO: loop over swap devives */ ++ if (swapd >= 1) ++ { ++ swapTotal = static_cast(kswap[0].ksw_total * getpagesize()); ++ swapUsed = static_cast(kswap[0].ksw_used * getpagesize()); ++ } ++ ++ kvm_close(kd); ++ } ++ else ++ kvm_close(kd); ++#endif ++#ifndef HAVE_SYSCTL_H ++ qulonglong swapFree = 0; + const QStringList rows = readAllFile("/proc/meminfo").split(QLatin1Char('\n'), Qt::SkipEmptyParts); + for (const QString &row : rows) + { +@@ -72,6 +151,7 @@ void MemStatPrivate::timeout() + swapFree = tokens[1].toULong(); + } + ++#endif + if (mSource == QLatin1String("memory")) + { + if (memTotal) +@@ -88,8 +168,11 @@ void MemStatPrivate::timeout() + { + if (swapTotal) + { ++#ifndef HAVE_KVM_H + float swapUsed_d = static_cast(swapTotal - swapFree) / static_cast(swapTotal); +- ++#else ++ float swapUsed_d = static_cast(swapUsed) / static_cast(swapTotal); ++#endif + emit swapUpdate(swapUsed_d); + } + } diff --git a/sysutils/libsysstat-qt6/files/patch-memstat.h b/sysutils/libsysstat-qt6/files/patch-memstat.h new file mode 100644 index 000000000000..399764f046fb --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-memstat.h @@ -0,0 +1,26 @@ +--- memstat.h.orig 2019-01-30 19:24:29 UTC ++++ memstat.h +@@ -27,7 +27,9 @@ + #ifndef LIBSYSSTAT__MEM_STAT__INCLUDED + #define LIBSYSSTAT__MEM_STAT__INCLUDED + +- ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + #include + + #include "basestat.h" +@@ -36,7 +38,11 @@ + namespace SysStat { + + class MemStatPrivate; +- ++#if defined(HAVE_SYSCTL_H) && defined(HAVE_KVM_H) ++ int SwapDevices(); ++ qulonglong MemGetByBytes(const QString property); ++ qulonglong MemGetByPages(const QString property); ++#endif + class SYSSTATSHARED_EXPORT MemStat : public BaseStat + { + Q_OBJECT diff --git a/sysutils/libsysstat-qt6/files/patch-netstat.cpp b/sysutils/libsysstat-qt6/files/patch-netstat.cpp new file mode 100644 index 000000000000..d62dc5a4a1ac --- /dev/null +++ b/sysutils/libsysstat-qt6/files/patch-netstat.cpp @@ -0,0 +1,122 @@ +--- netstat.cpp.orig 2021-11-05 10:06:40 UTC ++++ netstat.cpp +@@ -26,8 +26,23 @@ + + #include "netstat.h" + #include "netstat_p.h" ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif + ++#if defined(HAVE_SYSCTL_H) && defined(HAVE_IF_H) ++extern "C" ++{ ++ #include ++ #include ++ #include ++ #include /* PF_LINK */ ++ #include ++ #include ++} ++#endif + ++ + namespace SysStat { + + NetStatPrivate::NetStatPrivate(NetStat *parent) +@@ -37,6 +52,7 @@ NetStatPrivate::NetStatPrivate(NetStat *parent) + + connect(mTimer, SIGNAL(timeout()), SLOT(timeout())); + ++#ifndef HAVE_SYSCTL_H + + QStringList rows(readAllFile("/proc/net/dev").split(QLatin1Char('\n'), Qt::SkipEmptyParts)); + +@@ -50,12 +66,79 @@ NetStatPrivate::NetStatPrivate(NetStat *parent) + + mSources.append(tokens[0].trimmed()); + } ++#else ++ int count; ++ size_t len; ++ int cntifmib[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_SYSTEM, IFMIB_IFCOUNT };// net.link.generic.system.ifcount; ++ len = sizeof(int); ++ if (sysctl(cntifmib, 5, &count, &len, NULL, 0) < 0) ++ perror("sysctl"); ++ ++ ++ struct ifmibdata ifmd; ++ size_t len1 = sizeof(ifmd); ++ for (int i=1; i<=count;i++) { ++ int name[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_IFDATA, i, IFDATA_GENERAL }; ++ ++ if (sysctl(name, 6, &ifmd, &len1, NULL, 0) < 0) { ++ perror("sysctl"); ++ } ++ if ((ifmd.ifmd_data.ifi_type == IFT_ETHER) || (ifmd.ifmd_data.ifi_type == IFT_IEEE80211)) { ++ const char *iface = ifmd.ifmd_name; ++ mSources.append(QString::fromLatin1(iface)); ++ } ++ } ++#endif + } + + NetStatPrivate::~NetStatPrivate() = default; + + void NetStatPrivate::timeout() + { ++#if defined(HAVE_IF_H) && defined(HAVE_SYSCTL_H) ++ int count; ++ size_t len; ++ int name[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_SYSTEM, IFMIB_IFCOUNT }; ++ struct ifmibdata ifmd; ++ ++ len = sizeof(int); ++ if (sysctl(name, 5, &count, &len, NULL, 0) < 0) ++ return; ++ ++ for (int i = 1; i <= count; i++) ++ { ++ len = sizeof(ifmd); ++ int name[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_IFDATA, i, IFDATA_GENERAL }; ++ ++ if (sysctl(name, 6, &ifmd, &len, NULL, 0) < 0) ++ break; ++ ++ if ((ifmd.ifmd_data.ifi_type == IFT_ETHER) || (ifmd.ifmd_data.ifi_type == IFT_IEEE80211)) ++ { ++ const char *iface = ifmd.ifmd_name; ++ QString interfaceName = QString::fromLatin1(iface); ++ if ((ifmd.ifmd_data.ifi_link_state == LINK_STATE_UP) && (ifmd.ifmd_data.ifi_ipackets > 0)) ++ { ++ ++ ++ Values current; ++ current.received = ifmd.ifmd_data.ifi_ibytes; ++ current.transmitted = ifmd.ifmd_data.ifi_obytes; ++ ++ if (!mPrevious.contains(interfaceName)) ++ mPrevious.insert(interfaceName, Values()); ++ const Values &previous = mPrevious[interfaceName]; ++ ++ if (interfaceName == mSource) ++ emit update((( current.received - previous.received ) * 1000 ) / mTimer->interval(), (( current.transmitted - previous.transmitted ) * 1000 ) / mTimer->interval()); ++ ++ mPrevious[interfaceName] = current; ++ } else if(interfaceName == mSource) ++ emit(update(0,0)); ++ ++ } ++ } ++#else + QStringList rows(readAllFile("/proc/net/dev").split(QLatin1Char('\n'), Qt::SkipEmptyParts)); + + +@@ -97,6 +180,7 @@ void NetStatPrivate::timeout() + + mPrevious[interfaceName] = current; + } ++#endif + } + + QString NetStatPrivate::defaultSource() diff --git a/sysutils/libsysstat-qt6/pkg-descr b/sysutils/libsysstat-qt6/pkg-descr new file mode 100644 index 000000000000..0c091aa86aec --- /dev/null +++ b/sysutils/libsysstat-qt6/pkg-descr @@ -0,0 +1,2 @@ +Qt-based library to query system information like CPU, memory usage and +network traffic. diff --git a/sysutils/libsysstat-qt6/pkg-plist b/sysutils/libsysstat-qt6/pkg-plist new file mode 100644 index 000000000000..2cfa71a85d82 --- /dev/null +++ b/sysutils/libsysstat-qt6/pkg-plist @@ -0,0 +1,20 @@ +include/sysstat-qt6/SysStat/BaseStat +include/sysstat-qt6/SysStat/CpuStat +include/sysstat-qt6/SysStat/Global +include/sysstat-qt6/SysStat/MemStat +include/sysstat-qt6/SysStat/NetStat +include/sysstat-qt6/SysStat/Version +include/sysstat-qt6/basestat.h +include/sysstat-qt6/cpustat.h +include/sysstat-qt6/memstat.h +include/sysstat-qt6/netstat.h +include/sysstat-qt6/sysstat_global.h +include/sysstat-qt6/version.h +lib/libsysstat-qt6.so +lib/libsysstat-qt6.so.1 +lib/libsysstat-qt6.so.%%VERSION%% +libdata/pkgconfig/sysstat-qt6.pc +share/cmake/sysstat-qt6/sysstat-qt6-config-version.cmake +share/cmake/sysstat-qt6/sysstat-qt6-config.cmake +share/cmake/sysstat-qt6/sysstat-qt6-targets-%%CMAKE_BUILD_TYPE%%.cmake +share/cmake/sysstat-qt6/sysstat-qt6-targets.cmake