Skip to content

fix(repo): rewrite services exported to the systemd user directory - #2172

Open
iloveeyjafjalla wants to merge 1 commit into
OpenAtom-Linyaps:masterfrom
iloveeyjafjalla:codex/fix-systemd-user-export-rewrite-20261012
Open

iloveeyjafjalla wants to merge 1 commit into
OpenAtom-Linyaps:masterfrom
iloveeyjafjalla:codex/fix-systemd-user-export-rewrite-20261012

Conversation

@iloveeyjafjalla

Copy link
Copy Markdown

Fixes #2171

The normal export destination is entries/lib/systemd/user, but both the export rewrite check and IniLikeFileRewrite only recognized share/systemd/user. Accept the standard lib path at both points so the existing systemd command rewriter actually runs for current services and legacy services mapped to that destination.

The regression starts with the real configured app-conf-generator: it confirms ExecStart is already wrapped while ExecStartPost is still raw, imports the resulting service through real OSTree, and calls the production exportDir via the existing test access wrapper with no mock callbacks. It checks both source layouts, the exported symlink content, correct single wrapping, unchanged non-command metadata and re-export behavior. Original production code failed the post-start command assertion in all four layout/export combinations.

Validation on Ubuntu 22.04 WSL2 x86_64 / GCC 11.4 / Qt 5.15.3 / CMake 3.31.6:

  • Original regression: failed; final regression: passed.
  • Independent CMake debug build: passed; complete CTest: 745/745 passed, with no skipped tests.
  • Repository pre-commit, including clang-format 22.1.8, and whitespace checks: passed.
  • Independent read-only review: no substantive finding.

The full test environment uses isolated upstream erofs-utils 1.8 in a private Linux mount namespace and runs CTest as an ordinary user; the system installation remains 1.4. This verifies the helper/import/production export-function path, not full exportAppReference, systemd service activation or container execution. Release, Qt6/ARM CI and live remote service requests were not run. Existing command-field selection and parsing semantics are unchanged.

AI assistance: prepared and independently reviewed with OpenAI Codex. Executed failure and passing results are backed by retained Linux logs.

Copilot AI balanced review requested due to automatic review settings October 12, 2026 12:22

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@deepin-ci-robot

Copy link
Copy Markdown
Collaborator

Hi @iloveeyjafjalla. Thanks for your PR.

I'm waiting for a OpenAtom-Linyaps member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Standard systemd user-service exports skip execution-command rewriting

3 participants