Repository navigation
Conversation
…sions The postinst sets the operational log to 0664, but the logger reset it to 0666 (S_IWOTH) on every open, so the first root run made the root-owned log world-writable again and negated the CWE-732 fix. Match the package mode. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Make the operational log group-writable instead of world-writable, restrict preun/prerm cleanup to a full erase, stop the RPM from co-owning system python directories, and quote the install prefix when writing ld.so.conf.d. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
…lib fails to load Add a <root>/lib/<SONAME> probe for relocatable ROCm trees (TheRock) with a try/except OSError fall-through so a present-but-unloadable relocatable library does not shadow the system SONAME. Dedupe the wrapper _libraries init. Wrapper regenerated from generator.py. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Build one wheel per platform tagged manylinux_2_28 and verify the bundled .so, use a clean PyPI version with the commit as metadata, make the fallback-flag staging idempotent and UTF-8, reject regenerating the wrapper against the wheel library, and skip the system site-packages install for wheel builds. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Cover the loader contract (bundled wheel .so, relocatable OSError fall-through, wheel-refuses-fallback, ambiguous-wrapper failure), the SONAME conflict check, and the dual-copy drift guard; wire them into the build harness and run them without a GPU. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Run the SONAME conflict check and the wheel fallback-flag assertion, pin the manylinux build dir, and scan abi_compat output in the build summary. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Note the dual-copy install layout, PYTHONPATH module precedence, and the manylinux wheel build directory. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
The standalone PyPI wheel ships only the amdsmi Python bindings; it declares no console_scripts entry point, so it does not provide the amd-smi CLI. Mark that matrix cell unsupported. Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Contributor
|
dupe of #9033 we don't need it |
dmitrii-galantsev
deleted the
users/marifamd/amdsmi-packaging-followup-clean
branch
July 29, 2026 16:57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Packaging-correctness and coverage follow-ups to the AMD SMI Python packaging rework (relanded in #9340). Same content as #9033, restructured into logical commits for reviewability.
Grouped as:
fix: stop the logger from restoring world-writable log permissions— the logger reset the root-owned operational log to0666(S_IWOTH) on every open, negating the package's0664mode (CWE-732).fix: harden the RPM and DEB packaging scriptlets— group-writable (not world-writable) log, restrict preun/prerm cleanup to a full erase, stop the RPM co-owning system python dirs, quote the install prefix when writingld.so.conf.d.fix: fall through to the system library when the relocatable lib fails to load— add a<root>/lib/<SONAME>probe for relocatable ROCm trees (TheRock) with atry/except OSErrorfall-through so a present-but-unloadable relocatable library doesn't shadow the system SONAME; dedupe the wrapper_librariesinit (wrapper regenerated fromgenerator.py).build: harden the Python wheel build and packaging config— one wheel per platform taggedmanylinux_2_28, verify the bundled.so, clean PyPI version with commit metadata, idempotent + UTF-8 fallback-flag staging, reject regenerating the wrapper against the wheel library, skip the system site-packages install for wheel builds.test: add packaging and loader test coverage— loader contract (bundled wheel.so, relocatable OSError fall-through, wheel-refuses-fallback, ambiguous-wrapper failure), SONAME conflict check, dual-copy drift guard, wired into the harness and run without a GPU.ci: wire the packaging checks into CI and tighten the wheel job— run the SONAME conflict check + wheel fallback-flag assertion, pin the manylinux build dir, scanabi_compatoutput in the summary.docs: document the packaging and install paths— dual-copy install layout, PYTHONPATH module precedence, manylinux wheel build directory.Verification
cmake -DBUILD_TESTS=ON+make: 0 errors,libamd_smi.so.27built.test_abi_compat.py(10) +test_dual_copy_guard.py(4): all pass.JIRA ID
ROCM-3941