All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 03/17] package/pkg-rebar: new infrastructure
Date: Mon, 5 Jan 2015 10:31:16 +0100	[thread overview]
Message-ID: <20150105103116.74bbc777@free-electrons.com> (raw)
In-Reply-To: <20150104222038.GD31970@free.fr>

Hello!

On Sun, 4 Jan 2015 23:20:38 +0100, Yann E. MORIN wrote:

> > Would it be clearer to actually use $(1) ?
> > 
> > $(2)_ERLANG_APP = $(subst -,_,$(patsubst erlang-%,%,$(patsubst host-%,%,$(1))
> > 
> > Not sure that's really better.
> 
> Yet, it is better to deal with the original values, rather than to try
> to retro-engineer them. I'll check your proposal, and use it.

Well, it's a matter of taste really because both expressions are
equally "complicated". So using $(1) as I propose, or $(3) as was in
the patch doesn't make much difference. Maybe only the switch back and
forth between - and _ is a bit weird when using $(3).

> > It's not clear what $(2)_HAS_REBAR is useful for, and this variable is
> > not documented in PATCH 04/17.
> 
> Some packages bundle their own rebar, other do not.
> 
> Of the former, some may really require we use their bundled rebar
> instead f the one we provide. _HAS_REBAR is for those packages.
> 
> But maybe it is not really properly named. It's meaning is: this package
> has a bundled rebar, and does not work with the system rebar, so must
> use its own bnundled version.
> 
> But the appreciated meaning of the variable name is just: this package
> has a rebar utility. It does not state that the rebar infra shall use
> it. I'll try to come up with a better name.

$(2)_USE_BUNDLED_REBAR, default to NO, and overridden by YES for those
packages that should really use their rebar rather than the system one.

or:

$(2)_USE_SYSTEM_REBAR, default to YES, and overridden to NO for those
packages that should really use their rebar rather than the system one.

> > > +# Define the build and install commands
> > > +#
> > > +ifeq ($(4),target)
> > > +
> > > +ifeq ($$($(2)_CONFIGURE),YES)
> > 
> > What is $(2)_CONFIGURE exactly? It is not documented in PATCH 04/17.
> 
> Some rebar packages use autotools for the configure step, and use rebar
> for the build step. Worse, some of them even require being autoreconf-ed.
> 
> This variable, if set to YES, means that this package will use the
> autotools-package infrastrucutre; otherwise, it will be trated as a
> generic-package.

Not sure of a better name for this one. Maybe $(2)_USE_AUTOTOOLS,
defaults to no, can be overridden to YES by the packages having a
configure script? Do they both autoconf and automake, or just autoconf?
I guess the latter, so maybe $(2)_USE_AUTOCONF.

> > Wow, this is funky :-) A package infra that inherits from either one
> > infra or the other! And two-level inheritance in the case of
> > generic-package -> autotools-package -> rebar-package.
> 
> So, are you not too horrified by this? Shall we keep it, or do you want
> we copme up with an alternate solution?

No, I'm not horrified by this at all. It's smart, and elegantly re-uses
the existing infrastructures. It's perfectly fine for me.

> I'm doing a sanitising pass with your comments, now. I'll push that to
> my branch so Johan can grab it (I'll poke here when I did the push).

Great, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  reply	other threads:[~2015-01-05  9:31 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-09 14:34 [Buildroot] [PATCH v4 00/17] ejabberd: XMPP server Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 01/17] package/erlang: export EI_VSN so other packages can use it Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 02/17] package/erlang-rebar: new host package Johan Oudinet
2014-12-22 14:16   ` Thomas Petazzoni
2014-12-09 14:34 ` [Buildroot] [PATCH v4 03/17] package/pkg-rebar: new infrastructure Johan Oudinet
2015-01-04 21:23   ` Thomas Petazzoni
2015-01-04 22:20     ` Yann E. MORIN
2015-01-05  9:31       ` Thomas Petazzoni [this message]
2015-01-05 11:13         ` Johan Oudinet
2015-01-05 22:01           ` Yann E. MORIN
2015-01-05 21:59         ` Yann E. MORIN
2015-01-06  8:24           ` Thomas Petazzoni
2015-01-06 10:05             ` Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 04/17] docs/manual: add documentation for the pkg-rebar infrastructure Johan Oudinet
2015-01-04 21:33   ` Thomas Petazzoni
2015-01-04 23:27     ` Yann E. MORIN
2015-01-04 23:39       ` Yann E. MORIN
2014-12-09 14:34 ` [Buildroot] [PATCH v4 05/17] erlang-goldrush: new package Johan Oudinet
2015-01-04 21:36   ` Thomas Petazzoni
2015-01-05 14:52     ` Johan Oudinet
2015-01-05 16:37       ` Thomas Petazzoni
2014-12-09 14:34 ` [Buildroot] [PATCH v4 06/17] erlang-lager: " Johan Oudinet
2015-01-04 21:37   ` Thomas Petazzoni
2015-01-05 16:10     ` Johan Oudinet
2015-01-05 16:38       ` Thomas Petazzoni
2015-01-05 23:53         ` Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 07/17] erlang-p1-zlib: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 08/17] erlang-p1-yaml: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 09/17] erlang-p1-xml: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 10/17] erlang-p1-utils: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 11/17] erlang-p1-tls: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 12/17] erlang-p1-stun: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 13/17] erlang-p1-stringprep: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 14/17] erlang-p1-sip: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 15/17] erlang-p1-iconv: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 16/17] erlang-p1-cache-tab: " Johan Oudinet
2014-12-09 14:34 ` [Buildroot] [PATCH v4 17/17] ejabberd: " Johan Oudinet
2015-01-05  0:06 ` [Buildroot] [PATCH v4 00/17] ejabberd: XMPP server Yann E. MORIN
2015-01-05 10:28   ` Johan Oudinet

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=20150105103116.74bbc777@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.