Comments (5)
from selinux.
$(DESTDIR)
is used by packagers to install libselinux in a directory from which a package archive is crafted (for example with fakeroot and tar). For example when $(DESTDIR)
is /tmp/makepkg/libselinux/pkg
and the system uses Python 3.6, $(PYSITEDIR)
is defined as /tmp/makepkg/libselinux/pkg/usr/lib/python3.6/site-packages
and make install-pywrap
installs the Python libselinux wrappers in this directory.
Therefore what you describe is actually the expected behavior of $(DESTDIR)
unless I missed something. How are you using $(DESTDIR)
?
from selinux.
I execute the following as part of a build with Buildroot building libselinux as a host tool used for policy debugging.
# Install python interface wrapper
PATH="/home/user/powerpc_defconfig/host/bin:/home/user/powerpc_defconfig/host/sbin:/home/user/powerpc_defconfig/host/usr/bin:/home/user/powerpc_defconfig/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" PKG_CONFIG="/home/user/powerpc_defconfig/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/user/powerpc_defconfig/host/usr/lib/pkgconfig:/home/user/powerpc_defconfig/host/usr/share/pkgconfig" /usr/bin/make -j64 -C /home/user/powerpc_defconfig/build/host-libselinux-2.6 PATH="/home/user/powerpc_defconfig/host/bin:/home/user/powerpc_defconfig/host/sbin:/home/user/powerpc_defconfig/host/usr/bin:/home/user/powerpc_defconfig/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" PKG_CONFIG="/home/user/powerpc_defconfig/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/user/powerpc_defconfig/host/usr/lib/pkgconfig:/home/user/powerpc_defconfig/host/usr/share/pkgconfig" AR="/usr/bin/ar" AS="/usr/bin/as" LD="/usr/bin/ld" NM="/usr/bin/nm" CC="/usr/bin/gcc" GCC="/usr/bin/gcc" CXX="/usr/bin/g++" CPP="/usr/bin/cpp" OBJCOPY="/usr/bin/objcopy" RANLIB="/usr/bin/ranlib" CPPFLAGS="-I/home/user/powerpc_defconfig/host/usr/include" CFLAGS="-O2 -I/home/user/powerpc_defconfig/host/usr/include" CXXFLAGS="-O2 -I/home/user/powerpc_defconfig/host/usr/include" LDFLAGS="-L/home/user/powerpc_defconfig/host/lib -L/home/user/powerpc_defconfig/host/usr/lib -Wl,-rpath,/home/user/powerpc_defconfig/host/usr/lib" INTLTOOL_PERL=/usr/bin/perl LDFLAGS="-L/home/user/powerpc_defconfig/host/lib -L/home/user/powerpc_defconfig/host/usr/lib -Wl,-rpath,/home/user/powerpc_defconfig/host/usr/lib -lpcre -lpthread" PYINC="-I/home/user/powerpc_defconfig/host/usr/include/python3.6m/" PYTHONLIBDIR="-L/home/user/powerpc_defconfig/host/usr/lib/python3.6/" PYLIBVER="python3.6" SWIG_LIB="/home/user/powerpc_defconfig/host/usr/share/swig/3.0.10/" DESTDIR=/home/user/powerpc_defconfig/host install-pywrap
/usr/bin/make -C src install-pywrap
test -d /home/user/powerpc_defconfig/host/home/user/powerpc_defconfig/host/usr/lib/python3.6/site-packages/selinux || install -m 755 -d /home/user/powerpc_defconfig/host/home/user/powerpc_defconfig/host/usr/lib/python3.6/site-packages/selinux
install -m 755 python_selinux.so /home/user/powerpc_defconfig/host/home/user/powerpc_defconfig/host/usr/lib/python3.6/site-packages/_selinux.so
install -m 755 pythonaudit2why.so /home/user/powerpc_defconfig/host/home/user/powerpc_defconfig/host/usr/lib/python3.6/site-packages/selinux/audit2why.so
install -m 644 selinux.py /home/user/powerpc_defconfig/host/home/user/powerpc_defconfig/host/usr/lib/python3.6/site-packages/selinux/__init__.py
```
from selinux.
It seems that the Buildroot Makefile (https://git.busybox.net/buildroot/tree/package/libselinux/libselinux.mk?id=f4ba984ade64541fdfbfaa15a4aebed67c41abbf) defines many variables in order to build in a directory. Why is PYSITEDIR
not defined too?
More precisely, it currently defines PYLIBVER
which has been removed when PYSITEDIR
has been introduced, in 8162f10. Defining PYSITEDIR
to /usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages
in Buildroot's libselinux.mk
should solve the issue you have.
from selinux.
from selinux.
Related Issues (20)
- semanage_get_lock fails on NFSv4 filesystems HOT 1
- Python 3.11 support HOT 4
- manual setting HOT 2
- bad gpg signature HOT 4
- checkpolicy compilation error HOT 4
- selinux_restorecon.c comparison between signed and unsigned integer expressions
- Scope of boolean 'httpd_can_network_connect' & Django SELinux permissions
- libsepol:The libsepol package detects memory leaks and segmentation errors when tested by OSS-fuzz. HOT 4
- How Do I Select a Proper Number of Threads for Labeling? HOT 2
- Can use macro parameter for filecon path statment? HOT 1
- restore.c:(.text+0x229): undefined reference to `selinux_restorecon_parallel' HOT 1
- selinux-activate not working on RaspbianOS bullseye (version 11) HOT 1
- "semanage export" does not handle port definition modifications properly
- libselinux: off-by-one in setcon() family
- Question Regarding "semanage boolean": HOT 5
- Non-cached is_selinux_enabled() variant? HOT 1
- selinux 3.6 fails to compile against latest versions of musl HOT 1
- libselinux: selabel_digest -b x/media/db error HOT 1
- libsepol: new "all" op verifier in 3.6 does not check classcommon perms HOT 3
- Should ignoredirs apply to all subdirectories? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from selinux.