Summary: | dep-clean: /bin/fgrep: Argument list too long | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Patrick Naubert <patrickn> |
Component: | Unclassified | Assignee: | Dave Nellans <dave> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | l8nite, marduk, PJ, tester |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Patrick Naubert
2002-07-19 08:28:55 UTC
Problem is at line 182 and the script output 4783 parameters.. which seems a little too much... Hmm.. yes. It's a common bug in our bash scripts. Time to think up a really good solution to this one... *** Bug 6243 has been marked as a duplicate of this bug. *** A minor one, but I cannot reproduce it. I can't reproduce anymore either.. This just began happening to me today out of the blue. I have no idea what caused it. I seem to be able to reproduce it, as it occurs everytime I run dep- clean. Here is a log. -------- root@hive /port/profiles: dep-clean -vv Retrieving currently merged packages. 179 currently merged packages. Retrieving system packages. 91 packages contained in system. Preparing world file. 37 packages contained in world. Listing world and total dependencies. /usr/bin/dep-clean: /bin/fgrep: Argument list too long 96 packages contained in final image. These packages have no other packages depending on them. *SNIP* About 100 lines of packages installed on my PC *SNIP* Total of 88 unneeded packages. These packages are depended upon but are not present on the system. Tell emerge to run the ebuild command in grep: unrecognized option `--debug' Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. --debug mode. In this ebuilds and tbz2s *would* have been installed if grep: unrecognized option `--pretend' Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. --pretend ebuilds, or deps you specify on on the command-line *will* cause tell emerge to build binary packages for all ebuilds processed ... Total of 43 needed packages. These packages are installed but not in the portage tree. /usr/bin/dep-clean: /bin/fgrep: Argument list too long Total of 0 removed packages. root@hive /port/profiles: --------- Sorry for the long post, but I wanted to be sure you got all the info you needed. I have no idea if the "depended" msg is trying to tell me how to fix the problem, or if its just going nuts. I am running Gentoo 1.4rc1, with gcc 3.2. -PJ http://www.elitegamer.com Is has re-appeared exactly as described in comment #6... --- dep-clean.orig 2002-10-21 09:52:15.000000000 -0400 +++ dep-clean 2002-10-21 12:01:51.000000000 -0400 @@ -173,15 +173,28 @@ [ ${verb} ] && \ echo -e "${CY}Listing world and total dependencies.${NO}" +# This section rewritten by Paul Belt <gaarde at users dot sourceforge dot net> +# This was done to eliminate the limit of arguments fgrep can accept. qpkg -I -nc -vv | \ - grep ebuild | \ - fgrep "`cat ${tmp}/world`" | \ - cut -f5,6 -d"/" > ${tmp}/world.all - -cat ${tmp}/world.all | sed -e s:$:xxx: | \ - fgrep "`find /usr/portage/ -iname '*.ebuild'|cut -f4,6 -d/ | \ - sed -e s:\\.ebuild:xxx:`" | \ - sed -e "s:^:\\\=:" -e "s:xxx::" > ${tmp}/world.new + grep ebuild > ${tmp}/all_ebuilds + +for f in `cat /var/cache/edb/world`; do + grep $f ${tmp}/all_ebuilds \ + | cut -f5,6 -d"/" +done >> ${tmp}/world.all + +cat ${tmp}/world.all | sed -e 's:$:xxx:' > ${tmp}/world.all.2 + +find /usr/portage/ -iname '*.ebuild' \ +| cut -f4,6 -d'/' \ +| sed -e s:\\.ebuild:xxx: > ${tmp}/all.available + +for f in `cat ${tmp}/world.all.2`; do + grep $f ${tmp}/all.available \ + | sed -e 's:^:\\\=:' -e 's:xxx::' +done >> ${tmp}/world.new + +# End section This is integrated into portage now.
>=portage-2.0.41
'emerge depclean'
*** Bug 9359 has been marked as a duplicate of this bug. *** I have yet another patch; it should be faster as I only tell fgrep to read the regular expressions from a file in one nice swoop instead of grepping with one expression at a time.. Feel free not to use it.. =) http://outerspace.dyndns.org/html/personal_pages/xkr47/tmp/dep-clean-fgrep-fix.diff |