* QA Notice: The 'hasq' function is deprecated (replaced by 'has') chown: invalid group: `root:portage' fowners failed * ERROR: app-admin/eselect-1.3 failed (install phase): * (no error message) * * Call stack: * ebuild.sh, line 85: Called call-ebuildshell 'src_install' * environment, line 140: Called src_install * environment, line 235: Called die * The specific snippet of code: * fowners root:portage /var/lib/gentoo/news || die; * * If you need support, post the output of 'emerge --info =app-admin/eselect-1.3', * the complete build log and the output of 'emerge -pqv =app-admin/eselect-1.3'. * The complete build log is located at '/opt/gentoo/var/tmp/portage/app-admin/eselect-1.3/temp/build.log'. * The ebuild environment file is located at '/opt/gentoo/var/tmp/portage/app-admin/eselect-1.3/temp/environment'. * S: '/opt/gentoo/var/tmp/portage/app-admin/eselect-1.3/work/eselect-1.3'
Index: eselect-1.3.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/app-admin/eselect/eselect-1.3.ebuild,v retrieving revision 1.1 diff -u -r1.1 eselect-1.3.ebuild --- eselect-1.3.ebuild 21 Jan 2012 19:02:55 -0000 1.1 +++ eselect-1.3.ebuild 9 Feb 2012 13:35:10 -0000 @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-admin/eselect/eselect-1.3.ebuild,v 1.1 2012/01/21 19:02:55 ulm Exp $ -EAPI=3 +EAPI=4 inherit bash-completion-r1 @@ -34,32 +34,34 @@ # vim-syntax? ( app-vim/eselect-syntax )" src_compile() { - emake || die + emake if use doc; then - emake html || die + emake html fi } src_install() { - emake DESTDIR="${D}" install || die - newbashcomp misc/${PN}.bashcomp ${PN} || die - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt || die + emake DESTDIR="${D}" install + newbashcomp misc/${PN}.bashcomp ${PN} + dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt if use doc; then - dohtml *.html doc/* || die + dohtml *.html doc/* fi # needed by news module keepdir /var/lib/gentoo/news - fowners root:portage /var/lib/gentoo/news || die - fperms g+w /var/lib/gentoo/news || die + use prefix || fowners root:portage /var/lib/gentoo/news + fperms g+w /var/lib/gentoo/news } pkg_postinst() { # fowners in src_install doesn't work for the portage group: # merging changes the group back to root [[ -z ${EROOT} ]] && local EROOT=${ROOT} - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" + if ! use prefix; then + chgrp portage "${EROOT}/var/lib/gentoo/news" \ + && chmod g+w "${EROOT}/var/lib/gentoo/news" + fi }
The portage group for news items is mandated by GLEP 42, so this cannot be changed in eselect. I could add an "enewgroup portage" to pkg_setup. But I thought baselayout-prefix would take care of this already? (In reply to comment #1) > -EAPI=3 > +EAPI=4 Eselect is a dependency of Portage, so doing this would obstruct the upgrade path for old systems.
(In reply to comment #2) > The portage group for news items is mandated by GLEP 42, so this cannot be > changed in eselect. > > I could add an "enewgroup portage" to pkg_setup. But I thought > baselayout-prefix would take care of this already? > > (In reply to comment #1) > > -EAPI=3 > > +EAPI=4 > > Eselect is a dependency of Portage, so doing this would obstruct the upgrade > path for old systems. Not all gentoo-prefix users are installing it using root permission :-(
Sorry eselect team. I triaged this bug poorly. yegle, installs fine for me. Even the fowners code does this: # PREFIX LOCAL: ignore otherwise failing call if hasq prefix ${USE} && [[ $EUID != 0 ]] ; then ewarn "fowners ignored in Prefix with non-privileged user" exit 0 fi # END PREFIX LOCAL So, you have some explaining to do because otherwise this is an invalid bug.
(In reply to comment #4) > Sorry eselect team. I triaged this bug poorly. > > yegle, installs fine for me. Even the fowners code does this: > > # PREFIX LOCAL: ignore otherwise failing call > if hasq prefix ${USE} && [[ $EUID != 0 ]] ; then > ewarn "fowners ignored in Prefix with non-privileged user" > exit 0 > fi > # END PREFIX LOCAL > > So, you have some explaining to do because otherwise this is an invalid bug. Hi Jeremy, Here's what happened: I installed Gentoo-prefix on computer A, then copied the whole $EPREFIX directory to computer B. This is what happened when I updating packages using root user on computer B.
Don't do that. There is no support for "moving" a prefix and many things will break.