Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 128486 - Failing collision protect check runs src_install again with next ebuild <ebuild> merge
Summary: Failing collision protect check runs src_install again with next ebuild <ebui...
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-02 03:05 UTC by Petteri Räty (RETIRED)
Modified: 2006-04-03 12:46 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 Petteri Räty (RETIRED) gentoo-dev 2006-04-02 03:05:11 UTC
betelgeuse@pena /mnt/checkouts/overlays/betelgeuse/dev-java/dummy $ sudo ebuild dummy-1.0.ebuild merge
Disabling noauto in features... merge disables it. (qmerge doesn't)
>>> checksums files   ;-) dummy-1.0.ebuild
>>> checksums files   ;-) files/digest-dummy-1.0
Could not find package xml-commons

>>> /mnt/checkouts/overlays/betelgeuse/dev-java/dummy/dummy-1.0.ebuild has been updated; recreating WORKDIR...
>>> Unpacking source...
/opt/blackdown-jdk-1.4.2.03
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/dummy-1.0 ...
>>> Source compiled.
bzip2: Output file environment.bz2 already exists.
>>> Test phase [not enabled]: dev-java/dummy-1.0

>>> Install dummy-1.0 into /var/tmp/portage/dummy-1.0/image/ category dev-java
 * src_install
>>> Completed installing dummy-1.0 into /var/tmp/portage/dummy-1.0/image/

man:
* checking 1 files for package collisions
existing file /usr/share/doc/acpid-1.0.4-r3/TODO.gz is not owned by this package
* spent 0.000181913375854 seconds checking for file collisions
* This package is blocked because it wants to overwrite
* files belonging to other packages (see messages above).
* If you have no clue what this is all about report it
* as a bug for this package on http://bugs.gentoo.org

package dev-java/dummy-1.0 NOT merged

No package files given... Grabbing a set.
betelgeuse@pena /mnt/checkouts/overlays/betelgeuse/dev-java/dummy $ sudo ebuild dummy-1.0.ebuild merge
Disabling noauto in features... merge disables it. (qmerge doesn't)
>>> checksums files   ;-) dummy-1.0.ebuild
>>> checksums files   ;-) files/digest-dummy-1.0
Could not find package xml-commons

>>> WORKDIR is up-to-date, keeping...
>>> Compiling source in /var/tmp/portage/dummy-1.0 ...
>>> Source compiled.
bzip2: Output file environment.bz2 already exists.
>>> Test phase [not enabled]: dev-java/dummy-1.0

>>> Install dummy-1.0 into /var/tmp/portage/dummy-1.0/image/ category dev-java
 * src_install
>>> Completed installing dummy-1.0 into /var/tmp/portage/dummy-1.0/image/

man:
* checking 1 files for package collisions
existing file /usr/share/doc/acpid-1.0.4-r3/TODO.gz is not owned by this package
* spent 0.000185966491699 seconds checking for file collisions
* This package is blocked because it wants to overwrite
* files belonging to other packages (see messages above).
* If you have no clue what this is all about report it
* as a bug for this package on http://bugs.gentoo.org

package dev-java/dummy-1.0 NOT merged

No package files given... Grabbing a set.

Fix:
There is no need to run collision protect twice.

Relevant src_install:
src_install() {
        einfo "src_install"
        dodir /usr/share/doc/acpid-1.0.4-r3/
        touch ${D}//usr/share/doc/acpid-1.0.4-r3/TODO.gz
}


Portage 2.1_pre7-r3 (default-linux/x86/2005.1, gcc-3.4.5, glibc-2.4-r1, 2.6.15-gentoo-r7 i686)
=================================================================
System uname: 2.6.15-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.12.0_pre16
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe -mfpmath=sse -ffast-math -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -pipe -mfpmath=sse -ffast-math -fomit-frame-pointer"
DISTDIR="/usr/src/distfiles"
FEATURES="autoaddcvs autoconfig ccache collision-protect confcache cvs distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict stricter verify-rdepend"
GENTOO_MIRRORS=" http://trumpetti.atm.tut.fi/gentoo  http://lame.lut.fi/linux/gentoo "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="fi"
MAKEOPTS="-j2"
PKGDIR="/home/pkg/"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/mnt/checkouts/overlays/betelgeuse /mnt/checkouts/gentooexperimental/gentoo-java-experimental"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 aac acl acpi alsa apm arts audiofile avi bash-completion berkdb bitmap-fonts bluetooth bzip2 bzlib cairo cdb cddb cdparanoia crypt cups dbus divx4linux dri dts dvd dvdr dvdread emboss esd ffmpeg firefox foomaticdb freetype gif gstreamer gtk2 hal isdnlog java jpeg kde kdeenablefinal libg++ libwww logitech-mouse mad makecheck mikmod mjpeg mmx mmx2 mp3 mpeg ncurses network nptl nptlonly nsplugin nvidia offensive ogg oggvorbis opengl pam pdflib png pppd qt quicktime readline real rtc samba spell sse sse2 ssl subversion svg symlink tcpd theora threads truetype truetype-fonts type1-fonts unicode usb userlocales vorbis win32codecs xcomposite xml xml2 xv xvid zlib elibc_glibc input_devices_mouse input_devices_keyboard kernel_linux linguas_fi userland_GNU video_cards_none video_cards_nvidia"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LDFLAGS
Comment 1 Harald van Dijk (RETIRED) gentoo-dev 2006-04-02 03:48:07 UTC
It does mark src_install as completed, but src_install is re-executed anyway. /var/tmp/portage/${P}/.installed exists afterwards, you can check this.

Anyway, install phase shouldn't (and doesn't) do a collision-protect check, this would fail for emerge --buildpkgonly / ebuild ... package. collision-protect check is done during merge phase, and since the merge phase failed for you the first time, it makes sense that it's executed a second time. Personally, I rather like that, I'd hate to have files overwritten with collision-protect just because I forgot that I already had a collision-protect report earlier and hadn't cleaned my /var/tmp/portage yet, which seems to be what you're asking for. To disable it, it's always possible to temporarily export FEATURES=-collision-protect.
Comment 2 Petteri Räty (RETIRED) gentoo-dev 2006-04-02 03:57:24 UTC
Well I would just like to see that I don't need to run src_install twice if collision-protect fails because a few packages have quite long make installs.  
Comment 3 Marius Mauch (RETIRED) gentoo-dev 2006-04-03 12:46:50 UTC
Use qmerge then. As said, collision-protect is run during the merge phase, and there isn't really a way to change this without changing the semantics of it fundamentally.
If you want portage to not repeat the install phase, well, that is nothing specific to collision-protect (and qmerge avoids that).