Warning: Permanently added '54.161.108.77' (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/10584718 Version: 1.8 PID: 12745 Logging PID: 12747 Task: {'appstream': False, 'background': False, 'build_id': 10584718, 'chroot': None, 'distributions_in_build': ['alma-kitten+epel-10', 'epel-10', 'epel-9', 'fedora-42', 'fedora-43', 'fedora-44'], 'distributions_in_project': ['alma-kitten+epel-10', 'epel-10', 'epel-9', 'fedora-42', 'fedora-43', 'fedora-44'], 'package_name': 'meshtasticd', 'project_dirname': 'alpha', 'project_name': 'alpha', 'project_owner': '@meshtastic', 'repos': [], 'sandbox': '@meshtastic/alpha--vidplace7', 'source_json': {'clone_url': 'https://github.com/meshtastic/firmware.git', 'committish': '', 'spec': 'meshtasticd.spec', 'srpm_build_method': 'rpkg', 'subdirectory': '', 'type': 'git'}, 'source_type': 8, 'submitter': 'vidplace7', 'task_id': '10584718'} Running: git clone https://github.com/meshtastic/firmware.git /var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://github.com/meshtastic/firmware.git', '/var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: Submodule path 'meshtestic': checked out 'dcac7e5673005f4d8a2b1f0f6e06877b689d7519' Submodule path 'protobufs': checked out '7916a0ce81ec4639a361a72c9c4d2e9b8aad63f2' stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/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-qjfc2zr2/firmware/meshtestic'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware/protobufs'... 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-qjfc2zr2/.config/rpkg.conf Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware/meshtasticd.spec cmd: ['rpkg', 'srpm', '--outdir', '/var/lib/copr-rpmbuild/results', '--spec', '/var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware/meshtasticd.spec'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware rc: 0 stdout: Wrote: /var/lib/copr-rpmbuild/results/meshtasticd.spec setting SOURCE_DATE_EPOCH=1781049600 Wrote: /var/lib/copr-rpmbuild/results/meshtasticd-2.8.0-13141.alpha.git6b3f975ba.src.rpm RPM build warnings: stderr: git_dir_pack: archiving /var/lib/copr-rpmbuild/workspace/workdir-qjfc2zr2/firmware: commit 6b3f975ba500667a509dfa17ca8a3c7d7f9750e7 (HEAD -> develop, origin/develop, origin/HEAD) Author: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Tue Jun 9 18:58:26 2026 -0500 fix(ble): reliably expose and update BLE battery level (BAS) (#10622) * fix(ble): reliably expose and update BLE battery level (BAS) The Battery Service (0x180F / 0x2A19) is now wired up per the Bluetooth BAS spec: the Battery Level characteristic always holds a valid 0-100 value and is pushed on change. - NimBLE: seed an initial level at setup and cache the value on every update so a READ returns the current level even while disconnected; only notify when a client is connected. - Power: mirror the battery level to the Battery Service from readPowerStatus() on change, so it updates independent of GPS/position events (previously the only push path was MeshService). Also fixes two regressions the above would otherwise introduce: - NimBLE use-after-free: BLEDevice::deinit(true) frees the GATT objects but left the global BatteryCharacteristic dangling. Several AdminModule paths (e.g. serial-config entry) deinit BLE while config.bluetooth.enabled stays true, so the periodic push would deref freed memory. Null the pointer in deinit(). - NRF52: guard blebas.write() on the nrf52Bluetooth instance so the new periodic push can't call it before the Battery Service is begun in setup(). Co-Authored-By: Claude Opus 4.8 (1M context) * fix(ble): clamp BAS battery level to 0-100 and skip redundant updates Address review feedback on the Battery Level characteristic (0x2A19): - Clamp the value to the BAS-mandated 0-100 range at the platform write boundary (NimBLE seed + update, NRF52 update), so a misbehaving battery backend can't put an out-of-range value on the characteristic. - Skip the write/notify when the level is unchanged, so repeated callers (e.g. MeshService refresh paths) don't emit redundant notifications. - Simplify Power.cpp to a direct guarded call now that clamping and de-duplication live at the boundary, which also removes the implicit int->uint8_t narrowing. Co-Authored-By: Claude Opus 4.8 (1M context) --------- Co-authored-by: Claude Opus 4.8 (1M context) Co-authored-by: Ben Meadors git_dir_pack: Wrote: /var/lib/copr-rpmbuild/results/firmware-6b3f975b.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-2.8.0-13141.alpha.git6b3f975ba.src.rpm', 'firmware-6b3f975b.tar.gz', 'meshtasticd.spec', 'build.tar'] Running SRPMResults tool Using distributions_in_build 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-42 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-42": {}, "fedora-43": {}, "fedora-44": {} }, "name": "meshtasticd", "epoch": null, "version": "2.8.0", "release": "13141.alpha.git6b3f975ba" } SRPMResults finished