Re: [TEST] make -j patch [take 2]

From: Alexander Leidinger <Alexander_at_Leidinger.net>
Date: Sat, 13 Nov 2004 19:45:45 +0100
On Sat, 13 Nov 2004 18:37:23 +0200
Ruslan Ermilov <ru_at_freebsd.org> wrote:

portmgr explicitly CCed because of the possible impact on support
requests, fullquote to help those which aren't following the discussion.

> On Sat, Nov 13, 2004 at 09:22:15AM +0100, Alexander Leidinger wrote:
> > On Fri, 12 Nov 2004 17:11:37 +0100 (CET)
> > Harti Brandt <harti_at_freebsd.org> wrote:
> > 
> > > On Fri, 12 Nov 2004 Alexander_at_Leidinger.net wrote:
> > > 
> > > > Zitat von Harti Brandt <harti_at_freebsd.org>:
> > > >
> > > >> PK>>If yes: we have some ports which aren't -j safe, so this would violate
> > > >> PK>>POLA.
> > > >> PK>
> > > >> PK>That is what "make -B" is for.
> > > >>
> > > >> Or .NOTPARALLEL
> > > >
> > > > I'm not talking about /usr/ports/category/port/Makefile, I'm talking about
> > > > /usr/ports/category/port/work/tarball_dir/**/Makefile. We don't have
> > > > control about those Makefiles.
> > > >
> > > > As much as I like a flag in the Makefile of a port which indicates
> > > > that a port can't be build with -j, we don't have this and the last time
> > > > this topic was discussed there was a strong objection to something like
> > > > this.
> > > >
> > > > So this change may break procedures which worked so far.
> > > 
> > > How? If you specify -j on the port's make the -j gets passed down to all 
> > > sub-makes via MAKEFLAGS and they use it. The difference is just that the 
> > > overall number of jobs started is now limited by the original -j.
> > 
> > In my first mail I made an example where a portupgrade is in between two
> > make processes. make runs several portupgrade processes in parallel and
> > portupgrade calls make. AFAIK this doesn't result in in an invocation of
> > portupgrades child-make with -j. With phk's changes the child-make of
> > portupgrade uses the FIFO (at least this is what I read implicitly in
> > phk's response above).
> > 
> Yes.  The presence of MAKE_JOBS_FIFO in environment causes the new
> make(1) to run in parallel mode when none of -j and -B options are
> specified (either explicitly or through the MAKEFLAGS envariable).
> I mentioned it to Poul-Henning that I believe it was a mistake, but
> he disagrees, and I don't want to argue about it.

As a ports committer I see foot shooting potential here. This may build
ports in parallel which aren't -j safe. I haven't build any port with -j
since several years (I think the last time I did this, I was using
3-current) since too much ports failed to build. I haven't tested
recently, so I don't know how much ports will break in this case.

Personally I think we don't want this new behavior, but if portmgr likes
this new behavior, I won't argue about it too (I know about it, so I'm
able to workaround the problem in case I get confronted with this
problem).

Bye,
Alexander.

-- 
              The best things in life are free, but the
                expensive ones are still worth a look.

http://www.Leidinger.net                       Alexander _at_ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
Received on Sat Nov 13 2004 - 17:45:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:22 UTC