Skip to content

Treat system tydb files as immutable#2945

Merged
plajjan merged 1 commit into
mainfrom
fix-dist-tydb-readonly
Jun 17, 2026
Merged

Treat system tydb files as immutable#2945
plajjan merged 1 commit into
mainfrom
fix-dist-tydb-readonly

Conversation

@plajjan

@plajjan plajjan commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Bundled base and std interface databases are read-only runtime inputs from the selected Acton system root. The compiler now opens those .tydb files with MDB_RDONLY and MDB_NOLOCK whether the root is next to the executable or supplied with --syspath. Project and dependency interface caches keep normal LMDB read locking because they can still be rewritten by concurrent builds.

The dist/base and dist/std build targets remove generated LMDB lock files and normalize data.mdb permissions before packaging, so release tarballs do not ship lock files and their interface databases remain world-readable.

@plajjan plajjan marked this pull request as ready for review June 17, 2026 21:39

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 357ea4a533

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread compiler/lib/src/InterfaceFiles.hs Outdated
Bundled base and std interfaces are runtime inputs from the selected
Acton system root, not writable caches. Read those LMDB environments
without lock-table state so root-owned installs and read-only alternate
sysroots do not need to create or update lock.mdb files.

Keep project and dependency interfaces on normal LMDB read locking.
In dist/base and dist/std, delete LMDB lock files from generated
interfaces and make data.mdb world-readable before packaging.
@plajjan plajjan force-pushed the fix-dist-tydb-readonly branch from 357ea4a to ade6221 Compare June 17, 2026 21:57
@plajjan plajjan changed the title Treat dist tydb files as immutable Treat system tydb files as immutable Jun 17, 2026
@plajjan plajjan marked this pull request as draft June 17, 2026 21:57
@plajjan plajjan marked this pull request as ready for review June 17, 2026 22:06
@plajjan plajjan enabled auto-merge June 17, 2026 22:06

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ade62216ed

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread compiler/lib/src/InterfaceFiles.hs
@plajjan plajjan merged commit c378ec0 into main Jun 17, 2026
50 checks passed
@plajjan plajjan deleted the fix-dist-tydb-readonly branch June 17, 2026 22:39
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