I'm not shure if it could be implemented in an eclass or it's an emerge bug. It seems to me that just building binaries (emerge --buildpkgonly) should skip downgrade protection, as no potential damage exists. Reproducible: Always Steps to Reproduce: 1.emerge -B =x11-libs/qt-core-4.6.2-r1 Actual Results: * qt-everywhere-opensource-src-4.6.2.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * Package: x11-libs/qt-core-4.6.2-r1 * Repository: gentoo * Maintainer: qt@gentoo.org * USE: elibc_glibc exceptions glib iconv kernel_linux pch qt3support ssl userland_GNU x86 * FEATURES: sandbox * Sanity check to keep you from breaking your system: * Downgrading Qt is completely unsupported and will break your system! * ERROR: x11-libs/qt-core-4.6.2-r1 failed (setup phase): * aborting to save your system * * Call stack: * ebuild.sh, line 56: Called pkg_setup * qt-core-4.6.2-r1.ebuild, line 69: Called qt4-build_pkg_setup * qt4-build.eclass, line 80: Called die * The specific snippet of code: * die "aborting to save your system" * * If you need support, post the output of 'emerge --info =x11-libs/qt-core-4.6.2-r1', * the complete build log and the output of 'emerge -pqv =x11-libs/qt-core-4.6.2-r1'. * The complete build log is located at '/var/tmp/portage/x11-libs/qt-core-4.6.2-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-libs/qt-core-4.6.2-r1/temp/die.env'. * S: '/var/tmp/portage/x11-libs/qt-core-4.6.2-r1/work/qt-everywhere-opensource-src-4.6.2'
The eclass contains: # @MAINTAINER: # Ben de Groot <yngwin@gentoo.org>, # Markos Chandras <hwoarang@gentoo.org>, # Caleb Tennis <caleb@gentoo.org> # Alex Alexander <wired@gentoo.org> Wouldn't that be nicer with @AUTHOR:, with @MAINTAINER: <qt@gentoo.org>? It looks like various eclasses use different approaches - it's just that I would think assigning to qt@ works better than assigning to four separate developers.
(In reply to comment #1) > The eclass contains: > > # @MAINTAINER: > # Ben de Groot <yngwin@gentoo.org>, > # Markos Chandras <hwoarang@gentoo.org>, > # Caleb Tennis <caleb@gentoo.org> > # Alex Alexander <wired@gentoo.org> > > Wouldn't that be nicer with @AUTHOR:, with @MAINTAINER: <qt@gentoo.org>? It > looks like various eclasses use different approaches - it's just that I would > think assigning to qt@ works better than assigning to four separate developers. Yes indeed.
The sanity check prevents to get a crippled system. The only way to downgrade is to remove Qt altogether and merge again. This is true for source and binary downgrades. So conclusion for binaries is: Remove all x11-libs/qt-* packages and merge those what binpkg wants to merge.