mirror of
https://github.com/openwrt/packages.git
synced 2026-06-17 14:50:07 +04:00
selinux-python: fix cross-compilation, add test.sh
Add --no-build-isolation to PYTHON_SETUP_ARGS. Without it, pip creates an isolated build environment which fails during cross-compilation because _sysconfigdata is missing for the target arch. Add test.sh verifying python3-sepolgen module loads correctly and selinux-audit2allow binary is functional. Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
committed by
Alexandru Ardelean
parent
acfafdaa03
commit
9122b66499
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=selinux-python
|
||||
PKG_VERSION:=3.9
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
|
||||
@@ -55,7 +55,7 @@ endef
|
||||
MAKE_VARS = \
|
||||
$(PYTHON3_VARS) \
|
||||
$(HOST_PYTHON3_PIP_VARS) \
|
||||
PYTHON_SETUP_ARGS=--no-compile
|
||||
PYTHON_SETUP_ARGS="--no-compile --no-build-isolation"
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,all)
|
||||
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
python3-sepolgen)
|
||||
python3 - <<'EOF'
|
||||
import sepolgen.interfaces as iface
|
||||
import sepolgen.policygen as pg
|
||||
import sepolgen.access as access
|
||||
|
||||
# Verify core classes are importable
|
||||
assert hasattr(iface, 'InterfaceSet'), "InterfaceSet missing"
|
||||
assert hasattr(pg, 'PolicyGenerator'), "PolicyGenerator missing"
|
||||
assert hasattr(access, 'AccessVector'), "AccessVector missing"
|
||||
|
||||
# Basic AccessVector construction
|
||||
av = access.AccessVector()
|
||||
av.src_type = "httpd_t"
|
||||
av.tgt_type = "var_log_t"
|
||||
av.obj_class = "file"
|
||||
av.perms.add("write")
|
||||
assert "write" in av.perms
|
||||
|
||||
print("python3-sepolgen OK")
|
||||
EOF
|
||||
;;
|
||||
python3-seobject)
|
||||
python3 - <<'EOF'
|
||||
import seobject
|
||||
|
||||
# Verify key record types are available (no SELinux system required)
|
||||
assert hasattr(seobject, 'portRecords'), "portRecords missing"
|
||||
assert hasattr(seobject, 'fcontextRecords'), "fcontextRecords missing"
|
||||
assert hasattr(seobject, 'booleanRecords'), "booleanRecords missing"
|
||||
assert hasattr(seobject, 'seluserRecords'), "seluserRecords missing"
|
||||
|
||||
print("python3-seobject OK")
|
||||
EOF
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user