<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>167277</bug_id>
          
          <creation_ts>2007-02-16 21:42 0000</creation_ts>
          <short_desc>games-*, gnome-*, kde-* ebuilds abusing ROOT</short_desc>
          <delta_ts>2007-02-18 03:47:19 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>ciaran.mccreesh@googlemail.com</reporter>
          <assigned_to>qa@gentoo.org</assigned_to>
          <cc>gnome@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>ciaran.mccreesh@googlemail.com</who>
            <bug_when>2007-02-16 21:42:12 0000</bug_when>
            <thetext>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&apos;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&apos;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 &lt;wolf31o2@gentoo.org&gt;

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 &quot;${ROOT}/${GAMES_SYSCONFDIR}&quot;/ggz/ggz.modules ]] ; then
   45: cp {&quot;${ROOT}&quot;,&quot;${D}&quot;}/&quot;${GAMES_SYSCONFDIR}&quot;/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 {&quot;${ROOT}&quot;,&quot;${D}&quot;}/&quot;${GAMES_SYSCONFDIR}&quot;/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 &quot;${ROOT}/${GAMES_SYSCONFDIR}&quot;/ggz/ggz.modules ]] ; then
   30: cp {&quot;${ROOT}&quot;,&quot;${D}&quot;}/&quot;${GAMES_SYSCONFDIR}&quot;/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 &quot;${ROOT}/${GAMES_SYSCONFDIR}&quot;/ggz/ggz.modules ]] ; then
   43: cp {&quot;${ROOT}&quot;,&quot;${D}&quot;}/&quot;${GAMES_SYSCONFDIR}&quot;/ggz/ggz.modules
herds:      games


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


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 &quot;${ROOT}/var/lib/games/${basefile}&quot; ]; then
/gnome-extra/gnome-games/gnome-games-2.16.2.ebuild
   76: if [ -s &quot;${ROOT}/var/lib/games/${basefile}&quot; ]; then
/gnome-extra/gnome-games/gnome-games-2.16.3.ebuild
   76: if [ -s &quot;${ROOT}/var/lib/games/${basefile}&quot; ]; 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)&quot;
/kde-base/kdeaddons/kdeaddons-3.5.5.ebuild
   27: --with-extra-includes=${ROOT}$(db_includedir)&quot;
/kde-base/kdeaddons/kdeaddons-3.5.6-r1.ebuild
   36: --with-extra-includes=${ROOT}$(db_includedir)&quot;
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)&quot;
/kde-base/kdesdk/kdesdk-3.5.6.ebuild
   28: --with-extra-includes=${ROOT}$(db_includedir)&quot;
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)&quot;
/kde-base/noatun-plugins/noatun-plugins-3.5.6.ebuild
   26: --with-extra-includes=${ROOT}$(db_includedir)&quot;
herds:      kde


QA checks for package directory /kde-base/pykde:
/kde-base/pykde/pykde-3.5.5-r1.ebuild
   36: local myconf=&quot;-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=&quot;-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=&quot;-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=&quot;kdeincludes=$(kde-config --prefix)/include prefix=${ROOT}/usr &quot;
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=&quot;kdeincludes=$(kde-config --prefix)/include prefix=${ROOT}/usr &quot;
/kde-misc/kio-locate/kio-locate-0.4.5.ebuild
   29: local myconf=&quot;kdeincludes=$(kde-config --prefix)/include prefix=${ROOT}/usr &quot;
herds:      kde</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>flameeyes@gentoo.org</who>
            <bug_when>2007-02-16 23:17:29 0000</bug_when>
            <thetext>KDE done already.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nyhm@gentoo.org</who>
            <bug_when>2007-02-17 09:35:11 0000</bug_when>
            <thetext>games done</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dang@gentoo.org</who>
            <bug_when>2007-02-18 03:23:46 0000</bug_when>
            <thetext>So, gnome-games uses ${ROOT} to access the live filesystem to see if scorefiles already exist, and if so, doesn&apos;t overwrite them.  What is the correct way to do this?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2007-02-18 03:27:32 0000</bug_when>
            <thetext>the same way we do it in games.eclass ... pkg_preinst</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dang@gentoo.org</who>
            <bug_when>2007-02-18 03:47:19 0000</bug_when>
            <thetext>Thanks for the pointer; the eclass was doing better.  Gnome fixed.</thetext>
          </long_desc>
      
    </bug>

</bugzilla>