Skip to content

Linux CLI archive and legacy Word document support - #1

Merged
erlonL merged 2 commits into
mainfrom
linux-cli-doc-archive
Oct 14, 2026
Merged

erlonL merged 2 commits into
mainfrom
linux-cli-doc-archive

Conversation

@erlonL

@erlonL erlonL commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Problem

The current portable engine can build on Linux, but the fork has no checked CLI archive or Linux CI path. Legacy .doc files are classified for indexing and then fail because the portable reader does not handle them.

What changed

  • Add an optional Linux LibreOffice Writer fallback for .doc, using an isolated temporary profile and removing the UTF-8 BOM before the existing document chunker sees the text.
  • Add an x86_64 CPU CLI tarball with the pinned PDFium and llama.cpp shared libraries and their license notices. The Swift runtime is linked statically; the model remains a separate verified download.
  • Add a CPU-only build switch, Linux build/test/package CI, an archive checksum and smoke check, and an honest Linux status page linked from the README.

The macOS menu bar app and its readers are unchanged. This remains the same local EmbeddingGemma 2, SQLite, and hybrid search engine.

Relationship to the earlier Linux work

Follows the Linux proposal, issue #5 and the first Linux PR, #6. There is no merge dependency on ARahim3#6: current main already has a newer portable Linux/Windows engine, and ARahim3#6 conflicts with it. This branch is based directly on erlonL/DigUp:main so the remaining work can be reviewed without importing the old port or deleting newer upstream changes.

Verification

  • GitHub Actions Linux CLI build/test/package passed on commit 7df5685.
  • Linux x86_64, Swift 6.2.4: swift test --skip ImageTests passed, 88 tests in 11 suites, including the new LibreOffice .doc test.
  • swift build -c release --product digup --static-swift-stdlib passed with the pinned CPU llama.cpp runtime.
  • scripts/package-linux.sh --version 0.6.1 --no-build produced a 41 MB archive. Its SHA256 checksum passed, and digup --help ran in a container mounted with only the archive; PDFium and llama.cpp loaded from beside the binary.
  • bash -n and git diff --check passed.

The unfiltered swift test ran 90 tests and reported five failures in existing ImageTests: HEIC decoding and TIFF/WebP orientation on Ubuntu 24.04's FFmpeg 6.1. Those fixtures need FFmpeg 8.1. The CI command excludes that suite and names the reason. The reference-vector test needs the separately downloaded model files and did not run here. macOS tests were not run.

Remaining limits

This is a CLI archive, not a released Linux desktop app. It targets the Ubuntu 24.04 ABI and still needs system glibc, C++/OpenMP libraries and FFmpeg for media. There is no .deb, .rpm, aarch64 archive, scanned-page/screenshot OCR, RAW reader, or presentation-deck reader in this PR. LibreOffice Writer is optional and needed only for legacy .doc files.

@erlonL
erlonL merged commit 174218b into main Oct 14, 2026
1 check 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.

1 participant