Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 366203 - Disallow installation of "test" and "tests" in Python site-packages directories
Summary: Disallow installation of "test" and "tests" in Python site-packages directories
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-06 07:38 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2022-03-31 16:52 UTC (History)
4 users (show)

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


Attachments
Build log (dev-python/oauth2) (oauth2-1.5.169:20110505-172444.log,16.08 KB, text/plain)
2011-05-06 07:38 UTC, Diego Elio Pettenò (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2011-05-06 07:38:07 UTC
Created attachment 272275 [details]
Build log (dev-python/oauth2)

Portage 2.1.9.47 (default/linux/x86/10.0, gcc-4.6.0-asneeded, glibc-2.13-r2, 2.6.38.5 i686)
=================================================================
System uname: Linux-2.6.38.5-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.2
Timestamp of tree: Fri, 06 May 2011 02:00:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 3.1.4 [disabled]
app-shells/bash:          4.2_p8-r1
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.4.6, 2.7.1-r1, 3.1.3-r1
dev-util/ccache:          3.1.4
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21
sys-devel/gcc:            4.5.2, 4.6.0
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r2
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/tomoyo/conf /usr/share/bufrtables /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/openvpn/easy-rsa /usr/share/qpsmtpd/plugins /var/lib/hsqldb /var/phxd /var/yp/Makefile"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unknown-features-warn unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.wheel.sk/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/cache/portage/tree"
PORTDIR_OVERLAY=""
SYNC="rsync://yamato.home.flameeyes.eu/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap mysql ncurses nls nostatic nptl nptlonly openmp pam pcre pcsc-lite perl postgres pppd python qt3support readline ruby session ssl sysfs tcpd unicode vhosts x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest cgi" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 jruby ruby19 ree18" USERLAND="GNU" VIDEO_CARDS="intel radeon nouveau vmware" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-05-06 18:44:11 UTC
dev-python/oauth2-1.5.170 (added to the tree about 15 hours before this bug was filed) deletes tests in src_install()...

In case of upstream bug reports, I suggest to not install tests.
Comment 3 Dirkjan Ochtman (RETIRED) gentoo-dev 2011-05-07 12:22:45 UTC
Apparently papyon-0.5.5 should also fix this.
Comment 4 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-05-08 13:50:27 UTC
dev-python/papyon-0.5.5 was added to the tree (bug #366267) and fixes this bug.
Comment 5 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-05-08 13:52:53 UTC
I suggest that Portage disallow installation of:
/usr/lib(32|64)?/python[[:digit:]]+\.[[:digit:]]+/site-packages/test
/usr/lib(32|64)?/python[[:digit:]]+\.[[:digit:]]+/site-packages/tests
Comment 6 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-05-08 13:55:12 UTC
(In reply to comment #5)

I will implement this suggestion in bin/misc-functions.sh in next week if there are no objections.
Comment 7 Zac Medico gentoo-dev 2011-05-08 20:27:38 UTC
(In reply to comment #6)
> I will implement this suggestion in bin/misc-functions.sh in next week if there
> are no objections.

I would suggest something similar to the "QA Notice: This ebuild installs into the following deprecated directories:" eqaqarn message. It should be the job of the ebuild to remove these files. If the package manager actually removes the files, then it's entering the domain of PMS since all package managers will be expected to do it.
Comment 8 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-05-08 21:32:25 UTC
(In reply to comment #7)

I suggest to call die() without trying to remove these files.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2022-03-31 15:48:40 UTC
This is handled by distutils-r1.eclass since 2013:

commit 65d2ba5649fb2a2e7d1e9d5c33a5a7f835bada24
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2013-02-10 12:38:17 +0100
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2013-02-10 12:38:17 +0100

    Error out if "tests" package is installed. This is a common mistake and a source of file collisions.

(later extended to "test", "examples"...)

Technically, this doesn't cover ebuilds that do not use distutils-r1.eclass but I think that's a corner case that isn't worth the effort.  If we really consider this a problem, we can move the check from eclass to install-qa-check.d.