[v2][meta-selinux][PATCH 1/2] selinux-python: remove all RECORD files
Zhixiong Chi <[email protected]>
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <[email protected]> |
Python modules install metadata into a .dist-info directory, one of which is RECORD, which contains the files that were installed and their checksum[1]. This is typically used by pip to validate the install, or to know what files to remove when the module is uninstalled. This is slightly problematic when we need to do patching of installed .py files in do_install(), as the RECORD file has already been written at that point. However, the RECORD files only really have a use outside of a system- managed environment, which our python packages are. We already have commands to verify and remove modules (opkg, dpkg, rpm) and the RECORD file existing simply allows people to 'sudo pip' and alter the package- managed directories outside of the package manager. This is not a good idea, and some other distros remove the RECORD file to stop this possibility: - Debian[2] - Fedora[3] - Gentoo[4] [1] https://peps.python.org/pep-0491/#the-dist-info-directory [2] https://salsa.debian.org/python-team/tools/dh-python/-/blob/master/dhpython/fs.py?ref_type=heads#L185 [3] https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/rawhide/f/macros.pyproject#_105 [4] https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73c49f3c00415dee99407dabba8d3b22895c9d25 Signed-off-by: Zhixiong Chi <[email protected]> --- recipes-security/selinux/selinux-python_3.10.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes-security/selinux/selinux-python_3.10.bb b/recipes-security/selinux/selinux-python_3.10.bb index 7a4b781..61abd77 100644 --- a/recipes-security/selinux/selinux-python_3.10.bb +++ b/recipes-security/selinux/selinux-python_3.10.bb @@ -122,8 +122,11 @@ do_install() { # Remove .pyc files find ${D} -name *.pyc -delete + # Remove RECORD file + find ${D} -path *.dist-info/RECORD -delete # Fix buildpaths issue sed -i -e 's,${WORKDIR},,g' \ ${D}${PYTHON_SITEPACKAGES_DIR}/sepolicy-${PV}.dist-info/direct_url.json + } -- 2.49.0