Once ftpbase has benn installed, I cannot reinstall it from a binary package. It complains about file collisions, but I think this is a ebuild logic error. Reinstalling with compilation (not by using a binary package) works fine. Reproducible: Always Steps to Reproduce: rm -f /etc/ftpusers /etc/pam.d/ftp emerge -1 --getbinpkg ftpbase emerge -1 --getbinpkg ftpbase Actual Results: ~ # rm -f /etc/ftpusers /etc/pam.d/ftp ~ # ls -l /etc/ftpusers /etc/pam.d/ftp ls: cannot access /etc/ftpusers: No such file or directory ls: cannot access /etc/pam.d/ftp: No such file or directory ~ # emerge -1 --getbinpkg ftpbase Calculating dependencies... done! >>> Emerging binary (1 of 1) net-ftp/ftpbase-0.01-r1 * ftpbase-0.01-r1.tbz2 MD5 SHA1 size ;-) ... [ ok ] >>> Extracting info * Checking for possible file collisions... ... [ ok ] >>> Extracting net-ftp/ftpbase-0.01-r1 >>> Installing (1 of 1) net-ftp/ftpbase-0.01-r1 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. ~ # ls -l /etc/ftpusers /etc/pam.d/ftp -rw-r--r-- 1 root root 407 Jan 8 10:25 /etc/ftpusers -rw-r--r-- 1 root root 747 Jan 8 10:25 /etc/pam.d/ftp ~ # emerge -1 --getbinpkg ftpbase Calculating dependencies... done! >>> Emerging binary (1 of 1) net-ftp/ftpbase-0.01-r1 * ftpbase-0.01-r1.tbz2 MD5 SHA1 size ;-) ... [ ok ] >>> Extracting info * Checking for possible file collisions... ... head: „/tmp/portage/net-ftp/ftpbase-0.01-r1/build-info/files/ftpusers“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden * /etc/ftpusers exists and was not provided by ftpbase-0.01 head: „/tmp/portage/net-ftp/ftpbase-0.01-r1/build-info/files/ftp-pamd“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden * /etc/pam.d/ftp exists and was not provided by ftpbase-0.01 * * Those files listed above have to be removed in order to * install this version of ftpbase. * * If you edited them, remember to backup and when restoring make * sure the first line in each file is: head: „/tmp/portage/net-ftp/ftpbase-0.01-r1/build-info/files/ftpusers“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden * [ !! ] * * ERROR: net-ftp/ftpbase-0.01-r1 failed. * Call stack: * ebuild.sh, line 49: Called pkg_setup * environment, line 2232: Called die * The specific snippet of code: * die "Can't be installed, files will collide"; * The die message: * Can't be installed, files will collide * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/tmp/portage/net-ftp/ftpbase-0.01-r1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/net-ftp/ftpbase-0.01-r1/temp/environment'. * >>> Failed to emerge net-ftp/ftpbase-0.01-r1, Log file: >>> '/tmp/portage/net-ftp/ftpbase-0.01-r1/temp/build.log' * Messages for package net-ftp/ftpbase-0.01-r1: * /etc/ftpusers exists and was not provided by ftpbase-0.01 * /etc/pam.d/ftp exists and was not provided by ftpbase-0.01 * * Those files listed above have to be removed in order to * install this version of ftpbase. * * If you edited them, remember to backup and when restoring make * sure the first line in each file is: * * * ERROR: net-ftp/ftpbase-0.01-r1 failed. * Call stack: * ebuild.sh, line 49: Called pkg_setup * environment, line 2232: Called die * The specific snippet of code: * die "Can't be installed, files will collide"; * The die message: * Can't be installed, files will collide * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/tmp/portage/net-ftp/ftpbase-0.01-r1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/net-ftp/ftpbase-0.01-r1/temp/environment'. * Expected Results: Package should be reinstalled ~ # emerge --info Portage 2.1.6.13 (default/linux/x86/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.29-gentoo-r6 i686) ================================================================= System uname: Linux-2.6.29-gentoo-r6-i686-QEMU_Virtual_CPU_version_0.10.50-with-gentoo-1.12.13 Timestamp of tree: Wed, 11 Nov 2009 01:45:03 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p28 dev-lang/python: 2.4.6, 2.5.4-r3, 2.6.2-r1 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=i686" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/eclean /etc/env.d /etc/gconf /etc/init.d /etc/openldap/schema /etc/portage/savedconfig /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=i686" DISTDIR="/tmp/portage/distfiles" FEATURES="buildpkg ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch usersandbox" GENTOO_MIRRORS="ftp://de-mirror.org/distro/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ " LANG="de_DE.utf-8" LC_ALL="de_DE.utf-8" LDFLAGS="-Wl,-O1" LINGUAS="de en" MAKEOPTS="-j2" PKGDIR="/srv/localhost/ftp/pub/packages/28b85d5d85038b9f" 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="/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="acl acpi apache2 bash-completion berkdb bzip2 cli cracklib crypt curl dri fortran gdbm gnutls iconv ipv6 jpeg kvm ldap logrotate mudflap nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses nls nptl nptlonly openmp pam pcre perl png postgres pppd python readline reflection session snmp spl sqlite3 sse sse2 ssl symlink sysfs tcpd unicode utils vim-syntax x86 xinetd xml 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
FILESDIR isn't valid in pkg_* See #152474 and <http://dev.gentoo.org/~tanderson/pms/eapi-2-approved/pms.html#TBL-11-27-1>. I guess we can remove the collision check?
(In reply to comment #1) > I guess we can remove the collision check? I can't see what makes these two files special from any other configuration files. IMHO we should rely on portage's normal configuration file handling facilities (dispach-conf and friends).
removing the collisions is fine _now_, but it's there because the code long predates these functions in portage
Collision protection inside ebuild removed in net-ftp/ftpbase-0.01-r2. I'm not going to maintain this package, just fixing a bug in unmaintained package that hit me too.