pkgsrc-Bulk archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

redundant "make clean" when bulk building



The bulk builder start build of each package by doing "make clean"
in the prerequisite packages, and end the build of the package by
once again doing "make clean" in them.  I assume that this is to
ensure that there are no old work directories in case the build
of the package need to rebuild some of the prerequisites. Are
there other reasons?

I have two issues with this mechanism:

1. It is slow
   The combined time for the pre- and post-cleaning for a package
   such as x11/kde3-i18n-uk is about 1 minute on my amd64 box, and
   much more on my slower machines.

2. It does not work
   The dependency graph is calculated using "make show-depends-dirs"
   which makes it contain too few packages when you use PKGLIST.
   For example, setting PKGLIST=x11/kde3-i18n-uk will give you a
   list of 6 prerequisites, instead of the 58 prerequisites that
   are needed to build it.

But I don't understand what this mechanism buys us: issue 2 forces
me to do

  find /usr/pkgsrc -name work | xargs rm -rf

before starting a PKGLIST build, or some packages will fail.

On the other hand, packages that are in the prerequisites list have
already been built (and have thus cleaned up after themselves), so
the "make clean" of them is only wasting time.

So I think the pre- and post-cleaning of prerequisites can be
removed.  Or have I missed something? (if so, then I'd like to
change it to only clean the packages that will be rebuilt...)

I propose to fix issue 2 by creating a full dependency list for
the packages (i.e. packages reported by "make show-depends-dirs"
will automatically be prepended to PKGLIST during the dependency
graph creation).

Comments?

   /Krister



Home | Main Index | Thread Index | Old Index