On Tue, Aug 17, 2010 at 09:49:22PM +0200, Enrico Weigelt wrote

> I've just experimented a bit with that and it turned out that 
> --depclean doesn't clean up the buildtime-only deps. But if I
> remove one of them (eg. cabextract), they don't get pulled in again
> (that's indicating the depending ebuilds are written properly).

  This reminds me of a script I've been working on to remove unnecessary
cruft.  Everything that follows is run as root, because it runs
"emerge".  The attached script "autodepclean" parses the output from
"emerge --pretend --depclean" and generates a script "cleanscript" that
you can run to clean up your system.  This should handle your situation,
but it's also a general solution to the entire class of problems of
cleaning up when you remove all programs or USE flags that pull in a
lib.  It is not restricted to just HAL

  Warning, this script is beta.  Use with care.  It will remove
gentoo-sources versions higher than your current kernel.  This is
technically correct for removing unused ebuilds.  But it may not be what
you want.

-- 
Walter Dnes <waltd...@waltdnes.org>
#!/bin/bash
# autodepclean script v 0.01 released under GPL v3 by Walter Dnes 2010/08/18
# Generates a file "cleanscript" to remove unused ebuilds, including
# buildtime-only dependancies.
#
# Warning; this script is still beta.  I recommend that you check the output
# in cleanscript before running it.  It is agressive about removing unused
# gentoo-sources versions.  This includes those that are higher than your
# current kernel.  This is technically correct for removing unused ebuilds,
# but it may not be what you want.
#
echo "#!/bin/bash" > cleanscript
echo "#" > cleanscript.000
emerge --pretend --depclean |\
  grep -A1 "^ .*/" |\
  grep -v "^ \*" |\
  grep -v "^--" |\
  sed ":/: {
N
s:\n::
s/    selected: /-/
s/^ /emerge --depclean =/
}" >> cleanscript.000
while read
do
  echo "${REPLY}" >> cleanscript
  if [ "${REPLY:0:6}" == "emerge" ]; then
    echo "revdep-rebuild" >> cleanscript
  fi
done < cleanscript.000
chmod 744 cleanscript

Reply via email to