Subject: Re: mk/bulk/build questions
To: Jeremy C. Reed <reed@reedmedia.net>
From: Hubert Feyrer <hubert@feyrer.de>
List: tech-pkg
Date: 03/24/2005 11:29:23
On Wed, 23 Mar 2005, Jeremy C. Reed wrote:
> 1) I noticed that my .broken.html files include logs of builds of other
> packages. For example, converters/wv2/.broken.html also logs failed build
> of sysutils/fam.
>
> I also have a sysutils/fam/.broken.html which logs the same.
>
> It seems like the building of a specific package should only be logged in
> its own .broken.html. (So converters/wv2/.broken.html should only mention
> that sysutils/fam is marked failed, but don't attempt to build again.)
>
> Is that correct or incorrect behaviour? (Should the same build be logged
> twice?)

Looks incorrect to me. Not knowing what's in your wv2 build log, it sounds 
like it's rebuilding it's dependency (fam) first. Did you have "fam" in 
the list of pkgs that need building (saying that you only gave it a list 
of 130 pkgs to build)?

My guess is if fam is not in those list of 130 pkgs, then the bulk build 
framework won't consider building fam before wv2, explaining the behaviour 
you see.

Including unlisted dependencies in the build in such a situation makes 
sense to me. I have no idea how to implement it, given that our 
dependencies aren't transient any more, and that I have no clue on the 
code (I think Dan McMahill wrote that part).


> 2) I have several "Broken packages" listed on front page. Their
> .broken.html logs show that several dependencies are pkg_add'ed. And then
> at end if logs that one of the dependencies "seems broken and needs
> attention" and then marks the package as broken.
>
> (One example is net/ORBit which pkg_add's libtool-base, libiconv,
> gettext-lib, gettext-m4, gettext, gmake, and popt all before checking that
> libIDL is broken.)
>
> It seems it could be faster if one of the dependencies has a .broken.html
> file, then it should log that (like it did) but not waste time doing the
> pkg_add's for the others before that.

Heh, would be nice if, but that's not how pkgsrc works right now: When 
installing depends, it will install one after the other, and then only 
detect the last one failing.

There's something similar in pkg_add, look for "quick depends pre-check".

The code in pkg_add is effectively rendered useless after pkgs only list 
their direct depends, but not anything further down the tree, and due to 
this, adding a similar check to pkgsrc would also require some recursive 
descending, which may be very expensive. :(


> Is there any option to define to make it check for all dependencies'
> .broken.html files before any pkg_add?

No, see above.


  - Hubert

-- 
NetBSD - Free AND Open!      (And of course secure, portable, yadda yadda)