Looking for speed increases in "make index" and pkg_version for ports

Jeremy Lea reg at freebsd.org
Sun May 27 23:09:29 UTC 2007


Hi,

On Sun, May 27, 2007 at 03:30:48PM -0700, Jeremy Chadwick wrote:
> Does it need to be done this way?  Can we just iterate through all of
> the ports, call make -V _DEPEND_DIRS, then sort | uniq the results?

This is exactly what ALL-DEPENDS-LIST does.  Except it's faster.  It
keeps two lists and generates a third implictly, with a two more
temporary lists...  The first is $$L, which start cas _DEPEND_DIRS.  It
loops over L and for each directory ($$d) in $$L checks if it has
already been there (the ports dependencies are not a single list - a
port like gnome2 implicitly depends on libtool hundreds of times), and
skips it if it has, otherwise it adds it to $$checked, which is the list
of directories it has checked, and echo's it so it is added to the
result of ALL-DEPENDS-LIST.  It then does a make -V _DEPENDS_DIR in the
directory (getting $$children), which it then checks to make sure they
are not in the list of checked directories or directories to be checked. 
If they are not it adds them to $$l, the list of directories to check. 
Once it has done with the directories in $$L it sets $$L to $$l, and
starts over, until there are no more directories.

Regards,
  -Jeremy

-- 
FreeBSD - Because the best things in life are free...
                                           http://www.freebsd.org/


More information about the freebsd-ports mailing list