Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 40078 - gentoolkit-0.1.38 pkg-size returns bogus value on empty metapackages (fix included)
Summary: gentoolkit-0.1.38 pkg-size returns bogus value on empty metapackages (fix inc...
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage Tools Team
Depends on:
Reported: 2004-02-01 07:34 UTC by Francois Guimond
Modified: 2004-02-16 06:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---

patch to pkg-size (pkg-size.patch,649 bytes, patch)
2004-02-01 07:35 UTC, Francois Guimond
Details | Diff
refined patch to pkg-size (pkg-size.patch,449 bytes, patch)
2004-02-03 11:54 UTC, Francois Guimond
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Guimond 2004-02-01 07:34:31 UTC
When you attempt to get pkg-size for a metapackage (an empty package that only has
dependencies a-la "kde-base/kde-3.1.2", "media-sound/mad-0.15.0b", ...), pkg-size
will return a bogus value based on the current working directory.

Reproducible: Always
Steps to Reproduce:
1. Install an empty metapackage (several exist, kde, gnome or xfce4 should be
   already installed in most cases).
2. Call pkg-size on the installed package.

Actual Results:  
I was trying to see where space was wasted the most so I did a script to get all
package sizes and sort them.  Turns out I was doing this from /root so all
metapackages came out as the biggest packages (considering /root/.ccache is
quite large).

Expected Results:  
Obviously, those packages should return a size of 0.

Looked at pkg-size I see the problem is with the pipe to "xargs du -scb"...  this
works fine as long as stdin has content, but if stdin is empty (try "cat /dev/null
| xargs du -scb") it will default as if called on ".".  Just need to check for
non-zero contents first.  I'm including a patch that does this.

salamander root # emerge info
Portage 2.0.49-r21 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.22-gentoo-r5)
System uname: 2.4.22-gentoo-r5 i686 Pentium II (Deschutes)
Gentoo Base System version
distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
CFLAGS="-mcpu=pentium2 -O2 -pipe"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-mcpu=pentium2 -O2 -pipe"
FEATURES="autoaddcvs ccache distcc sandbox"
USE="3ds X aalib alsa apm arts artswrappersuid avi berkdb bonobo cdr cjk crypt
cscope cups dga doc dvb encode esd faad fbcon foomaticdb gatos gdbm ggi gif
gnome gpm gstreamer gtk gtk2 gtkhtml guile imlib java jpeg justify kde kerberos
lcms ldap libg++ libwww mad mbox mikmod mmx mng motif mozilla moznoirc mozsvg
mpeg nas ncurses nls objc oggvorbis openal opengl oss pam pdflib perl pic png
ppds python qt quicktime radeon readline ruby samba sdk sdl slang slp spell ssl
svga tcltk tcpd tetex tiff truetype vim-with-x wmf x86 xml xml2 xmms xv zlib"
Comment 1 Francois Guimond 2004-02-01 07:35:45 UTC
Created attachment 24745 [details, diff]
patch to pkg-size
Comment 2 Francois Guimond 2004-02-03 11:54:41 UTC
Created attachment 24897 [details, diff]
refined patch to pkg-size

First patch was silly...  xargs can be called with -r to do the exact same
thing I was writing out in scripting...  this patch just adds -r to the xargs
Comment 3 Marius Mauch (RETIRED) gentoo-dev 2004-02-16 06:22:32 UTC
deprecated tool, use `equery size package` instead