Skip to content

fix postgres for arm#14792

Merged
subhramit merged 3 commits into
mainfrom
fixPostgres
Jan 4, 2026
Merged

fix postgres for arm#14792
subhramit merged 3 commits into
mainfrom
fixPostgres

Conversation

@Siedlerchr

@Siedlerchr Siedlerchr commented Jan 3, 2026

Copy link
Copy Markdown
Member

User description

Closes #14783

grafik

Steps to test

Start JabRef under linux arm64
No crash

Mandatory checks

  • I own the copyright of the code submitted and I license it under the MIT license
  • I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • [.] I added screenshots in the PR description (if change is visible to the user)
  • I described the change in CHANGELOG.md in a way that is understandable for the average user (if change is visible to the user)
  • [.] I checked the user documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request updating file(s) in https://github.com/JabRef/user-documentation/tree/main/en.

PR Type

Bug fix


Description

  • Add explicit ARM64 PostgreSQL binary dependencies for macOS and Linux

  • Resolves issue with PostgreSQL initialization on ARM-based systems


Diagram Walkthrough

flowchart LR
  A["module-info.java"] -- "adds ARM64 binary dependencies" --> B["embedded.postgres.binaries.darwin.arm64v8"]
  A -- "adds ARM64 binary dependencies" --> C["embedded.postgres.binaries.linux.arm64v8"]
Loading

File Walkthrough

Relevant files
Bug fix
module-info.java
Add ARM64 PostgreSQL binary module requirements                   

jablib/src/main/java/module-info.java

  • Added explicit module requirements for ARM64 PostgreSQL binaries on
    macOS (darwin.arm64v8)
  • Added explicit module requirements for ARM64 PostgreSQL binaries on
    Linux (linux.arm64v8)
  • Added clarifying comment explaining ARM-specific dependency
    requirements
+4/-0     

@Siedlerchr Siedlerchr added the dev: binaries Binary builds should be uploaded to builds.jabref.org label Jan 3, 2026
@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Jan 3, 2026

Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🟡
🎫 #13109
🔴 Make the Pseudonymization class available on the CLI
Implement similar CLI experience as the consistency check
Follow the implementation pattern of the CheckConsistency class
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

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

qodo-free-for-open-source-projects Bot commented Jan 3, 2026

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Make platform-specific dependencies optional

Change the requires directive to requires static for the ARM-specific
dependencies to make them optional at runtime. This prevents forcing users on
other architectures to download unnecessary binaries.

jablib/src/main/java/module-info.java [176-178]

 // For arm, we explicitly need to add these as well
-requires embedded.postgres.binaries.darwin.arm64v8;
-requires embedded.postgres.binaries.linux.arm64v8;
+requires static embedded.postgres.binaries.darwin.arm64v8;
+requires static embedded.postgres.binaries.linux.arm64v8;
  • Apply / Chat
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly points out that using requires for platform-specific dependencies is incorrect, as it forces all users to include them. Proposing requires static is the right approach for optional, platform-specific modules in Java, improving the library's design and user experience.

Medium
  • Update

@Siedlerchr Siedlerchr enabled auto-merge January 4, 2026 00:32
@Siedlerchr Siedlerchr added the status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers label Jan 4, 2026
@github-actions

github-actions Bot commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

The build of this PR is available at https://builds.jabref.org/pull/14792/merge.

@Siedlerchr Siedlerchr added this pull request to the merge queue Jan 4, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jan 4, 2026
@subhramit subhramit added this pull request to the merge queue Jan 4, 2026
Merged via the queue into main with commit 0e17c24 Jan 4, 2026
56 checks passed
@subhramit subhramit deleted the fixPostgres branch January 4, 2026 02:55
Siedlerchr added a commit that referenced this pull request Jan 6, 2026
…es/jablib/src/main/resources/csl-locales-50e46eb

* upstream/main: (119 commits)
  chore(sbom): update CycloneDX SBOM files (#14813)
  Add "preferences" constant to ServiceLocator initialization (#14810)
  adjust bom generation to only use runtime (#14809)
  Remove (nearly) obsolete hint in ghprcomment.yml
  Update dependency org.apache.commons:commons-lang3 to v3.20.0 (#14808)
  Fix Nullwarnings - B (#14802)
  Add https
  Add ouput
  Fix stale (again)
  Fix output
  Fix re-downloading of ltwa file
  Chore(deps): Bump jablib/src/main/resources/csl-styles from `9bb1fc1` to `0201999` (#14796)
  Chore(deps): Bump org.ow2.asm:asm from 9.9 to 9.9.1 in /versions (#14799)
  Chore(deps): Bump org.controlsfx:controlsfx in /versions (#14800)
  Chore(deps): Bump org.postgresql:postgresql in /versions (#14798)
  Chore(deps): Bump jablib/src/main/abbrv.jabref.org (#14795)
  Chore(deps): Bump org.apache.logging.log4j:log4j-to-slf4j in /versions (#14797)
  Chore(deps): Bump org.apache.commons:commons-text from 1.14.0 to 1.15.0 in /versions (#14801)
  fix postgres for arm (#14792)
  Docs: minor grammar and clarity fixes in privacy policy (#14786)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev: binaries Binary builds should be uploaded to builds.jabref.org Review effort 1/5 status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Embedded postgres does not work under linux arm 64

2 participants