Skip to content

GH-50090: [Packaging] Avoid building CUDA for Debian forky due to missing nvidia-cuda-toolkit#50279

Merged
kou merged 3 commits into
apache:mainfrom
raulcd:GH-50090
Jul 1, 2026
Merged

GH-50090: [Packaging] Avoid building CUDA for Debian forky due to missing nvidia-cuda-toolkit#50279
kou merged 3 commits into
apache:mainfrom
raulcd:GH-50090

Conversation

@raulcd

@raulcd raulcd commented Jun 29, 2026

Copy link
Copy Markdown
Member

Rationale for this change

debian-forky amd64 is currently failing because nvidia-cuda-toolkit as been removed from the testing dependencies due to a bug.

What changes are included in this PR?

Create new Build Profile spec to conditionally disable cuda packages for debian: pkg.apache-arrow.nocuda
Set pkg.apache-arrow.nocuda for debian-forky so cuda isn't built and nvidia-cuda-toolkit is conditionally checked.

Are these changes tested?

Yes on CI via the Linux Package jobs.

Are there any user-facing changes?

No but debian-forky (testing) won't have CUDA packages until re-enabled

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #50090 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions Bot added CI: Extra: Package: Linux Run extra Linux Packages CI awaiting committer review Awaiting committer review labels Jun 29, 2026
@raulcd raulcd added CI: Extra: Package: Linux Run extra Linux Packages CI and removed CI: Extra: Package: Linux Run extra Linux Packages CI labels Jun 29, 2026
@raulcd

raulcd commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

@kou what do you think about an approach like this? I will clean up the PR and description if this sounds reasonable to you. I've used the suggestion from claude because it seems reasonable to me. Let me know if you think a different approach would be better. I've validated debian-forky is not pushing the debian packages but other debian amd64 are building them.

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Wow! I didn't know the build profile feature!

Comment thread dev/tasks/linux-packages/apt/build.sh Outdated
Comment thread dev/tasks/linux-packages/apt/build.sh Outdated
Comment on lines +126 to +127
if ! dpkg -l nvidia-cuda-toolkit > /dev/null 2>&1; then
DEB_BUILD_PROFILES="${DEB_BUILD_PROFILES:-} pkg.apache-arrow.nocuda"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could you do this check in Dockerfile (ENV DEB_BUILD_PROFILES=...) instead of here? build.sh is reused in all packages.

diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-forky/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-forky/Dockerfile
index 0f679f0388..ed24e124eb 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/debian-forky/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-forky/Dockerfile
@@ -88,3 +88,5 @@ RUN \
     apt install -y -V ${quiet} nvidia-cuda-toolkit; \
   fi && \
   apt clean
+
+ENV DEB_BUILD_PROFILES=pkg.apache-arrow.nocuda

We don't need export DEB_BUILD_PROFILES too. So we don't need to change build.sh for this.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ok, I guess the only thing is that this won't auto-detect whether nvidia-cuda-toolkit is available or not so we will have to manually remove this line once available. I've added a comment.

@github-actions github-actions Bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jun 29, 2026
@github-actions github-actions Bot added awaiting change review Awaiting change review awaiting changes Awaiting changes and removed awaiting changes Awaiting changes awaiting change review Awaiting change review labels Jun 30, 2026
@raulcd
raulcd marked this pull request as ready for review June 30, 2026 10:53
@raulcd
raulcd requested a review from assignUser as a code owner June 30, 2026 10:53
Copilot AI review requested due to automatic review settings June 30, 2026 10:53
@raulcd
raulcd requested a review from jonkeane as a code owner June 30, 2026 10:53
@raulcd raulcd changed the title GH-50090: [Packaging] Make nvidia-cuda-toolkit not fail on Debian forky amd64 GH-50090: [Packaging] Avoid building CUDA for Debian forky due to missing nvidia-cuda-toolkit Jun 30, 2026
@raulcd
raulcd requested a review from kou June 30, 2026 10:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses Debian forky amd64 packaging failures caused by nvidia-cuda-toolkit being temporarily unavailable by introducing a Debian build profile to disable CUDA-related build dependencies and binary packages for that distribution.

Changes:

  • Add a new Debian build profile pkg.apache-arrow.nocuda to conditionally skip nvidia-cuda-toolkit and all CUDA binary packages in debian/control.in.
  • Set DEB_BUILD_PROFILES=pkg.apache-arrow.nocuda in the debian-forky packaging Dockerfile to disable CUDA packaging on forky.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
dev/tasks/linux-packages/apache-arrow/debian/control.in Adds pkg.apache-arrow.nocuda build-profile guards for the CUDA build-dependency and CUDA binary packages.
dev/tasks/linux-packages/apache-arrow/apt/debian-forky/Dockerfile Sets DEB_BUILD_PROFILES for Debian forky to avoid CUDA packaging while the toolkit is missing upstream.

Comment on lines +33 to +37
# nvidia-cuda-toolkit may be unavailable (e.g. removed from Debian forky).
# The pkg.apache-arrow.nocuda build profile (set via DEB_BUILD_PROFILES, e.g.
# in the debian-forky Dockerfile) skips this build dependency and the CUDA
# packages below.
nvidia-cuda-toolkit [!arm64] <!pkg.apache-arrow.nocuda>,

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think that's fine ... as we are controlling whether nvidia-cuda-toolkit is installed or not. Also if it starts breaking because nvidia-cuda-toolkit is now installed on debian-forky might be a good sign to remove the build profile so might not be bad to have a "notification"

Comment on lines +92 to +95
# nvidia-cuda-toolkit was removed from Debian forky amd64, so disable the
# CUDA packages via the pkg.apache-arrow.nocuda build profile.See GH-50090.
# Once nvidia-cuda-toolkit is re-added to Debian forky, this can be removed.
ENV DEB_BUILD_PROFILES=pkg.apache-arrow.nocuda

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Same as my previous comment. I think that's going to be the notification I was looking for on when to re-enable. I see this as a feature more than as a bug :)

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

+1

@kou
kou merged commit 649a667 into apache:main Jul 1, 2026
56 checks passed
@kou kou removed the awaiting changes Awaiting changes label Jul 1, 2026
@github-actions github-actions Bot added the awaiting merge Awaiting merge label Jul 1, 2026
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 649a667.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

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

Labels

awaiting merge Awaiting merge CI: Extra: Package: Linux Run extra Linux Packages CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants