mirror of
https://github.com/openwrt/packages.git
synced 2026-06-01 07:21:56 +08:00
python-semanage: fix cross-compilation, add test.sh
Add HOST_PYTHON3_PIP_VARS and --no-build-isolation to MAKE_VARS. Without --no-build-isolation, pip creates an isolated build environment which fails during cross-compilation because _sysconfigdata is missing. Aligns with python-selinux which already has this fix. The libsemanage pywrap uses the host Python's EXT_SUFFIX to name the C extension, so we will use the PYCEXT env-var to correct that. Add basic test.sh to verify the semanage Python bindings load correctly in environments without SELinux kernel support. Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
committed by
Alexandru Ardelean
parent
e2e727e686
commit
acfafdaa03
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "$1" = python3-semanage ] || exit 0
|
||||
|
||||
python3 - <<'EOF'
|
||||
import semanage
|
||||
|
||||
# Verify the C extension loaded and key functions/constants are available
|
||||
assert hasattr(semanage, 'semanage_handle_create'), "semanage_handle_create missing"
|
||||
assert hasattr(semanage, 'SEMANAGE_CON_DIRECT'), "SEMANAGE_CON_DIRECT missing"
|
||||
assert hasattr(semanage, 'SEMANAGE_CON_INVALID'), "SEMANAGE_CON_INVALID missing"
|
||||
assert hasattr(semanage, 'SEMANAGE_FCONTEXT_ALL'), "SEMANAGE_FCONTEXT_ALL missing"
|
||||
assert hasattr(semanage, 'SEMANAGE_FCONTEXT_REG'), "SEMANAGE_FCONTEXT_REG missing"
|
||||
|
||||
print("python3-semanage OK")
|
||||
EOF
|
||||
Reference in New Issue
Block a user