Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH RFC] core: enable per-package log files
Date: Wed, 18 Oct 2017 19:42:15 +0200	[thread overview]
Message-ID: <20171018174215.GB2833@scaer> (raw)
In-Reply-To: <20171018133651.0a8ea508@windsurf.home>

Thomas, Arnout, Anisse, All,

On 2017-10-18 13:36 +0200, Thomas Petazzoni spake thusly:
> On Wed, 18 Oct 2017 12:57:30 +0200, Arnout Vandecappelle wrote:
> >  As I said a couple of times already, I don't think we should enforce -Orecurse.
> 
> As I replied in another e-mail, I disagree :)
> 
> >  About the BR2_PARALLEL_BUILD option, it may be useful, but for the time being I
> > would continue asking the user to remove the .NOTPARALLEL line.

Eventually, when everything is fully parallel-safe, I believe we will
want to remove BR2_JLEVEL altogether, and let users directly call
"make -jN".

As for the -O option, it all depends on the oldest make we are supposed
to support. It appeared only in make 4.0, released in October 2013.

So I think we'll have to come up with an alternative solution (and I am
sad that we do, I would have prefered we require 4.0, but it is not old
enough :-/ ).

However, I'll repeat my position: having top-level parallel build (TLP)
is important. If we can't find a viable, simple and maintainable
solution, then we should just ignore the problem and still implement
TLP.

I am not much happy with any of the external wrapper, because it is
relatively fragile, and we have to use it everywhere we need to write a
make rule (which is not a package, fs, or bootloader CMDS).

For example, we also need to use it for:

  - the step_start and step_end hooks
  - the intermediate commands [0] [1]
  - ech commands in the finalise-target, legal-info and all similar ones
  - and I suspect countless other locations...


[0] for example, it is needed for the for-loop there:
   package/pkg-generic.mk:
   145 $(BUILD_DIR)/%/.stamp_downloaded:
   146 ?   $(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
   147 # Only show the download message if it isn't already downloaded
   148 ?   $(Q)for p in $($(PKG)_ALL_DOWNLOADS); do \
   149 ?   ?   if test ! -e $(DL_DIR)/`basename $$p` ; then \
   150 ?   ?   ?   $(call MESSAGE,"Downloading") ; \
   151 ?   ?   ?   break ; \
   152 ?   ?   fi ; \
   153 ?   done
   154 ?   $(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p))$(sep))
   155 ?   $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
   156 ?   $(Q)mkdir -p $(@D)
   157 ?   $(Q)touch $@


[1] for example, it is needed for each of mkdir, chmod and touch there:
   package/pkg-generic.mk:
   166 $(BUILD_DIR)/%/.stamp_extracted:
   167 ?   @$(call step_start,extract)
   168 ?   @$(call MESSAGE,"Extracting")
   169 ?   $(foreach hook,$($(PKG)_PRE_EXTRACT_HOOKS),$(call $(hook))$(sep))
   170 ?   $(Q)mkdir -p $(@D)
   171 ?   $($(PKG)_EXTRACT_CMDS)
   172 # some packages have messed up permissions inside
   173 ?   $(Q)chmod -R +rw $(@D)
   174 ?   $(foreach hook,$($(PKG)_POST_EXTRACT_HOOKS),$(call $(hook))$(sep))
   175 ?   @$(call step_end,extract)
   176 ?   $(Q)touch $@


Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2017-10-18 17:42 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-11  8:58 [Buildroot] Discussion on per-package logging Thomas Petazzoni
2017-10-11  9:05 ` Arnout Vandecappelle
2017-10-11  9:55   ` Thomas Petazzoni
2017-10-11 13:08 ` Yann E. MORIN
2017-10-11 13:19   ` Thomas Petazzoni
2017-10-11 14:10     ` Yann E. MORIN
2017-10-16 16:20 ` [Buildroot] [PATCH RFC] core: enable per-package log files Anisse Astier
2017-10-16 16:23   ` Anisse Astier
2017-10-16 16:52   ` Thomas Petazzoni
2017-10-16 21:18     ` Anisse Astier
2017-10-17  7:11       ` Thomas Petazzoni
2017-10-17 12:01         ` Arnout Vandecappelle
2017-10-17 12:11           ` Thomas Petazzoni
2017-10-17 14:44             ` Arnout Vandecappelle
2017-10-17 19:03               ` Thomas Petazzoni
2017-10-17 23:11                 ` Arnout Vandecappelle
2017-10-18  6:57                   ` Thomas Petazzoni
2017-10-18  7:44                     ` Anisse Astier
2017-10-18  7:58                       ` Thomas Petazzoni
2017-10-18  8:09                         ` Anisse Astier
2017-10-18  8:11                           ` Thomas Petazzoni
2017-10-18  9:05                             ` Anisse Astier
2017-10-18  9:10                               ` Thomas Petazzoni
2017-10-18 10:54                                 ` Arnout Vandecappelle
2017-10-18 11:36                                   ` Thomas Petazzoni
2017-10-18 10:57                     ` Arnout Vandecappelle
2017-10-18 11:36                       ` Thomas Petazzoni
2017-10-18 17:42                         ` Yann E. MORIN [this message]
2017-10-17 15:45           ` Anisse Astier
2017-10-17 22:58             ` Arnout Vandecappelle
2017-10-18  6:53               ` Thomas Petazzoni
2017-10-18  7:34               ` Anisse Astier
2017-10-17 15:53   ` Anisse Astier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171018174215.GB2833@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox