Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 531638 - sys-libs/libse{linux,manage} install .py files without installing .py[co] files
Summary: sys-libs/libse{linux,manage} install .py files without installing .py[co] files
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: SELinux (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jason Zaman
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 411063
  Show dependency tree
 
Reported: 2014-12-04 10:26 UTC by Jason Zaman
Modified: 2015-01-29 10:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Zaman gentoo-dev 2014-12-04 10:26:00 UTC
packages installing python files need to call python_optimize (when using python-utils-r1.eclass) or python_byte-compile_modules (when using python.eclass)

Failing to do this causes them to be generated randomly later which causes left over files or sandbox violations.

Before adding python_optimize:
# equery f libselinux | grep site-packages
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/selinux
/usr/lib64/python2.7/site-packages/selinux/__init__.py
/usr/lib64/python2.7/site-packages/selinux/_selinux.so
/usr/lib64/python2.7/site-packages/selinux/audit2why.so
/usr/lib64/python3.4/site-packages
/usr/lib64/python3.4/site-packages/selinux
/usr/lib64/python3.4/site-packages/selinux/__init__.py
/usr/lib64/python3.4/site-packages/selinux/_selinux.so
/usr/lib64/python3.4/site-packages/selinux/audit2why.so


After adding python_optimize:
# equery f libselinux | grep site-packages
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/selinux
/usr/lib64/python2.7/site-packages/selinux/__init__.py
/usr/lib64/python2.7/site-packages/selinux/__init__.pyc
/usr/lib64/python2.7/site-packages/selinux/__init__.pyo
/usr/lib64/python2.7/site-packages/selinux/_selinux.so
/usr/lib64/python2.7/site-packages/selinux/audit2why.so
/usr/lib64/python3.4/site-packages
/usr/lib64/python3.4/site-packages/selinux
/usr/lib64/python3.4/site-packages/selinux/__init__.py
/usr/lib64/python3.4/site-packages/selinux/__pycache__
/usr/lib64/python3.4/site-packages/selinux/__pycache__/__init__.cpython-34.pyc
/usr/lib64/python3.4/site-packages/selinux/__pycache__/__init__.cpython-34.pyo
/usr/lib64/python3.4/site-packages/selinux/_selinux.so
/usr/lib64/python3.4/site-packages/selinux/audit2why.so
Comment 1 Jason Zaman gentoo-dev 2014-12-04 11:02:09 UTC
committed libse{manage,linux} 2.3 with a revbump and committing the 2.4-rc ones without a revbump since there will be a new RC any day now so we'll bump it then.


RCS file: /var/cvsroot/gentoo-x86/sys-libs/libselinux/libselinux-2.4_rc6.ebuild,v
retrieving revision 1.1
diff -u -B -r1.1 libselinux-2.4_rc6.ebuild
--- libselinux-2.4_rc6.ebuild	14 Nov 2014 19:17:27 -0000	1.1
+++ libselinux-2.4_rc6.ebuild	4 Dec 2014 10:45:15 -0000
@@ -102,6 +102,7 @@
 	if multilib_is_native_abi && use python; then
 		installation() {
 			LIBDIR="\$(PREFIX)/$(get_libdir)" emake DESTDIR="${D}" install-pywrap
+			python_optimize # bug 531638
 		}
 		python_foreach_impl installation
 	fi
Comment 2 Eric Gisse 2014-12-04 22:56:34 UTC
Manually unmasking the packages in the respective ebuilds, rengerating the portage snapshot, and rebuilding the stage 3 worked for me. 

real    296m43.447s
user    265m35.760s
sys     175m27.030s

Note: I did tell the stage3 build to purge, so it was starting from scratch.

Works for me!
Comment 3 Jason Zaman gentoo-dev 2014-12-06 12:46:12 UTC
There are a few other packages that install python but do not call python_optimize, reopening.
Comment 4 Jason Zaman gentoo-dev 2014-12-06 23:36:31 UTC
policycoreutils and sepolgen have been bumped and python_optimize has been added. that is all packages now.