pkgsrc-Users archive


Re: How to reduce the cost of the ports collection?

    Date:        Fri, 25 Jun 2010 08:52:34 -0400
    From:        Greg Troxel <>
    Message-ID:  <>

  | I would expect that without the recursive clean, you'll have
  |   build package from source
  |     recurse to build a new dependency foo
  |   clean
  |   [new dependency foo is left unclean]

Yes, well, of course, if CLEANDEPENDS=yes isn't set, so things don't
get cleaned, stray stuff will be left around.   The question is why
the build system should be cleaning things when it hasn't been asked to do so.

  | One thing I've found with pkgsrc is that stale work directories cause
  | problems because at least at one point you can have foo-1.3 installed
  | and in workdir but foo source updated to 1.4.

Yes, I don't think anyone disputes that cleaning up is necessary,
it's just that the pkgsrc makefile overheads, while largely irrelevant
for actually building stuff compared to the build costs, are really
noticeable for cleaning - and so using a method outside pkgsrc for
cleaning is really an attractive idea.

  | A clearly-safe improvement would be to have the recursive make record
  | which dirs it recursed into and have recursive clean only clean those.
  | That should get speedup without leaving workdirs.

I suggested something like that (in a PR perhaps) some time ago, but the
suggestion wasn't taken very seriously.   It would certainly help avoid
the excessive cleaning that happens now, but "rm -fr ..." is still always
going to be lots quicker...


Home | Main Index | Thread Index | Old Index