Subject: pkg/10111: make clean CLEANDEPENDS=YES is very inefficient
To: None <gnats-bugs@gnats.netbsd.org>
From: None <dmcmahill@netbsd.org>
List: netbsd-bugs
Date: 05/13/2000 12:49:15
>Number: 10111
>Category: pkg
>Synopsis: make clean CLEANDEPENDS=YES is very inefficient
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat May 13 12:50:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:
>Release: 1.4.2<NetBSD-current source date>
>Organization:
>Environment:
System: NetBSD wayne.mit.edu 1.4.1 NetBSD 1.4.1 (WAYNE) #0: Sat Jan 8 15:00:10 EST 2000 mcmahill@wayne.mit.edu:/usr/src/sys/arch/i386/compile/WAYNE i386
>Description:
make clean CLEANDEPENDS=YES
works be recursively calling itself in each DEPENDS subdir. The effect is some pkgs are
cleaned over, and over, and over... This isn't a problem other than performance. It took
a couple of hours to do this from /usr/pkgsrc/devel/cervisia. An excerpt is:
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for jpeg-6b
===> Cleaning for tiff-3.5.5
===> Cleaning for kdelibs-1.1.2
===> Cleaning for xpm-3.4k
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for libungif-4.1.0
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for ncurses-5.0
===> Cleaning for kdebase-1.1.2
===> Cleaning for kdegraphics-1.1.2
===> Cleaning for gmake-3.78.1
===> Cleaning for gettext-0.10.35
===> Cleaning for gmake-3.78.1
===> Cleaning for Mesa-3.1
===> Cleaning for gmake-3.78.1
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for jpeg-6b
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for png-1.0.6
===> Cleaning for gmake-3.78.1
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for qt1-1.44
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for jpeg-6b
===> Cleaning for tiff-3.5.5
===> Cleaning for kdelibs-1.1.2
===> Cleaning for xpm-3.4k
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for libungif-4.1.0
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for ncurses-5.0
===> Cleaning for kdebase-1.1.2
===> Cleaning for gmake-3.78.1
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for gmake-3.78.1
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for qt1-1.44
===> Cleaning for qwspritefield-1.6
===> Cleaning for kdegames-1.1.2
===> Cleaning for gmake-3.78.1
===> Cleaning for gettext-0.10.35
===> Cleaning for gmake-3.78.1
===> Cleaning for Mesa-3.1
===> Cleaning for gmake-3.78.1
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for jpeg-6b
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for png-1.0.6
===> Cleaning for gmake-3.78.1
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for qt1-1.44
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for jpeg-6b
===> Cleaning for tiff-3.5.5
===> Cleaning for kdelibs-1.1.2
===> Cleaning for xpm-3.4k
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for libungif-4.1.0
===> Cleaning for pkglibtool-1.2p2
===> Cleaning for ncurses-5.0
===> Cleaning for kdebase-1.1.2
===> Cleaning for kdemultimedia-1.1.2
===> Cleaning for kde-1.1.2
>How-To-Repeat:
cd /usr/pkgsrc/x11/kde
make clean CLEANDEPENDS=YES
wait and wait and wait...
>Fix:
it would seem to be faster to make a complete list of all the pkgs which are
depended upon, then do something like
clean_list='echo $all_depends | sort | uniq'
for pkg in $cleanlist
do
cd /usr/pkgsrc/$pkg && make clean
done
I may end up picking this one up myself anyway, but won't have time for quite a bit.
>Release-Note:
>Audit-Trail:
>Unformatted: