ffaa99c7ffa0fd01bb9e584385cfa56ea3d80017
[feed/packages.git] / utils / selinux-python / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=selinux-python
9 PKG_VERSION:=3.2
10 PKG_RELEASE:=1
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
13 PKG_SOURCE_URL:=https://github.com/SELinuxProject/selinux/releases/download/$(PKG_VERSION)
14 PKG_HASH:=770855ea8120ef23007fdb9db94b1ed6e8cd77917b584ed8877bbee9c16e74fb
15
16 PKG_MAINTAINER:=Thomas Petazzoni <thomas.petazzoni@bootlin.com>
17 PKG_LICENSE:=GPL-2.0-only
18 PKG_LICENSE_FILES:=COPYING
19 PYTHON3_PKG_BUILD:=0
20 PKG_INSTALL:=1
21
22 include $(INCLUDE_DIR)/package.mk
23 include ../../lang/python/python3-package.mk
24
25 #
26 # common definitions
27 #
28
29 define Package/selinux-python/Default
30 SECTION:=utils
31 DEPENDS:=+python3 +python3-libselinux
32 CATEGORY:=Utilities
33 URL:=http://selinuxproject.org/page/Main_Page
34 endef
35
36 define Package/selinux-python/Default/description
37 A set of SELinux tools written in python that help with
38 managing a system with SELinux enabled.
39 endef
40
41 MAKE_VARS = \
42 PYTHON=$(HOST_PYTHON3_BIN) \
43 PYTHONLIBDIR=$(PYTHON3_PKG_DIR) \
44 $(PYTHON3_VARS)
45
46 define Build/Compile
47 $(call Build/Compile/Default,all)
48 endef
49
50 #
51 # selinux-audit2allow
52 #
53
54 define Package/selinux-audit2allow
55 $(call Package/selinux-python/Default)
56 TITLE:=selinux-audit2allow
57 DEPENDS+=+python3-sepolgen +libselinux +libsepol
58 endef
59
60 define Package/selinux-audit2allow/description
61 $(call Package/selinux-python/Default/description)
62 This package contains the audit2allow and audit2why tools.
63 endef
64
65 define Package/selinux-audit2allow/install
66 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/audit2allow DESTDIR=$(1) install
67 rm -rf $(1)/usr/share/man
68 endef
69
70 #
71 # selinux-chchat
72 #
73
74 define Package/selinux-chcat
75 $(call Package/selinux-python/Default)
76 TITLE:=selinux-chcat
77 endef
78
79 define Package/selinux-chcat/description
80 $(call Package/selinux-python/Default/description)
81 This package contains the chcat tool.
82 endef
83
84 define Package/selinux-chcat/install
85 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/chcat DESTDIR=$(1) install
86 rm -rf $(1)/usr/share
87 endef
88
89 #
90 # selinux-semanage
91 #
92
93 define Package/selinux-semanage
94 $(call Package/selinux-python/Default)
95 TITLE:=selinux-semanage
96 DEPENDS+=+python3-sepolicy +python3-libsemanage +setools
97 endef
98
99 define Package/selinux-semanage/description
100 $(call Package/selinux-python/Default/description)
101 This package contains the semanage tool.
102 endef
103
104 define Package/selinux-semanage/install
105 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/semanage DESTDIR=$(1) install
106 rm -rf $(1)/usr/share
107 endef
108
109 #
110 # python3-sepolgen
111 #
112
113 define Package/python3-sepolgen
114 $(call Package/selinux-python/Default)
115 SUBMENU:=Python
116 SECTION:=lang
117 CATEGORY:=Languages
118 TITLE:=python3-sepolgen
119 endef
120
121 define Package/python3-sepolgen/description
122 $(call Package/selinux-python/Default/description)
123 This package contains the sepolgen Python library.
124 endef
125
126 define Package/python3-sepolgen/install
127 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/sepolgen DESTDIR=$(1) install
128 $(INSTALL_DIR) $(1)/usr/share/sepolgen/
129 $(INSTALL_DATA) $(1)/var/lib/sepolgen/perm_map $(1)/usr/share/sepolgen/perm_map
130 $(RM) -rf $(1)/var
131 endef
132
133 #
134 # python3-sepolicy
135 #
136
137 define Package/python3-sepolicy
138 $(call Package/selinux-python/Default)
139 SUBMENU:=Python
140 SECTION:=lang
141 CATEGORY:=Languages
142 TITLE:=python3-sepolicy
143 endef
144
145 define Package/python3-sepolicy/description
146 $(call Package/selinux-python/Default/description)
147 This package contains the sepolicy Python library.
148 endef
149
150 define Package/python3-sepolicy/install
151 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/sepolicy DESTDIR=$(1) install
152 rm -rf $(1)/usr/share
153 endef
154
155 $(eval $(call BuildPackage,selinux-audit2allow))
156 $(eval $(call BuildPackage,selinux-chcat))
157 $(eval $(call BuildPackage,selinux-semanage))
158 $(eval $(call BuildPackage,python3-sepolgen))
159 $(eval $(call BuildPackage,python3-sepolicy))