Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 537250 - dev-python/astropy-1.0.5 : file collision with dev-python/pyfits-3.3:0::gentoo
Summary: dev-python/astropy-1.0.5 : file collision with dev-python/pyfits-3.3:0::gentoo
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Astronomy project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-21 15:29 UTC by Toralf Förster
Modified: 2015-10-23 08:46 UTC (History)
2 users (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 Toralf Förster gentoo-dev 2015-01-21 15:29:46 UTC
* Detected file collision(s):
 * 
 * 	/usr/lib/python-exec/python3.3/fitscheck
 * 	/usr/lib/python-exec/python3.3/fitsdiff
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * dev-python/astropy-0.4:0::gentoo
 * 	/usr/lib/python-exec/python3.3/fitscheck
 * 	/usr/lib/python-exec/python3.3/fitsdiff
 * 
 * Package 'dev-python/pyfits-3.3' NOT merged due to file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.

 * GNU info directory index is up-to-date.


! ! !  This is a build bot chroot located at a hardened amd64 host ! ! !

Portage 2.2.15 (python 2.7.9-final-0, default/linux/amd64/13.0, gcc-4.9.2, glibc-2.20-r1, 3.18.2-hardened-r1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.2-hardened-r1-x86_64-Intel-R-_Core-TM-_i7-3770_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    16166860 total,   1533756 free
KiB Swap:   16777212 total,  16737100 free
Timestamp of tree: Tue, 20 Jan 2015 22:45:01 +0000
sh bash 4.3_p33
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.3_p33
dev-lang/perl:            5.20.1-r4
dev-lang/python:          2.7.9-r1, 3.3.5-r1, 3.4.2
dev-util/cmake:           3.1.0
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.10.3-r1, 1.11.6-r1, 1.13.4, 1.15
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.9.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.5
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.18 (virtual/os-headers)
sys-libs/glibc:           2.20-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/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="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--nospinner --tree --quiet-build --deep --jobs 1"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://gd.tuwien.ac.at/opsys/linux/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="acl amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 mbox mmx modules multilib ncurses nls nptl openmp pam pax_kernel pcre readline session sse sse2 ssl tcpd unicode zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" 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 ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


The build log is stored in /var/log/portage/_emerge_20150121-055415.log
The chroot image is amd64-unstable
Comment 1 Jeremy Stent 2015-07-30 14:42:32 UTC
This happens for me as well.  It seems like astropy may be bundling pyfits.
Comment 2 Fabian Kislat 2015-07-31 22:37:15 UTC
(In reply to Jeremy Stent from comment #1)
> This happens for me as well.  It seems like astropy may be bundling pyfits.

It does. See the PyFITS homepage at http://www.stsci.edu/institute/software_hardware/pyfits. All functionality has been moved into astropy and separate pyfits will be discontinued.
Comment 3 Ian Delaney (RETIRED) gentoo-dev 2015-08-09 05:15:37 UTC
Would the solution not be to unbundle pyfits from astropy?  Sadly the practice of bundling internal versions of such deps appears popular to some upstream developers. There are others packages known to require unbundling  of deps.
Comment 4 Justin Lecher (RETIRED) gentoo-dev 2015-10-22 06:45:27 UTC
Upstream:

"
Important notice regarding the future of PyFITS
All of the functionality of PyFITS is now available in Astropy as the astropy.io.fits package, which is now publicly available. 
"

So will add blockers.
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2015-10-22 08:33:28 UTC
commit 0c30e019f37c1039c111ad5f28c0480fc2356e38
Author: Justin Lecher <jlec@gentoo.org>
Date:   Thu Oct 22 08:50:53 2015 +0200
    
    dev-python/pyfits: Correctly block astropy
    
    Add missing die
    
    Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=537250
    
    Package-Manager: portage-2.2.23
    Signed-off-by: Justin Lecher <jlec@gentoo.org>
    
    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c30e019f37c1039c111ad5f28c0480fc2356e38
Comment 6 Justin Lecher (RETIRED) gentoo-dev 2015-10-22 08:41:41 UTC
commit 4208a457bd50bb4bbe1fc14c63da94ac218a4cc4
Author: Justin Lecher <jlec@gentoo.org>
Date:   Thu Oct 22 10:41:23 2015 +0200
    
    dev-python/astropy: Properly block dev-python/pyfits
    
    Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=537250
    
    Package-Manager: portage-2.2.23
    Signed-off-by: Justin Lecher <jlec@gentoo.org>
    
    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4208a457bd50bb4bbe1fc14c63da94ac218a4cc4
Comment 7 Joseph Booker 2015-10-22 18:28:58 UTC
astropy and pyfits do not collide except for their tools. This is the subject of bug 3500460. pyfits is needed for code that hasn't been updated to use astropy, such as astrometry in the science overlay.

The rename_binary operation in python_install_all was meant to fix this bug. pyfits-3.3 was last installed on my computer on 11/23/14 without file collisions. Removing the blockers and re-emerging leads to the same file collision as reported by Toralf.

Looking at $D:
anhur ~ # ls /var/tmp/portage/dev-python/pyfits-3.3/image/usr/bin/ /var/tmp/portage/dev-python/pyfits-3.3/image/usr/lib/python-exec/*
/var/tmp/portage/dev-python/pyfits-3.3/image/usr/bin/:
fitscheck-pyfits  fitsdiff-pyfits

/var/tmp/portage/dev-python/pyfits-3.3/image/usr/lib/python-exec/python2.7:
fitscheck-pyfits  fitsdiff-pyfits

/var/tmp/portage/dev-python/pyfits-3.3/image/usr/lib/python-exec/python3.3:
fitscheck  fitsdiff

/var/tmp/portage/dev-python/pyfits-3.3/image/usr/lib/python-exec/python3.4:
fitscheck  fitsdiff

/var/tmp/portage/dev-python/pyfits-3.3/image/usr/lib/python-exec/python3.5:
fitscheck  fitsdiff


It looks like the python_foreach_impl is only being run on the first of PYTHON_TARGETS (perhaps Toralf can confirm if his PYTHON_TARGETS="python2_7 python3_3" despite the file collisions being on the second target)
Comment 8 Justin Lecher (RETIRED) gentoo-dev 2015-10-23 07:49:47 UTC
(In reply to Joseph Booker from comment #7)
> astropy and pyfits do not collide except for their tools. This is the
> subject of bug 3500460. pyfits is needed for code that hasn't been updated
> to use astropy, such as astrometry in the science overlay.

Is there a newer version of astronomy so that we can bump?

> 
> The rename_binary operation in python_install_all was meant to fix this bug.
> pyfits-3.3 was last installed on my computer on 11/23/14 without file
> collisions. Removing the blockers and re-emerging leads to the same file
> collision as reported by Toralf.

That doesn't work correctly these days. How about dropping the scripts from pyfits on only leave the python modules in place? And depend on astropy for the scripts? Second option would be to add a compatibility symlink from the new to the old location. Would that work?
Comment 9 Justin Lecher (RETIRED) gentoo-dev 2015-10-23 08:46:27 UTC
commit 24ca06f2fd2768beb72ecc48bde5d8668c2faee7
Author: Justin Lecher <jlec@gentoo.org>
Date:   Fri Oct 23 10:33:47 2015 +0200
    
    dev-python/pyfits: Fix app renamin and
    
    Release Blocker against astropy
    
    Package-Manager: portage-2.2.23
    Signed-off-by: Justin Lecher <jlec@gentoo.org>
    
    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24ca06f2fd2768beb72ecc48bde5d8668c2faee7

commit d4296a834101d12e04e9513b825f6dc5c9617587
Author: Justin Lecher <jlec@gentoo.org>
Date:   Fri Oct 23 10:20:44 2015 +0200
    
    dev-python/astropy: Release Blocker against pyfits
    
    Package-Manager: portage-2.2.23
    Signed-off-by: Justin Lecher <jlec@gentoo.org>
    
    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4296a834101d12e04e9513b825f6dc5c9617587