Bug 167277 - games-*, gnome-*, kde-* ebuilds abusing ROOT
Bug#: 167277 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: qa@gentoo.org Reported By: ciaran.mccreesh@googlemail.com
Component: Applications
URL: 
Summary: games-*, gnome-*, kde-* ebuilds abusing ROOT
Keywords:  
Status Whiteboard: 
Opened: 2007-02-16 21:42 0000
Description:   Opened: 2007-02-16 21:42 0000
Some notes on ROOT:

* The idea behind ROOT is that one can build a system with ROOT=/somewhere and
then chroot into it or tar up /somewhere as a system image. It is not designed
to allow the user to run /somewhere/usr/bin/foo.

* ROOT can't be used correctly in src_*, since ROOT might be different when
merging a binary package. For example, a binary package might be built with
ROOT=/ and then installed onto a system using ROOT=/somewhere.

* ROOT isn't used for library dependencies. When building, libraries, headers
etc. on / have to be used. Cross-compiling etc is done by configuring the
toolchain correctly, not by hacking ebuilds in a way that breaks binary
packages.

Summary of all mentioned herds:
  games gnome kde

Summary of all mentioned maintainers:
  Chris Gianelloni <wolf31o2@gentoo.org>

QA checks for package directory /games-action/clanbomber:
/games-action/clanbomber/clanbomber-1.05.ebuild
   32: append-flags -I${ROOT}/usr/include/clanlib-0.6.5
   33: append-ldflags -L${ROOT}/usr/lib/clanlib-0.6.5
herds:      games


QA checks for package directory /games-board/ggz-gtk-games:
/games-board/ggz-gtk-games/ggz-gtk-games-0.0.13.ebuild
   43: if [[ -f "${ROOT}/${GAMES_SYSCONFDIR}"/ggz/ggz.modules ]] ; then
   45: cp {"${ROOT}","${D}"}/"${GAMES_SYSCONFDIR}"/ggz/ggz.modules
herds:      games


QA checks for package directory /games-board/ggz-kde-games:
/games-board/ggz-kde-games/ggz-kde-games-0.0.13.ebuild
   41: if [[ -f ${ROOT}/${GAMES_SYSCONFDIR}/ggz/ggz.modules ]] ; then
   43: cp {"${ROOT}","${D}"}/"${GAMES_SYSCONFDIR}"/ggz/ggz.modules
herds:      games


QA checks for package directory /games-board/ggz-sdl-games:
/games-board/ggz-sdl-games/ggz-sdl-games-0.0.13.ebuild
   28: if [[ -f "${ROOT}/${GAMES_SYSCONFDIR}"/ggz/ggz.modules ]] ; then
   30: cp {"${ROOT}","${D}"}/"${GAMES_SYSCONFDIR}"/ggz/ggz.modules
herds:      games


QA checks for package directory /games-board/ggz-txt-client:
/games-board/ggz-txt-client/ggz-txt-client-0.0.13.ebuild
   41: if [[ -f "${ROOT}/${GAMES_SYSCONFDIR}"/ggz/ggz.modules ]] ; then
   43: cp {"${ROOT}","${D}"}/"${GAMES_SYSCONFDIR}"/ggz/ggz.modules
herds:      games


QA checks for package directory /games-fps/ut2004:
/games-fps/ut2004/ut2004-3369-r4.ebuild
   86: dosym "${dir}"/.manifest/${PN}.xml
"${ROOT}"/root/.loki/installed/${PN}.xml
herds:      games
maintainer: Chris Gianelloni <wolf31o2@gentoo.org>


QA checks for package directory /games-strategy/freecraft:
/games-strategy/freecraft/freecraft-1.18-r3.ebuild
   71: for f in $(grep ${GAMES_DATADIR}/${PN}/data/ccl/
${ROOT}/var/db/pkg/${fcmpver}/CONTENTS) ; do
herds:      games


QA checks for package directory /gnome-extra/gnome-games:
/gnome-extra/gnome-games/gnome-games-2.14.2.1.ebuild
   74: if [ -s "${ROOT}/var/lib/games/${basefile}" ]; then
/gnome-extra/gnome-games/gnome-games-2.16.2.ebuild
   76: if [ -s "${ROOT}/var/lib/games/${basefile}" ]; then
/gnome-extra/gnome-games/gnome-games-2.16.3.ebuild
   76: if [ -s "${ROOT}/var/lib/games/${basefile}" ]; then
herds:      gnome


QA checks for package directory /kde-base/kdeaddons:
/kde-base/kdeaddons/kdeaddons-3.5.5-r1.ebuild
   29: --with-extra-includes=${ROOT}$(db_includedir)"
/kde-base/kdeaddons/kdeaddons-3.5.5.ebuild
   27: --with-extra-includes=${ROOT}$(db_includedir)"
/kde-base/kdeaddons/kdeaddons-3.5.6-r1.ebuild
   36: --with-extra-includes=${ROOT}$(db_includedir)"
herds:      kde


QA checks for package directory /kde-base/kdesdk:
/kde-base/kdesdk/kdesdk-3.5.5.ebuild
   28: --with-extra-includes=${ROOT}$(db_includedir)"
/kde-base/kdesdk/kdesdk-3.5.6.ebuild
   28: --with-extra-includes=${ROOT}$(db_includedir)"
herds:      kde


QA checks for package directory /kde-base/noatun-plugins:
/kde-base/noatun-plugins/noatun-plugins-3.5.5.ebuild
   26: --with-extra-includes=${ROOT}$(db_includedir)"
/kde-base/noatun-plugins/noatun-plugins-3.5.6.ebuild
   26: --with-extra-includes=${ROOT}$(db_includedir)"
herds:      kde


QA checks for package directory /kde-base/pykde:
/kde-base/pykde/pykde-3.5.5-r1.ebuild
   36: local myconf="-d ${ROOT}/usr/$(get_libdir)/python${PYVER}/site-packages
\
   37: -v ${ROOT}/usr/share/sip \
/kde-base/pykde/pykde-3.5.5-r2.ebuild
   35: local myconf="-d ${ROOT}/usr/$(get_libdir)/python${PYVER}/site-packages
\
   36: -v ${ROOT}/usr/share/sip \
/kde-base/pykde/pykde-3.5.6.ebuild
   37: local myconf="-d ${ROOT}/usr/$(get_libdir)/python${PYVER}/site-packages
\
   38: -v ${ROOT}/usr/share/sip \
herds:      kde


QA checks for package directory /kde-misc/katalog:
/kde-misc/katalog/katalog-0.4.ebuild
   21: local myconf="kdeincludes=$(kde-config --prefix)/include
prefix=${ROOT}/usr "
herds:      kde


QA checks for package directory /kde-misc/kio-locate:
/kde-misc/kio-locate/kio-locate-0.4.4-r1.ebuild
   29: local myconf="kdeincludes=$(kde-config --prefix)/include
prefix=${ROOT}/usr "
/kde-misc/kio-locate/kio-locate-0.4.5.ebuild
   29: local myconf="kdeincludes=$(kde-config --prefix)/include
prefix=${ROOT}/usr "
herds:      kde

------- Comment #1 From Diego E. 'Flameeyes' Pettenò 2007-02-16 23:17:29 0000 -------
KDE done already.

------- Comment #2 From Tristan Heaven 2007-02-17 09:35:11 0000 -------
games done

------- Comment #3 From Daniel Gryniewicz 2007-02-18 03:23:46 0000 -------
So, gnome-games uses ${ROOT} to access the live filesystem to see if scorefiles
already exist, and if so, doesn't overwrite them.  What is the correct way to
do this?

------- Comment #4 From SpanKY 2007-02-18 03:27:32 0000 -------
the same way we do it in games.eclass ... pkg_preinst

------- Comment #5 From Daniel Gryniewicz 2007-02-18 03:47:19 0000 -------
Thanks for the pointer; the eclass was doing better.  Gnome fixed.