[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 4.4: embeds volatile information in MAKEFLAGS
From: |
Steffen Nurpmeso |
Subject: |
Re: 4.4: embeds volatile information in MAKEFLAGS |
Date: |
Mon, 07 Nov 2022 21:24:07 +0100 |
User-agent: |
s-nail v14.9.24-343-g9e3ff607d5 |
Hello Paul Smith.
Paul Smith wrote in
<07e283aabbe6e01cc56a8d9349257ab2f125f114.camel@gnu.org>:
|On Mon, 2022-11-07 at 20:32 +0100, Steffen Nurpmeso wrote:
|> mkdir /tmp/t
|> cd /tmp/t
|> cat > makefile <<'EOT'
|> .NOTPARALLEL:
|> .WAIT: # Luckily BSD make supports specifying this as target, too
|> config:
|> @{ echo MAKE=\"$(MAKE)\";echo MAKEFLAGS=\"$(MAKEFLAGS)\"; } >
|> ./au;echo config
|> all:
|> . ./au;echo all;$${MAKE} internal_
|> internal_:
|> @echo MAKE=$(MAKE), MAKEFLAGS=$(MAKEFLAGS)
|> EOT
|
|I see. I don't think any of us envisioned this idea of storing the
|MAKEFLAGS from a previous run and using them in a subsequent run. That
|is an interesting use-case.
The users did not want to adjust the make.rc file. Passing it via
command line is so much easier.
And then it is also that "config" fixates the -j statement, for me
personally. Changing command line flags changes the configuration
and triggers rebuilds, which is a no-go in package builder recipes
which separate the different stages (config, build, test,
install..). On the other hand want to pass the initial desire of
-j multiprocessing. The way it is one then simply says "make"
and it scales up to the desire expressed when doing "config".
|> I mean, _if_ the FIFO does not exist then "the server exited
|> gracefully", which it would not do upon crash, no? Just ignore
|> ENOENT thus? What do you say?
|
|I agree that we should drop down to "jobserver unavailable" here rather
|than having a fatal error.
That is great! Thanks!
|> Btw if it would be me, i would pass that via environment
|> variables, which makes a natural connection to a server and its
|> child clients. I mean, Linux and GNU LibC now make (some aspects
|> of) environment inaccessible for root aka SUID i think (E?UID
|> mismatches, issetuid or what-do-i-know, but this hardly is
|> a problem for GNU make.
|
|I'm not sure I understand what you are saying. These values ARE passed
|to the child clients through the environment. That's what MAKEFLAGS
|_is_, it's the environment variable that's used to allow a parent make
|to provide information on options etc. to its sub-makes.
|
|The POSIX spec says (in the Rationale):
|
|> The environment [of the child processes] is the same as the
|> environment to make except that MAKEFLAGS [...] are added
..ok. Sorry. I am definitely not in that matter.
--End of <07e283aabbe6e01cc56a8d9349257ab2f125f114.camel@gnu.org>
What would interest me now. Will there be GNU make 4.4.1?
(On the left and right i see quite some changes of projects to
become compatible with GNU make 4.4 though, CRUX Linux imported
a pretty lengthy glibc patch, and on the ports list of OpenBSD
there is also trouble..)
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
- 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/05
- Re: 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/05
- Re: 4.4: embeds volatile information in MAKEFLAGS, Dmitry Goncharov, 2022/11/05
- Re: 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/05
- Re: 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/05
- Re: 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/07
- Re: 4.4: embeds volatile information in MAKEFLAGS, Paul Smith, 2022/11/07
- Re: 4.4: embeds volatile information in MAKEFLAGS,
Steffen Nurpmeso <=
- Re: 4.4: embeds volatile information in MAKEFLAGS, Paul Smith, 2022/11/07
- Re: 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/07
- Re: 4.4: embeds volatile information in MAKEFLAGS, Paul Smith, 2022/11/07
- Re: 4.4: embeds volatile information in MAKEFLAGS, Steffen Nurpmeso, 2022/11/07
- Re: 4.4: embeds volatile information in MAKEFLAGS, Paul Smith, 2022/11/07