Add buildroot 2018-02
This commit is contained in:
69
buildroot/package/setools/setools.mk
Normal file
69
buildroot/package/setools/setools.mk
Normal file
@@ -0,0 +1,69 @@
|
||||
################################################################################
|
||||
#
|
||||
# setools
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SETOOLS_VERSION = 4.1.1
|
||||
SETOOLS_SITE = $(call github,TresysTechnology,setools,$(SETOOLS_VERSION))
|
||||
SETOOLS_DEPENDENCIES = libselinux libsepol python-setuptools host-bison host-flex host-swig
|
||||
SETOOLS_INSTALL_STAGING = YES
|
||||
SETOOLS_LICENSE = GPL-2.0+, LGPL-2.1+
|
||||
SETOOLS_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL
|
||||
SETOOLS_SETUP_TYPE = setuptools
|
||||
HOST_SETOOLS_DEPENDENCIES = host-libselinux host-libsepol
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON3),y)
|
||||
SETOOLS_PYLIBVER = python$(PYTHON3_VERSION_MAJOR)
|
||||
else
|
||||
SETOOLS_PYLIBVER = python$(PYTHON_VERSION_MAJOR)
|
||||
SETOOLS_DEPENDENCIES += python-enum34
|
||||
endif
|
||||
|
||||
define SETOOLS_FIX_SETUP
|
||||
# By default, setup.py will look for libsepol.a in the host machines
|
||||
# /usr/lib directory. This needs to be changed to the staging directory.
|
||||
$(SED) "s@base_lib_dirs =.*@base_lib_dirs = ['$(STAGING_DIR)/usr/lib']@g" \
|
||||
$(@D)/setup.py
|
||||
endef
|
||||
SETOOLS_POST_PATCH_HOOKS += SETOOLS_FIX_SETUP
|
||||
|
||||
define HOST_SETOOLS_FIX_SETUP
|
||||
# By default, setup.py will look for libsepol.a in the host machines
|
||||
# /usr/lib directory. This needs to be changed to the host directory.
|
||||
$(SED) "s@base_lib_dirs =.*@base_lib_dirs = ['$(HOST_DIR)/lib']@g" \
|
||||
$(@D)/setup.py
|
||||
endef
|
||||
HOST_SETOOLS_POST_PATCH_HOOKS += HOST_SETOOLS_FIX_SETUP
|
||||
|
||||
# sedta and seinfoflow depend on python-networkx. This package is not
|
||||
# available in buildroot.
|
||||
define SETOOLS_REMOVE_BROKEN_SCRIPTS
|
||||
$(RM) $(TARGET_DIR)/usr/bin/sedta
|
||||
$(RM) $(TARGET_DIR)/usr/bin/seinfoflow
|
||||
endef
|
||||
SETOOLS_POST_INSTALL_TARGET_HOOKS += SETOOLS_REMOVE_BROKEN_SCRIPTS
|
||||
|
||||
# apol requires pyqt5. However, the setools installation
|
||||
# process will install apol even if pyqt5 is missing.
|
||||
# Remove these scripts from the target it pyqt5 is not selected.
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYQT5),)
|
||||
define SETOOLS_REMOVE_QT_SCRIPTS
|
||||
$(RM) $(TARGET_DIR)/usr/bin/apol
|
||||
$(RM) -r $(TARGET_DIR)/lib/$(SETOOLS_PYLIBVER)/site-packages/setoolsgui/
|
||||
endef
|
||||
SETOOLS_POST_INSTALL_TARGET_HOOKS += SETOOLS_REMOVE_QT_SCRIPTS
|
||||
endif
|
||||
|
||||
# sedta and seinfoflow depend on python-networkx. This package is not
|
||||
# available in buildroot. pyqt5 is not a host-package, remove apol
|
||||
# from the host directory as well.
|
||||
define HOST_SETOOLS_REMOVE_BROKEN_SCRIPTS
|
||||
$(RM) $(HOST_DIR)/bin/sedta
|
||||
$(RM) $(HOST_DIR)/bin/seinfoflow
|
||||
$(RM) $(HOST_DIR)/bin/apol
|
||||
endef
|
||||
HOST_SETOOLS_POST_INSTALL_HOOKS += HOST_SETOOLS_REMOVE_BROKEN_SCRIPTS
|
||||
|
||||
$(eval $(python-package))
|
||||
$(eval $(host-python-package))
|
||||
Reference in New Issue
Block a user