Skip to content

DAOS-18827 build: Use post-install scripts for file perms/ownership#18042

Open
knard38 wants to merge 4 commits intomasterfrom
ckochhof/fix/master/daos-18827/patch-001
Open

DAOS-18827 build: Use post-install scripts for file perms/ownership#18042
knard38 wants to merge 4 commits intomasterfrom
ckochhof/fix/master/daos-18827/patch-001

Conversation

@knard38
Copy link
Copy Markdown
Contributor

@knard38 knard38 commented Apr 20, 2026

Description

Debian packaging does not support the --rpm-attr option, which is used in RPM packaging to set file permissions and ownership during installation. This limitation makes it challenging to keep packaging logic consistent and reliable across both RPM and Debian systems. To address this and ensure that file permissions and ownership are set correctly regardless of the packaging format, we need to unify our approach for post-install actions.

This change replaces all instances of --rpm-attr in the packaging scripts with explicit post-install scripts. These scripts use standard shell commands (chown and chmod) to set the required permissions and ownership on installed files and directories. Each script is generated using a heredoc and is made executable immediately after creation to ensure it can be run by the packaging tools during installation.

As a result, all file permission and ownership settings are now handled in a way that works for both RPM and Debian packaging. This not only improves cross-platform compatibility but also centralizes and clarifies the logic for post-install actions, making the packaging scripts easier to maintain and extend in the future.

The update includes:

  • Removal of all --rpm-attr lines for affected files.
  • Addition of heredoc-generated post-install scripts for setting permissions and ownership.
  • Ensuring each generated script is executable with chmod +x.

This refactor provides a single, reliable source of truth for post-install actions across all supported packaging systems.

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

@knard38 knard38 self-assigned this Apr 20, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 20, 2026

Ticket title is 'DAOS Debian package missing libisal dependency and wrong executable permissions    '
Status is 'In Review'
https://daosio.atlassian.net/browse/DAOS-18827

@knard38 knard38 force-pushed the ckochhof/fix/master/daos-18827/patch-001 branch 2 times, most recently from 00bcf02 to 6fe545a Compare April 23, 2026 12:20
Debian packaging does not support the --rpm-attr option, which makes it
difficult to manage file permissions and ownership consistently across
both RPM and Debian packages. To ensure cross-platform compatibility and
maintain a single source of truth for post-install actions, we need
a unified approach.

This change replaces all uses of --rpm-attr with explicit post-install
scripts that set the correct permissions and ownership using chown and
chmod. Each script is made executable to guarantee it runs correctly
during package installation.

The update includes:
- Remove all --rpm-attr lines for affected files.
- Add heredoc-generated post-install scripts for permissions and ownership.
- Add chmod +x to each generated script.

Signed-off-by: Cedric Koch-Hofer <cedric.koch-hofer@hpe.com>
@knard38 knard38 force-pushed the ckochhof/fix/master/daos-18827/patch-001 branch from 6fe545a to b525ee3 Compare April 28, 2026 08:53
@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-18042/4/testReport/

@knard38 knard38 marked this pull request as ready for review April 30, 2026 11:57
@knard38 knard38 requested a review from a team as a code owner April 30, 2026 11:57
@daosbuild3
Copy link
Copy Markdown
Collaborator

@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Unit Test bdev with memcheck completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18042/6/display/redirect

@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Unit Test bdev completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18042/6/display/redirect

@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Unit Test completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18042/6/display/redirect

@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Unit Test with memcheck completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18042/6/display/redirect

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants