Skip to content

Rename the fpv variant wfbng, after the wfb-ng it carries - #184

Merged
openipc-ai merged 1 commit into
masterfrom
variant-wfbng
Oct 7, 2026
Merged

openipc-ai merged 1 commit into
masterfrom
variant-wfbng

Conversation

@openipc-ai

Copy link
Copy Markdown
Contributor

fpv says what a build is for, not what is in it, and it isn't the only FPV build here: rubyfpv and apfpv replace wfb-ng, and the coming waybeam build keeps wfb-ng with another encoder. The wfb-ng air unit becomes wfbng. Context: OpenIPC/website#390. The site already offers these builds in its installer, accepting either name (OpenIPC/website#404).

Merge after OpenIPC/firmware#2548 and OpenIPC/majestic-webui#640. Firmware branches on the variant name in four places (the WebUI FPV fixup, the hi3516ev200/gk7205v200 FPV sensor set, the rtl8733bu _fpv driver branch, the legacy telemetry), and updatewebui in one. builder.sh clones firmware at HEAD.

What changes

  • 17 defconfigs: BR2_OPENIPC_VARIANT="wfbng", file names *_fpv* → *_wfbng*.
  • Device directories ssc338q_fpv_<board> → ssc338q_wfbng_<board> (6), plus ssc377qe_wfbng_ccdcam-im50q01-tipoman and gk7205v200_wfbng_8812eu.
  • Excludes lists <soc>_fpv.list → <soc>_wfbng.list. rootfs_script.sh picks them as ${SOC}_${VARIANT}.list.
  • The device customizers' upgrade URLs point at the new names.
  • Updated: ci-matrix.py smoke targets and cases, firmware-drift.json paths, the drift checker's and push tests, enrich_manifest.py docs, CLAUDE.md.
  • Unchanged: *.generic-fpv.config kernel configs (internal, keeps the drift map stable), and BR2_OPENIPC_MAJESTIC="fpv" (Majestic's own build flavour, not the variant).

Cameras in the field

Cameras flashed before the rename keep asking latest for the old names:

  • Generic builds: sysupgrade builds openipc.<soc>-<flash>-fpv.tgz from BUILD_OPTION.
  • Device builds: by the upgrade URL their customizer wrote into the bootloader environment. S30customizer runs once, and an upgrade keeps the overlay, so that URL never changes by itself.

So the publish job also uploads every wfbng image to latest under its fpv name (openipc.<soc>-<flash>-fpv.tgz, <soc>_fpv_<board>-<flash>.tgz), with no end date. A device camera would otherwise silently stop getting updates. A generic camera reports wfbng after one upgrade. Dated and nightly releases carry only the new names.

Checked locally

  • ci-matrix.py --self-test: 126 devices, 15 smoke targets.
  • check-firmware-drift.py --self-test.
  • lint-workflow-shell.py (+ self-test), lint-cli-paths.py (+ self-test), test_push_build.py.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Rename the wfb-ng FPV variant to wfbng while preserving upgrade URLs

✨ Enhancement ⚙️ Configuration changes 🕐 40+ Minutes

Grey Divider

AI Description

• Rename wfb-ng build targets from fpv to wfbng to distinguish them from other FPV variants.
• Publish permanent fpv-named aliases on latest so existing cameras continue receiving upgrades.
• Align device upgrade URLs, CI targets, drift mappings, tests, and documentation with the new
 names.
Diagram

graph TD
  A["wfbng configs"] --> B["Build images"] --> C["Publish latest"] --> D[("Latest release")] --> F["Existing cameras"]
  B --> E["fpv alias copies"] --> C
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep fpv as the build identifier
  • ➕ Avoids renaming assets and coordinating changes in firmware and WebUI.
  • ➖ Leaves an ambiguous name alongside other FPV variants.
  • ➖ Does not establish a distinct identifier for builds carrying wfb-ng.
2. Redirect legacy upgrades instead of publishing alias assets
  • ➕ Avoids storing duplicate archives on latest.
  • ➖ Existing device URLs are persisted in bootloader environments and do not change during an upgrade.
  • ➖ Would require reliable compatibility behavior outside this release workflow.

Recommendation: Use the wfbng rename with permanent fpv asset aliases on latest. It clarifies the variant without stranding installed cameras; merge only after the stated firmware and WebUI variant-name dependencies. The alias generation is important to verify because the diff does not add a dedicated test for it.

Files changed (54) +153 / -46

Enhancement (1) +24 / -0
master.ymlPreserve legacy fpv assets on latest +24/-0

Preserve legacy fpv assets on latest

• Copies wfbng generic and device archives to their fpv filenames and uploads the copies to latest. Dated and nightly releases continue receiving only the new names.

.github/workflows/master.yml

Tests (2) +7 / -7
check-firmware-drift.pyUse wfbng names in drift self-tests +3/-3

Use wfbng names in drift self-tests

• Renames sample devices and expected attribution results in the drift checker's self-test.

.github/scripts/check-firmware-drift.py

test_push_build.pyExercise renamed device assets in push tests +4/-4

Exercise renamed device assets in push tests

• Updates compound-device tarball and size-report fixtures to use wfbng names.

.github/scripts/test_push_build.py

Documentation (2) +5 / -5
enrich_manifest.pyRefresh the simple-platform naming example +1/-1

Refresh the simple-platform naming example

• Uses ssc338q_wfbng in the manifest script's description of generic build names.

.github/scripts/enrich_manifest.py

CLAUDE.mdDocument the wfbng firmware track +4/-4

Document the wfbng firmware track

• Replaces fpv examples with wfbng and explains why the variant was renamed.

CLAUDE.md

Other (49) +117 / -34
firmware-drift.jsonAlign drift records with renamed devices +8/-8

Align drift records with renamed devices

• Updates renamed device paths and variant notes while retaining the internal generic-fpv kernel-config paths.

.github/firmware-drift.json

ci-matrix.pyRetarget CI smoke builds and matrix cases +5/-5

Retarget CI smoke builds and matrix cases

• Selects renamed wfbng smoke targets and updates self-test paths for shared defconfigs and build output.

.github/scripts/ci-matrix.py

gk7205v200_wfbng_8812eu_defconfigRename the GK7205V200 8812EU variant +1/-1

Rename the GK7205V200 8812EU variant

• Renames the defconfig and sets its OpenIPC variant to wfbng; its Majestic fpv flavour remains unchanged.

devices/common/br-ext-chip-goke/configs/gk7205v200_wfbng_8812eu_defconfig

gk7205v200_wfbng_defconfigRename the generic GK7205V200 variant +1/-1

Rename the generic GK7205V200 variant

• Renames the defconfig and sets its OpenIPC variant to wfbng without changing the Majestic flavour.

devices/common/br-ext-chip-goke/configs/gk7205v200_wfbng_defconfig

gk7205v210_wfbng_defconfigRename the generic GK7205V210 variant +1/-1

Rename the generic GK7205V210 variant

• Renames the defconfig and sets its OpenIPC variant to wfbng without changing the Majestic flavour.

devices/common/br-ext-chip-goke/configs/gk7205v210_wfbng_defconfig

gk7205v300_wfbng_defconfigRename the generic GK7205V300 variant +1/-1

Rename the generic GK7205V300 variant

• Renames the defconfig and sets its OpenIPC variant to wfbng without changing the Majestic flavour.

devices/common/br-ext-chip-goke/configs/gk7205v300_wfbng_defconfig

hi3516ev200_wfbng_defconfigRename the generic HI3516EV200 variant +1/-1

Rename the generic HI3516EV200 variant

• Renames the defconfig and sets its OpenIPC variant to wfbng while retaining the Majestic fpv flavour.

devices/common/br-ext-chip-hisilicon/configs/hi3516ev200_wfbng_defconfig

hi3516ev300_wfbng_defconfigRename the generic HI3516EV300 variant +1/-1

Rename the generic HI3516EV300 variant

• Renames the defconfig and sets its OpenIPC variant to wfbng while retaining the Majestic fpv flavour.

devices/common/br-ext-chip-hisilicon/configs/hi3516ev300_wfbng_defconfig

hi3536dv100_wfbng_defconfigRename the generic HI3536DV100 variant +1/-1

Rename the generic HI3536DV100 variant

• Renames the defconfig and sets its OpenIPC variant to wfbng while retaining the Majestic fpv flavour.

devices/common/br-ext-chip-hisilicon/configs/hi3536dv100_wfbng_defconfig

ssc30kq_wfbng_defconfigRename the generic SSC30KQ variant +1/-1

Rename the generic SSC30KQ variant

• Renames the defconfig and sets its OpenIPC variant to wfbng.

devices/common/br-ext-chip-sigmastar/configs/ssc30kq_wfbng_defconfig

ssc338q_wfbng_defconfigRename the generic SSC338Q variant +1/-1

Rename the generic SSC338Q variant

• Renames the defconfig and sets its OpenIPC variant to wfbng.

devices/common/br-ext-chip-sigmastar/configs/ssc338q_wfbng_defconfig

ssc378qe_wfbng_defconfigRename the generic SSC378QE variant +1/-1

Rename the generic SSC378QE variant

• Renames the defconfig and sets its OpenIPC variant to wfbng.

devices/common/br-ext-chip-sigmastar/configs/ssc378qe_wfbng_defconfig

gk7205v200_wfbng.listRename GK7205V200 variant exclusions +0/-0

Rename GK7205V200 variant exclusions

• Moves the excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/gk7205v200_wfbng.list

gk7205v210_wfbng.listRename GK7205V210 variant exclusions +0/-0

Rename GK7205V210 variant exclusions

• Moves the excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/gk7205v210_wfbng.list

gk7205v300_wfbng.listRename GK7205V300 variant exclusions +0/-0

Rename GK7205V300 variant exclusions

• Moves the excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/gk7205v300_wfbng.list

hi3516ev200_wfbng.listRename HI3516EV200 variant exclusions +0/-0

Rename HI3516EV200 variant exclusions

• Moves the excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/hi3516ev200_wfbng.list

hi3516ev300_wfbng.listRename HI3516EV300 variant exclusions +0/-0

Rename HI3516EV300 variant exclusions

• Moves the excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/hi3516ev300_wfbng.list

ssc30kq_wfbng.listRename SSC30KQ variant exclusions +0/-0

Rename SSC30KQ variant exclusions

• Moves the excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/ssc30kq_wfbng.list

ssc338q_wfbng.listRename generic SSC338Q exclusions +0/-0

Rename generic SSC338Q exclusions

• Moves the common excludes list to the filename selected for the wfbng variant.

devices/common/general/scripts/excludes/ssc338q_wfbng.list

ssc338q_wfbng_caddx-fly_defconfigRename the Caddx Fly build variant +1/-1

Rename the Caddx Fly build variant

• Renames the device defconfig and sets its OpenIPC variant to wfbng.

devices/ssc338q_wfbng_caddx-fly/br-ext-chip-sigmastar/configs/ssc338q_wfbng_caddx-fly_defconfig

customizer.shPoint Caddx Fly upgrades at wfbng +1/-1

Point Caddx Fly upgrades at wfbng

• Writes the renamed device archive URL into the bootloader upgrade setting.

devices/ssc338q_wfbng_caddx-fly/general/overlay/usr/share/openipc/customizer.sh

ssc338q_wfbng.listRename Caddx Fly exclusions +0/-0

Rename Caddx Fly exclusions

• Moves the device excludes list to the wfbng filename.

devices/ssc338q_wfbng_caddx-fly/general/scripts/excludes/ssc338q_wfbng.list

ssc338q_wfbng_emax-wyvern-link_defconfigRename the Emax Wyvern Link build variant +1/-1

Rename the Emax Wyvern Link build variant

• Renames the device defconfig and sets its OpenIPC variant to wfbng.

devices/ssc338q_wfbng_emax-wyvern-link/br-ext-chip-sigmastar/configs/ssc338q_wfbng_emax-wyvern-link_defconfig

customizer.shPoint Emax Wyvern Link upgrades at its own image +1/-1

Point Emax Wyvern Link upgrades at its own image

• Changes the upgrade setting from an fpv-named Mario AIO archive to the wfbng-named Emax Wyvern Link archive.

devices/ssc338q_wfbng_emax-wyvern-link/general/overlay/usr/share/openipc/customizer.sh

ssc338q_wfbng.listRename Emax Wyvern Link exclusions +0/-0

Rename Emax Wyvern Link exclusions

• Moves the device excludes list to the wfbng filename.

devices/ssc338q_wfbng_emax-wyvern-link/general/scripts/excludes/ssc338q_wfbng.list

ssc338q_wfbng_openipc-mario-aio_defconfigRename the Mario AIO build variant +1/-1

Rename the Mario AIO build variant

• Renames the device defconfig and sets its OpenIPC variant to wfbng.

devices/ssc338q_wfbng_openipc-mario-aio/br-ext-chip-sigmastar/configs/ssc338q_wfbng_openipc-mario-aio_defconfig

customizer.shPoint Mario AIO upgrades at its own image +1/-1

Point Mario AIO upgrades at its own image

• Changes the upgrade setting from an fpv-named Thinker AIO archive to the wfbng-named Mario AIO archive.

devices/ssc338q_wfbng_openipc-mario-aio/general/overlay/usr/share/openipc/customizer.sh

load_sigmastarMove Mario AIO driver loader with its device +0/-0

Move Mario AIO driver loader with its device

• Retains the device-specific SigmaStar loader under the renamed device directory.

devices/ssc338q_wfbng_openipc-mario-aio/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar

ssc338q_wfbng.listRename Mario AIO exclusions +0/-0

Rename Mario AIO exclusions

• Moves the device excludes list to the wfbng filename.

devices/ssc338q_wfbng_openipc-mario-aio/general/scripts/excludes/ssc338q_wfbng.list

ssc338q_wfbng_openipc-thinker-aio_defconfigRename the Thinker AIO build variant +1/-1

Rename the Thinker AIO build variant

• Renames the device defconfig and sets its OpenIPC variant to wfbng.

devices/ssc338q_wfbng_openipc-thinker-aio/br-ext-chip-sigmastar/configs/ssc338q_wfbng_openipc-thinker-aio_defconfig

customizer.shSet the Thinker AIO wfbng upgrade URL +6/-0

Set the Thinker AIO wfbng upgrade URL

• Provides the customizer under the renamed device directory, pointing upgrades to its wfbng archive.

devices/ssc338q_wfbng_openipc-thinker-aio/general/overlay/usr/share/openipc/customizer.sh

load_sigmastarMove Thinker AIO driver loader with its device +0/-0

Move Thinker AIO driver loader with its device

• Retains the device-specific SigmaStar loader under the renamed device directory.

devices/ssc338q_wfbng_openipc-thinker-aio/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar

ssc338q_wfbng.listRename Thinker AIO exclusions +0/-0

Rename Thinker AIO exclusions

• Moves the device excludes list to the wfbng filename.

devices/ssc338q_wfbng_openipc-thinker-aio/general/scripts/excludes/ssc338q_wfbng.list

ssc338q_wfbng_openipc-urllc-aio_defconfigRename the URLLC AIO build variant +1/-1

Rename the URLLC AIO build variant

• Renames the device defconfig and sets its OpenIPC variant to wfbng.

devices/ssc338q_wfbng_openipc-urllc-aio/br-ext-chip-sigmastar/configs/ssc338q_wfbng_openipc-urllc-aio_defconfig

customizer.shSet the URLLC AIO wfbng upgrade URL +6/-0

Set the URLLC AIO wfbng upgrade URL

• Provides the customizer under the renamed device directory, pointing upgrades to its wfbng archive.

devices/ssc338q_wfbng_openipc-urllc-aio/general/overlay/usr/share/openipc/customizer.sh

load_sigmastarMove URLLC AIO driver loader with its device +0/-0

Move URLLC AIO driver loader with its device

• Retains the device-specific SigmaStar loader under the renamed device directory.

devices/ssc338q_wfbng_openipc-urllc-aio/general/package/sigmastar-osdrv-infinity6e/files/script/load_sigmastar

ssc338q_wfbng.listRename URLLC AIO exclusions +0/-0

Rename URLLC AIO exclusions

• Moves the device excludes list to the wfbng filename.

devices/ssc338q_wfbng_openipc-urllc-aio/general/scripts/excludes/ssc338q_wfbng.list

ssc338q_wfbng_runcam-wifilink_defconfigRename the RunCam WiFiLink build variant +71/-0

Rename the RunCam WiFiLink build variant

• Carries the device defconfig under its new name and changes its OpenIPC variant to wfbng.

devices/ssc338q_wfbng_runcam-wifilink/br-ext-chip-sigmastar/configs/ssc338q_wfbng_runcam-wifilink_defconfig

customizer.shPoint RunCam WiFiLink upgrades at its own image +1/-1

Point RunCam WiFiLink upgrades at its own image

• Changes the upgrade setting from an fpv-named Emax Wyvern Link archive to the wfbng-named RunCam WiFiLink archive.

devices/ssc338q_wfbng_runcam-wifilink/general/overlay/usr/share/openipc/customizer.sh

ssc338q_wfbng.listRename RunCam WiFiLink exclusions +0/-0

Rename RunCam WiFiLink exclusions

• Moves the device excludes list to the wfbng filename.

devices/ssc338q_wfbng_runcam-wifilink/general/scripts/excludes/ssc338q_wfbng.list

wext.configMove CCDCam wireless kernel fragment +0/-0

Move CCDCam wireless kernel fragment

• Retains the device's wireless kernel fragment under the renamed directory.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/br-ext-chip-sigmastar/board/infinity6c/fragments/wext.config

ssc377qe_wfbng_ccdcam-im50q01-tipoman_defconfigRename the CCDCam build variant +1/-1

Rename the CCDCam build variant

• Renames the device defconfig and sets its OpenIPC variant to wfbng.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/br-ext-chip-sigmastar/configs/ssc377qe_wfbng_ccdcam-im50q01-tipoman_defconfig

regulatory.db.p7sMove CCDCam regulatory signature +0/-0

Move CCDCam regulatory signature

• Retains the device's regulatory database signature under the renamed directory.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/overlay/lib/firmware/regulatory.db.p7s

customizer.shPoint CCDCam upgrades at wfbng +1/-1

Point CCDCam upgrades at wfbng

• Writes the renamed CCDCam archive URL into the bootloader upgrade setting.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/overlay/usr/share/openipc/customizer.sh

30-010-4_9_28-ath9k_htc-misc_AllChannels.patchMove CCDCam ath9k channel patch +0/-0

Move CCDCam ath9k channel patch

• Retains the device-specific all-channels patch under the renamed directory.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/package/all-patches/linux/30-010-4_9_28-ath9k_htc-misc_AllChannels.patch

30-011-ath9k_regdb_AllowAllFrequencies.patchMove CCDCam ath9k regulatory patch +0/-0

Move CCDCam ath9k regulatory patch

• Retains the device-specific frequency patch under the renamed directory.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/package/all-patches/linux/30-011-ath9k_regdb_AllowAllFrequencies.patch

30-020-ath9k_DisableCarrierSense.patchMove CCDCam carrier-sense patch +0/-0

Move CCDCam carrier-sense patch

• Retains the device-specific carrier-sense patch under the renamed directory.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/package/all-patches/linux/30-020-ath9k_DisableCarrierSense.patch

30-021-ath9k_ChannelBW.patchMove CCDCam channel-bandwidth patch +0/-0

Move CCDCam channel-bandwidth patch

• Retains the device-specific bandwidth patch under the renamed directory.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/package/all-patches/linux/30-021-ath9k_ChannelBW.patch

linux-patcher.mkMove CCDCam Linux patcher definition +0/-0

Move CCDCam Linux patcher definition

• Retains the device-specific Linux patcher definition under the renamed directory and aligns its drift-map path.

devices/ssc377qe_wfbng_ccdcam-im50q01-tipoman/general/package/linux-patcher/linux-patcher.mk

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Builds without the renamed variant fail 🐞 Bug ☼ Reliability
Description
ALIASES=() leaves an empty array, and ${#ALIASES[@]} raises an unbound-variable error under the
publish step's set -u. If other devices produce images but every wfbng build fails, the
partial-release path reaches this check after updating latest, then fails the publish job.
Code

.github/workflows/master.yml[708]

+            if [ "${#ALIASES[@]}" -gt 0 ]; then
Evidence
The publish step enables nounset, explicitly permits publishing images from a failed matrix, and
initializes and checks the new array even when its loop matches no wfbng image.

.github/workflows/master.yml[522-550]
.github/workflows/master.yml[583-594]
.github/workflows/master.yml[615-616]
.github/workflows/master.yml[696-709]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The publish shell uses `set -u`, so checking the length of an empty `ALIASES` array fails when a partial build contains no wfbng images.
## Fix Focus Areas
- .github/workflows/master.yml[696-709]
## Recommended Fix
Use a nounset-safe flag or counter for whether aliases were added, and call `upload_paced` only when that value indicates at least one alias. Preserve successful publication when no alias is needed.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Legacy cameras can miss a published update 🐞 Bug ☼ Reliability
Description
The new alias upload runs only after latest is retargeted and its new-name images are uploaded,
with no rollback if an alias upload exhausts its retries. When that upload fails, publication stops
with the release already changed; a legacy filename can still serve its previous image or be absent
on the first renamed release.
Code

.github/workflows/master.yml[R708-709]

+            if [ "${#ALIASES[@]}" -gt 0 ]; then
+              upload_paced latest "${ALIASES[@]}"
Evidence
The tag move and canonical uploads precede the new alias uploads. The upload helper returns failure
after six attempts, and nounset/errexit aborts the step without restoring the release; the workflow
itself identifies the old filenames as the URLs deployed cameras request.

.github/workflows/master.yml[615-638]
.github/workflows/master.yml[683-709]
devices/ssc338q_wfbng_caddx-fly/general/overlay/usr/share/openipc/customizer.sh[3-4]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The workflow changes `latest` before it finishes uploading the compatibility assets needed by cameras that still request fpv filenames.
## Fix Focus Areas
- .github/workflows/master.yml[683-710]
## Recommended Fix
Prepare the aliases before changing `latest` and arrange publication so an alias upload failure does not leave a newly retargeted release with an incomplete compatibility asset set. Add a failure-path check for the first renamed release.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can route each severity your way: inline, summary, both, or drop

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread .github/workflows/master.yml
Comment thread .github/workflows/master.yml
"fpv" says what the build is for, not what is in it, and three of the
four FPV builds here are FPV too: rubyfpv and apfpv replace wfb-ng, and
the coming waybeam build keeps it with another encoder. The wfb-ng air
unit becomes wfbng (OpenIPC/website#390): every *_fpv defconfig, device
directory and excludes list, BR2_OPENIPC_VARIANT, the device
customizers' upgrade URLs, the CI smoke targets, the drift map and the
tests. The kernel configs (*.generic-fpv.config) are internal and keep
their names. BR2_OPENIPC_MAJESTIC="fpv" is majestic's own build and
stays.

Cameras already in the field keep asking for the fpv names: the generic
ones by BUILD_OPTION, the devices by the upgrade URL their customizer
wrote into the bootloader environment once, which an upgrade keeps. So
latest also gets every wfbng image under its fpv name, with no end date.

Needs OpenIPC/firmware#2548 (firmware branches on the variant name in
four places) and OpenIPC/majestic-webui#640 (updatewebui) first.
@openipc-ai
openipc-ai merged commit f1c3d15 into master Oct 7, 2026
196 of 263 checks passed
@openipc-ai
openipc-ai deleted the variant-wfbng branch October 7, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant