Skip to content

Install the Intel driver dependency before the .deb that needs it - #42

Merged
MickLesk merged 2 commits into
mainfrom
fix/hwaccel-deb-order
Sep 16, 2026
Merged

MickLesk merged 2 commits into
mainfrom
fix/hwaccel-deb-order

Conversation

@MickLesk

@MickLesk MickLesk commented Sep 16, 2026

Copy link
Copy Markdown
Member

✍️ Description

intel-opencl-icd is fetched from GitHub and declares ocl-icd-libopencl1, which the step installed afterwards. dpkg refused the package, left the state half-configured, and every apt call from then on failed — including the application's own install, which is where it surfaced as a wall of unmet vlc dependencies (Unmet dependencies. Try 'apt --fix-broken install').

Three fixes: the dependency goes in first, a failed .deb repairs the dpkg state instead of leaving it for the next step, and _cs_apt_install_optional no longer claims "Not available on this release" when apt-cache can see the package — that was reported for seven packages that are all in Debian main.

🔗 Related Issue

Fixes community-scripts/ProxmoxVE#17291

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected (Proxmox VE and/or Incus, as applicable).
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.
  • API.txt regenerated – If a function signature or behavior changed, API.txt was updated to match.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing behavior in a way that may require updates in every downstream script.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, docs/, CONTRIBUTING.md, or other docs.

intel-opencl-icd is fetched from GitHub and declares ocl-icd-libopencl1,
which the step installed afterwards. dpkg refused the package, left the
state half-configured, and every apt call from then on failed - including
the application's own install, which is where it surfaced as a wall of
unmet vlc dependencies.

Three things went wrong and each is fixed: the dependency now goes in
first, a failed .deb repairs the dpkg state instead of leaving it for the
next step, and _cs_apt_install_optional no longer reports a package as
"Not available on this release" when apt-cache can see it - that claim
was made about seven packages that are all in Debian main.
@github-actions

Copy link
Copy Markdown
Contributor

Try this branch

The engine and the scripts resolve independently, so a production script can
be run against the engine from this PR by setting one variable:

COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/community-scripts/core/fix/hwaccel-deb-order \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/debian.sh)"

Swap ct/debian.sh for whatever exercises the change.

Run a script from a fork as well
curl -fsSL https://raw.githubusercontent.com/community-scripts/core/fix/hwaccel-deb-order/tools/run.sh |
  bash -s -- https://raw.githubusercontent.com/YOU/ProxmoxVED/your-branch ct/debian.sh \
             https://raw.githubusercontent.com/community-scripts/core/fix/hwaccel-deb-order

Note that run.sh is reached through a pipe, so the script it starts inherits
an exhausted stdin. Whiptail is fine — it opens /dev/tty — but a plain read
would see EOF. The single-variable form above does not have that problem.

Useful flags while testing

dev_mode=net logs every engine fetch with status and duration, which is the
quickest way to confirm the branch is really being used. dev_mode=keep stops a
failed build from deleting the container along with the evidence.

@MickLesk
MickLesk merged commit 26d6997 into main Sep 16, 2026
5 checks passed
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.

Dispatcharr

1 participant