Warning: Permanently added '54.172.111.32' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --srpm --task-url https://copr.fedorainfracloud.org/backend/get-srpm-build-task/11064928 Version: 1.10 PID: 11854 Logging PID: 11856 Task: {'appstream': False, 'background': False, 'build_id': 11064928, 'chroot': None, 'distributions_in_build': [], 'distributions_in_project': ['alma-kitten+epel-10', 'epel-10', 'epel-9', 'fedora-43', 'fedora-44'], 'package_name': None, 'project_dirname': 'daily', 'project_name': 'daily', 'project_owner': '@meshtastic', 'repos': [], 'sandbox': '@meshtastic/daily--vidplace7', 'source_json': {'clone_url': 'https://github.com/meshtastic/firmware.git', 'committish': '8b8dc611c7fe60acae78d123d791631a633c47a0', 'spec': '', 'srpm_build_method': 'rpkg', 'subdirectory': '', 'type': 'git'}, 'source_type': 8, 'submitter': 'vidplace7', 'task_id': '11064928'} Running: git clone https://github.com/meshtastic/firmware.git /var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://github.com/meshtastic/firmware.git', '/var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: Submodule path 'meshtestic': checked out 'dcac7e5673005f4d8a2b1f0f6e06877b689d7519' Submodule path 'protobufs': checked out '8f97d66a63ce10cfb12f94203e361691647f5ad3' stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware'... Submodule 'meshtestic' (https://github.com/meshtastic/meshTestic) registered for path 'meshtestic' Submodule 'protobufs' (https://github.com/meshtastic/protobufs.git) registered for path 'protobufs' Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware/meshtestic'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware/protobufs'... Running: git checkout 8b8dc611c7fe60acae78d123d791631a633c47a0 -- cmd: ['git', 'checkout', '8b8dc611c7fe60acae78d123d791631a633c47a0', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware rc: 0 stdout: stderr: Note: switching to '8b8dc611c7fe60acae78d123d791631a633c47a0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 8b8dc611c feat(portduino): add a test-menu action to power off the host (#11920) Generated rpkg config: [rpkg] preprocess_spec = True [git] anon_clone_url = https://github.com/%(repo_path)s [lookaside] download_url = https://${git_props:remote_netloc}/repo/pkgs/%(repo_path)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s Writing config into /var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/.config/rpkg.conf Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware cmd: ['rpkg', 'srpm', '--outdir', '/var/lib/copr-rpmbuild/results', '--spec', '/var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware rc: 0 stdout: Wrote: /var/lib/copr-rpmbuild/results/meshtasticd.spec setting SOURCE_DATE_EPOCH=1790899200 Wrote: /var/lib/copr-rpmbuild/results/meshtasticd-2.8.2-14802.daily.git8b8dc611c.src.rpm RPM build warnings: stderr: git_dir_pack: archiving /var/lib/copr-rpmbuild/workspace/workdir-ii2d3uhj/firmware: commit 8b8dc611c7fe60acae78d123d791631a633c47a0 (HEAD, origin/develop, origin/HEAD, develop) Author: Jonathan Bennett Date: Fri Oct 2 17:54:37 2026 +0000 feat(portduino): add a test-menu action to power off the host (#11920) A portduino node is a process on a computer that outlives it. shutdown() ends at exit(EXIT_SUCCESS), so "Shutdown" only stops the daemon -- and the shipped unit sets Restart=always, which makes it a restart in practice. There is no way from the node's UI to halt the machine it runs on. Add "Power Off Host" to the hidden test menu, behind its own confirmation. It is kept separate from shutdownMenu() because the two mean different things: one ends the node, the other ends the machine, and on a headless node nothing brings the host back. Confirming raises hostPowerOffRequested and then injects the ordinary INPUT_BROKER_SHUTDOWN, so the normal sequence still runs and the NodeDB, message store and waypoints are saved exactly as for any other shutdown. Only at the portduino arm does it hand off to logind, falling through to exit() if that is refused rather than claiming to shut down and sitting there. The call is org.freedesktop.login1.Manager.PowerOff with interactive=false: the daemon has no session and no way to answer a polkit prompt, so asking for one would hang until timeout. It opens its own bus connection rather than reusing the BLE backend's, which may already be torn down by then. meshtasticd runs unprivileged with no session, so logind's default of auth_admin_keep refuses it. bin/polkit-1/meshtasticd.rules grants the two power-off actions to that one user, shipped from both the deb and the rpm alongside the existing D-Bus policy. It deliberately does not grant power-off-ignore-inhibit, so a package upgrade or a held lock still blocks the halt; power-off-multiple-sessions is granted because logind escalates to it whenever anyone is logged in, which on a node someone has SSH'd into is the normal case. HAS_HOST_POWEROFF gets its own __has_include test rather than reusing HAS_BLUETOOTH: the two share a transport, not a purpose, and a build with Bluetooth off should still be able to halt the box. Co-authored-by: Claude Opus 5 (1M context) git_dir_pack: Wrote: /var/lib/copr-rpmbuild/results/firmware-8b8dc611.tar.gz warning: Downloading https://github.com/meshtastic/web/releases/download/v2.6.7/build.tar to /var/lib/copr-rpmbuild/results/build.tar Downloading https://github.com/meshtastic/web/releases/download/v2.6.7/build.tar to /var/lib/copr-rpmbuild/results/build.tar Output: ['meshtasticd.spec', 'build.tar', 'meshtasticd-2.8.2-14802.daily.git8b8dc611c.src.rpm', 'firmware-8b8dc611.tar.gz'] Running SRPMResults tool Using distributions_in_project for this build. Extracting arch-specific tags for alma-kitten+epel-10 Extracting arch-specific tags for epel-10 Extracting arch-specific tags for epel-9 Extracting arch-specific tags for fedora-43 Extracting arch-specific tags for fedora-44 Package info: { "architecture_specific_tags": { "alma-kitten+epel-10": {}, "epel-10": {}, "epel-9": {}, "fedora-43": {}, "fedora-44": {} }, "name": "meshtasticd", "epoch": null, "version": "2.8.2", "release": "14802.daily.git8b8dc611c" } SRPMResults finished