summaryrefslogtreecommitdiffstats
path: root/recipes-security/selinux/selinux-python_3.5.bb
blob: 79125d06c5b560f3d969624c11c397432906ad70 (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
SUMMARY = "Python modules and various SELinux utilities."
DESCRIPTION = "\
This package contains Python modules sepolgen, sepolicy; And the \
SELinux utilities audit2allow, chcat, semanage ..."
SECTION = "base"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833"

require selinux_common.inc

inherit python3targetconfig

SRC_URI += "file://fix-sepolicy-install-path.patch \
           "

S = "${WORKDIR}/git/python"

DEPENDS = "libsepol libselinux gettext-native python3-setuptools-scm-native"

RDEPENDS:${PN} = "\
        python3-core \
        python3-codecs \
        python3-io \
        python3-ipy \
        python3-stringold \
        python3-syslog \
        python3-unixadmin \
        libselinux-python \
        libsemanage-python \
        setools \
"
RDEPENDS:${PN}-audit2allow = "\
        python3-core \
        libselinux-python \
        ${PN}-sepolgen \
"
RDEPENDS:${PN}-chcat = "\
        python3-core \
        python3-codecs \
        python3-shell \
        python3-stringold \
        python3-unixadmin \
        libselinux-python \
        ${PN} \
"
RDEPENDS:${PN}-semanage = "\
        python3-core \
        python3-ipy \
        python3-compression \
        python3-xml \
        python3-misc \
        libselinux-python \
        audit-python \
        ${PN} \
"
RDEPENDS:${PN}-sepolicy = "\
        binutils \
        python3-core \
        python3-codecs \
        python3-distro \
        python3-syslog \
        python3-multiprocessing \
        ${PN} \
"
RDEPENDS:${PN}-sepolgen-ifgen = "\
        python3-core \
        libselinux-python \
"

PACKAGES =+ "\
        ${PN}-audit2allow \
        ${PN}-sepolgen-ifgen \
        ${PN}-chcat \
        ${PN}-semanage \
        ${PN}-sepolgen \
        ${PN}-sepolicy \
"
FILES:${PN}-audit2allow = "\
        ${bindir}/audit2allow \
        ${bindir}/audit2why \
"
FILES:${PN}-chcat = "\
        ${bindir}/chcat \
"
FILES:${PN}-semanage = "\
        ${sbindir}/semanage \
        ${datadir}/bash-completion/completions/semanage \
"
# The ${bindir}/sepolgen is a symlink to ${bindir}/sepolicy
FILES:${PN}-sepolicy = "\
        ${bindir}/sepolgen \
        ${bindir}/sepolicy \
        ${datadir}/bash-completion/completions/sepolicy \
"
FILES:${PN}-sepolgen-ifgen = "\
        ${bindir}/sepolgen-ifgen \
        ${bindir}/sepolgen-ifgen-attr-helper \
"
FILES:${PN}-sepolgen = "\
        ${PYTHON_SITEPACKAGES_DIR}/sepolgen* \
        ${localstatedir}/lib/sepolgen/perm_map \
"

FILES:${PN} += "\
        ${PYTHON_SITEPACKAGES_DIR}/seobject.py* \
        ${PYTHON_SITEPACKAGES_DIR}/sepolicy*.dist-info \
        ${PYTHON_SITEPACKAGES_DIR}/sepolicy/* \
"

do_install() {
    oe_runmake DESTDIR="${D}" \
        PYLIBVER='python${PYTHON_BASEVERSION}' \
        PYTHONLIBDIR='${PYTHON_SITEPACKAGES_DIR}' \
        install

    # Remove .pyc files
    find ${D} -name *.pyc -delete

    # Fix buildpaths issue
    sed -i -e 's,${WORKDIR},,g' \
        ${D}${PYTHON_SITEPACKAGES_DIR}/sepolicy-${PV}.dist-info/direct_url.json
}