Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Nov 2006 21:41:51 -0500
From:      Tom Rhodes <trhodes@FreeBSD.org>
To:        "Bruce A. Mah" <bmah@FreeBSD.org>
Cc:        freebsd-doc@FreeBSD.org
Subject:   Re: Install docs oddity
Message-ID:  <20061102214151.273c4ef8.trhodes@FreeBSD.org>
In-Reply-To: <454A9A72.4050005@freebsd.org>
References:  <454A9A72.4050005@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 02 Nov 2006 17:25:06 -0800
"Bruce A. Mah" <bmah@freebsd.org> wrote:

> This is a weird problem I ran into today.  Basically I was trying to do
> a "make install" from the top of the doc tree and it seemed to be taking
> a *really* long time.  When I looked at the output from make, it seemed
> to be iterating multiple times over the tree.
> 
> To see the problem, chdir to the top of a checked-out doc/ tree (I'm on
> RELENG_6 if that's relevant) and do:
> 
> 	% make -n install
> 
> If you look at the commands that would get executed, it looks like we
> recurse twice into each of the language subdirectories...first we hit
> every subdirectory with some commands like this:
> 
> echo "===> en_US.ISO8859-1"
> cd /usr/doc/en_US.ISO8859-1 &&  make install  DIRPRFX=en_US.ISO8859-1/
> 
> Then we do a big loop over all of the subdirectories like this:
> 
> for entry in en_US.ISO8859-1 bn_BD.ISO10646-1 da_DK.ISO8859-1
> de_DE.ISO8859-1 el_GR.ISO8859-7 es_ES.ISO8859-1 fr_FR.ISO8859-1
> it_IT.ISO8859-15 ja_JP.eucJP nl_NL.ISO8859-1 pl_PL.ISO8859-2
> pt_BR.ISO8859-1 ru_RU.KOI8-R sr_YU.ISO8859-2 tr_TR.ISO8859-9
> zh_CN.GB2312 zh_TW.Big5; do  if test -d /usr/doc/${entry}.i386; then
> echo "===> ${entry}.i386 (install)";  edir=${entry}.i386;  cd
> /usr/doc/${edir};  else  echo "===> $entry (install)";  edir=${entry};
> cd /usr/doc/${edir};  fi;  make install  DIRPRFX=$edir/;  done
> 
> If make insists on iterating over each directory of the tree twice every
> time it gets to it, then with our three-level doc tree hierarchy, the
> files for every document get installed to the target directory eight
> times.  :-(
> 
> The first set of commands above is defined by the _SUBDIRUSE target in
> doc.subdir.mk.  The loop is defined in bsd.subdir.mk, which gets
> included by doc.subdir.mk via bsd.obj.mk.
> 
> The attached patch removes the iteration over subdirectories in
> doc.subdir.mk and just relies on bsd.subdir.mk to handle subdirectories.
>  This seems to produce better behavior but I'm not sure if it's correct.
>  Any comments?

I can't find a patch in this email.  :(

But I do think a lot of our build needs re-written, the problem
is where to start and what do we want to accomplish.

-- 
Tom Rhodes



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061102214151.273c4ef8.trhodes>