aboutsummaryrefslogtreecommitdiff
path: root/utils/selinux-python/Makefile
blob: ffaa99c7ffa0fd01bb9e584385cfa56ea3d80017 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=selinux-python
PKG_VERSION:=3.2
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
PKG_HASH:=770855ea8120ef23007fdb9db94b1ed6e8cd77917b584ed8877bbee9c16e74fb

PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PYTHON3_PKG_BUILD:=0
PKG_INSTALL:=1

include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk

#
# common definitions
#

define Package/selinux-python/Default
  SECTION:=utils
  DEPENDS:=+python3 +python3-libselinux
  CATEGORY:=Utilities
  URL:=http://selinuxproject.org/page/Main_Page
endef

define Package/selinux-python/Default/description
	A set of SELinux tools written in python that help with
	managing a system with SELinux enabled.
endef

MAKE_VARS = \
	PYTHON=$(HOST_PYTHON3_BIN) \
	PYTHONLIBDIR=$(PYTHON3_PKG_DIR) \
	$(PYTHON3_VARS)

define Build/Compile
	$(call Build/Compile/Default,all)
endef

#
# selinux-audit2allow
#

define Package/selinux-audit2allow
$(call Package/selinux-python/Default)
  TITLE:=selinux-audit2allow
  DEPENDS+=+python3-sepolgen +libselinux +libsepol
endef

define Package/selinux-audit2allow/description
$(call Package/selinux-python/Default/description)
  This package contains the audit2allow and audit2why tools.
endef

define Package/selinux-audit2allow/install
	$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/audit2allow DESTDIR=$(1) install
	rm -rf $(1)/usr/share/man
endef

#
# selinux-chchat
#

define Package/selinux-chcat
$(call Package/selinux-python/Default)
  TITLE:=selinux-chcat
endef

define Package/selinux-chcat/description
$(call Package/selinux-python/Default/description)
  This package contains the chcat tool.
endef

define Package/selinux-chcat/install
	$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/chcat DESTDIR=$(1) install
	rm -rf $(1)/usr/share
endef

#
# selinux-semanage
#

define Package/selinux-semanage
$(call Package/selinux-python/Default)
  TITLE:=selinux-semanage
  DEPENDS+=+python3-sepolicy +python3-libsemanage +setools
endef

define Package/selinux-semanage/description
$(call Package/selinux-python/Default/description)
  This package contains the semanage tool.
endef

define Package/selinux-semanage/install
	$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/semanage DESTDIR=$(1) install
	rm -rf $(1)/usr/share
endef

#
# python3-sepolgen
#

define Package/python3-sepolgen
$(call Package/selinux-python/Default)
  SUBMENU:=Python
  SECTION:=lang
  CATEGORY:=Languages
  TITLE:=python3-sepolgen
endef

define Package/python3-sepolgen/description
$(call Package/selinux-python/Default/description)
  This package contains the sepolgen Python library.
endef

define Package/python3-sepolgen/install
	$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/sepolgen DESTDIR=$(1) install
	$(INSTALL_DIR) $(1)/usr/share/sepolgen/
	$(INSTALL_DATA) $(1)/var/lib/sepolgen/perm_map $(1)/usr/share/sepolgen/perm_map
	$(RM) -rf $(1)/var
endef

#
# python3-sepolicy
#

define Package/python3-sepolicy
$(call Package/selinux-python/Default)
  SUBMENU:=Python
  SECTION:=lang
  CATEGORY:=Languages
  TITLE:=python3-sepolicy
endef

define Package/python3-sepolicy/description
$(call Package/selinux-python/Default/description)
  This package contains the sepolicy Python library.
endef

define Package/python3-sepolicy/install
	$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/sepolicy DESTDIR=$(1) install
	rm -rf $(1)/usr/share
endef

$(eval $(call BuildPackage,selinux-audit2allow))
$(eval $(call BuildPackage,selinux-chcat))
$(eval $(call BuildPackage,selinux-semanage))
$(eval $(call BuildPackage,python3-sepolgen))
$(eval $(call BuildPackage,python3-sepolicy))