Skip to content

support for Ubuntu 26.04+#14403

Open
AndKe wants to merge 1 commit into
mavlink:masterfrom
AndKe:ubuntu-deps
Open

support for Ubuntu 26.04+#14403
AndKe wants to merge 1 commit into
mavlink:masterfrom
AndKe:ubuntu-deps

Conversation

@AndKe
Copy link
Copy Markdown
Contributor

@AndKe AndKe commented May 18, 2026

Description

The llibgstreamer package changed name.
This is how an attempt to install libgstreamer-plugins-good1.0-dev on newer Ubuntu went:

Package libgstreamer-plugins-good1.0-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libgstreamer-plugins-extra1.0-dev

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • CI/Build changes
  • Other

Testing

  • Tested locally
  • Added/updated unit tests
  • Tested with simulator (SITL)
  • Tested with hardware

Platforms Tested

  • Linux
  • Windows
  • macOS
  • Android
  • iOS

Flight Stacks Tested

  • PX4
  • ArduPilot

Screenshots

Checklist

  • I have read the Contribution Guidelines
  • I have read the Code of Conduct
  • My code follows the project's coding standards
  • I have added tests that prove my fix/feature works
  • New and existing unit tests pass locally

Related Issues


By submitting this pull request, I confirm that my contribution is made under the terms of the project's dual license (Apache 2.0 and GPL v3).

Copilot AI review requested due to automatic review settings May 18, 2026 07:25
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Linux dependency installer to handle Debian/Ubuntu package renames on newer Ubuntu releases (notably Ubuntu 26.04+), so QGroundControl’s build dependencies can still be installed successfully.

Changes:

  • Add a Debian/Ubuntu package alternative mapping for renamed/replaced packages (GStreamer “good” dev package → “extra” dev package).
  • Improve apt availability detection by switching from apt-cache show to apt-cache policy and checking for a non-(none) install candidate.
  • Resolve package alternatives prior to running the main apt-get install.

Comment on lines +324 to +326
all_candidates = {name for pkg in needs_check for name in [pkg, *DEBIAN_PACKAGE_ALTERNATIVES[pkg]]}
with ThreadPoolExecutor() as pool:
availability = dict(zip(all_candidates, pool.map(check_apt_package_available, all_candidates), strict=False))
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 25.56%. Comparing base (f29efd3) to head (ade9e5b).
⚠️ Report is 13 commits behind head on master.

❌ Your project check has failed because the head coverage (25.56%) is below the target coverage (30.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #14403      +/-   ##
==========================================
+ Coverage   25.47%   25.56%   +0.09%     
==========================================
  Files         769      769              
  Lines       65912    66244     +332     
  Branches    30495    30640     +145     
==========================================
+ Hits        16788    16938     +150     
+ Misses      37285    37282       -3     
- Partials    11839    12024     +185     
Flag Coverage Δ
unittests 25.56% <ø> (+0.09%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 27 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d41ae0a...ade9e5b. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown
Contributor

Build Results

Platform Status

Platform Status Details
Linux Passed View
Windows Passed View
MacOS Passed View
Android Passed View

All builds passed.

Pre-commit

Check Status Details
pre-commit Failed (non-blocking) View

Pre-commit hooks: 4 passed, 45 failed, 7 skipped.

Test Results

linux-coverage: 90 passed, 0 skipped
Total: 90 passed, 0 skipped

Code Coverage

Coverage: 59.5%

No baseline available for comparison

Artifact Sizes

Artifact Size
QGroundControl 216.87 MB
QGroundControl-aarch64 176.80 MB
QGroundControl-installer-AMD64 134.69 MB
QGroundControl-installer-AMD64-ARM64 77.34 MB
QGroundControl-installer-ARM64 106.05 MB
QGroundControl-linux 335.18 MB
QGroundControl-mac 187.14 MB
QGroundControl-windows 187.17 MB
QGroundControl-x86_64 171.95 MB
No baseline available for comparison

Updated: 2026-05-18 08:19:01 UTC • Triggered by: Android

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants