Skip to content

fix(qdbm): disable Java bindings#17513

Open
binujp wants to merge 1 commit into
4.0from
bphilip/qdbm-java-no
Open

fix(qdbm): disable Java bindings#17513
binujp wants to merge 1 commit into
4.0from
bphilip/qdbm-java-no

Conversation

@binujp
Copy link
Copy Markdown
Contributor

@binujp binujp commented May 28, 2026

Summary

Disable Java bindings in qdbm by setting java_arches = "noarch" in build defines. This prevents the Java subpackages (qdbm-java, qdbm-javadoc) from being built on real architectures.

Rationale

  • No packages in Azure Linux depend on qdbm-java or qdbm-javadoc
  • Removes unnecessary java-21-openjdk build dependency from qdbm
  • Reduces build time and dependency surface

Changes

  • Created base/comps/qdbm/qdbm.comp.toml with build.defines = { java_arches = "noarch" }
  • Moved qdbm from inline entry in components.toml to dedicated comp.toml
  • Verified build produces qdbm, qdbm++, qdbm-cgi, qdbm-perl, ruby-qdbm (no java subpackages)

Testing

  • Component builds successfully
  • Output RPMs verified: no java dependencies present
  • No reverse dependencies on qdbm-java in the distro

AZL does not ship java21-openjdk. Override %java_arches to 'noarch'
via build.defines so all %ifarch %java_arches blocks are skipped,
cleanly disabling the qdbm-java and qdbm-javadoc subpackages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@binujp binujp marked this pull request as ready for review May 28, 2026 15:54
Copilot AI review requested due to automatic review settings May 28, 2026 15:54
@binujp binujp requested a review from christopherco as a code owner May 28, 2026 15:54
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

This PR aims to disable qdbm’s Java bindings in Azure Linux by overriding the %java_arches macro via component build defines, thereby avoiding Java build dependencies and skipping Java subpackage output. It also moves qdbm from an inline component entry to a dedicated qdbm.comp.toml, updating the lock and rendered spec artifacts accordingly.

Changes:

  • Add base/comps/qdbm/qdbm.comp.toml with build.defines to override java_arches.
  • Remove the inline [components.qdbm] entry from base/comps/components.toml so the dedicated comp file owns the component config.
  • Update rendered qdbm spec output (macro load + Source9999 + Release bump) and refresh locks/qdbm.lock fingerprint.

Reviewed changes

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

Show a summary per file
File Description
specs/q/qdbm/qdbm.spec Loads generated macros file and adds Source9999; rendered Release bump.
specs/q/qdbm/qdbm.azl.macros Defines %java_arches override used by the rendered spec.
locks/qdbm.lock Updates input fingerprint to reflect component definition change.
base/comps/qdbm/qdbm.comp.toml Introduces qdbm component build define override intended to disable Java bits.
base/comps/components.toml Removes inline qdbm entry now that a dedicated comp.toml exists.

Comment thread specs/q/qdbm/qdbm.spec
Comment on lines +4 to +6
# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
%{load:%{_sourcedir}/qdbm.azl.macros}

@@ -0,0 +1,5 @@
# AZL does not ship java21-openjdk — disable Java bindings.
# The spec gates all Java support on %ifarch %java_arches, so redefining
# that macro to an impossible arch disables it cleanly.
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.

2 participants