public inbox for backports@vger.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: "Luis R. Rodriguez" <mcgrof@suse.com>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
	backports@vger.kernel.org, linux-kernel@vger.kernel.org,
	yann.morin.1998@free.fr, mmarek@suse.cz, sassmann@kpanic.de
Subject: Re: [PATCH v2 03/13] backports: allow for different backport prefix
Date: Wed, 05 Nov 2014 10:22:44 +0100	[thread overview]
Message-ID: <1415179364.2589.13.camel@sipsolutions.net> (raw)
In-Reply-To: <20141105091610.GM12953@wotan.suse.de>

On Wed, 2014-11-05 at 10:16 +0100, Luis R. Rodriguez wrote:

> > IMHO this would be better handled in the code that uses the return value
> > to add things to the Kconfig dependencies, there you could just go
> >   if integrate:
> >     deplist[sym] = ["BACKPORT_" + x for x in new]
> >   else:
> >     deplist[sym] = new
> 
> I like it, thanks.
> 
> I will note how you still provided "BACKPORT_" here rather than the prefix,
> that's why I did the sub thing, but I'm more inclined to remove the dynamic
> nature of the prefix for integration. Not sure why that'd be a good idea
> and could only make things harder to support / change in the future as
> we are learning with CPTCFG_.
> 
> Thoughts?

I think the splitting of bp_kconf_prefix and bp_prefix I suggested would
help. Now that I look at it again, the names don't really make sense
though.

> > > @@ -838,7 +863,7 @@ def process(kerneldir, outdir, copy_list_file, git_revision=None,
> > >          for f in files:
> > >              data = open(os.path.join(root, f), 'r').read()
> > >              for r in regexes:
> > > -                data = r.sub(r'CPTCFG_\1', data)
> > > +                data = r.sub(r'' + bp_prefix + '\\1', data)
> > 
> > technically, that should be re.escape(bp_prefix)
> 
> We want to support bp_prefix having a regexp ? Sorry I didn't get that.

No, I mean if bp_prefix were to contain some special character like [.
This can't actually happen though.

> > (btw, it might be clearer if you used %s instead of +'ing the bp_prefix
> > in)
> 
> Wasn't quite sure how'd well that'd look with the r'' prefix thing, and
> still not sure, r.sub(r"%s\\1" % bp_prefix, data) ? If so that looks rather
> like hell to me.

Ok sure :) + is fine with me.

> > > +    def _mod_kconfig_line(self, l, orig_symbols, bp_prefix):
> > > +        if bp_prefix != 'CPTCFG_':
> > > +            prefix = re.sub(r'^CONFIG_(.*)', r'\1', bp_prefix)
> > 
> > Another case like above ... maybe you should have bp_prefix and
> > bp_kconf_prefix separately. Actually that seems like a good idea.
> > bp_kconf_prefix is empty for the backport package case, so you could add
> > it in unconditionally, and bp_prefix would be CONFIG_
> 
> You mean CONFIG_BACKPORT_ ?

No, I did mean CONFIG_. One prefix for kconfig, and one prefix for
"additional renaming".

The names I gave them here were really bad though. Maybe
bp_prefix = "CONFIG_"
additional_prefix = "BACKPORT_"

(or bp_prefix = "CPTCFG_" / additional_prefix = "")

or so?

> > or CPTCFG_ for the
> > two cases. Yes, I think that would make a lot of sense and allow you to
> > get rid of this regular expression magic while making the code easier to
> > read/understand.
> 
> Once this is clear sure, I do prefer it but only once we evaluate if we
> really need to make the prefixes configurable.

Yeah I guess we don't really, but I'd also hate to hardcode BACKPORT_
everywhere?

> > > +    def adjust_backported_configs(self, integrate, orig_symbols, bp_prefix):
> > 
> > This is only used for integrated though, no?
> 
> Right now yes, but I'm hinting that perhaps it should also be used for
> packaging since it deals with negating a symbol if its built-in on
> the kernel already. There should be other ways to do this for packaging,
> the checks.h does it but that's just for two modules, we should be doing
> this for much other symbols as well.

Yeah that might be worthwhile.

johannes


  reply	other threads:[~2014-11-05  9:22 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-05  3:18 [PATCH v2 00/13] backports: add kernel integration support Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 01/13] backports: move legacy and SmPL patch application into helper Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 02/13] backports: ifdef around module_init() module_exit() for modules Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 03/13] backports: allow for different backport prefix Luis R. Rodriguez
2014-11-05  7:46   ` Johannes Berg
2014-11-05  9:16     ` Luis R. Rodriguez
2014-11-05  9:22       ` Johannes Berg [this message]
2014-11-05 19:42         ` Luis R. Rodriguez
2014-11-05 21:17           ` Johannes Berg
2014-11-05 22:21             ` Luis R. Rodriguez
2014-11-05 23:09               ` Andi Kleen
2014-11-05 23:15                 ` Luis R. Rodriguez
2014-11-05 23:31                   ` Andi Kleen
2014-11-05  3:18 ` [PATCH v2 04/13] backports: replace BACKPORT_PWD with BACKPORT_DIR Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 05/13] backports: use BACKPORT_DIR prefix on kconfig sources Luis R. Rodriguez
2014-11-05  7:51   ` Johannes Berg
2014-11-05 20:11     ` Luis R. Rodriguez
2014-11-05 21:19       ` Johannes Berg
2014-11-05 22:22         ` Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 06/13] backports: update dependencies map file Luis R. Rodriguez
2014-11-05  7:54   ` Johannes Berg
2014-11-05 20:13     ` Luis R. Rodriguez
2014-11-05 21:20       ` Johannes Berg
2014-11-05 22:23         ` Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 07/13] backports: split Kconfig into Kconfig.package and Kconfig.sources Luis R. Rodriguez
2014-11-05  7:55   ` Johannes Berg
2014-11-05 20:14     ` Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 08/13] backports: move version file generation to run earlier Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 09/13] backports: define C code backport version info using CPTCFG_ Luis R. Rodriguez
2014-11-05  7:57   ` Johannes Berg
2014-11-05 20:29     ` Luis R. Rodriguez
2014-11-05 21:20       ` Johannes Berg
2014-11-05 22:27         ` Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 10/13] backports: add backport version parsing for kernel integration Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 11/13] backports: prefix c-file / h-file auto backport with BPAUTO Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 12/13] backports: remove extra BACKPORT_ prefix from kernel versioning Luis R. Rodriguez
2014-11-05  3:18 ` [PATCH v2 13/13] backports: add full kernel integration support Luis R. Rodriguez

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=1415179364.2589.13.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=backports@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@do-not-panic.com \
    --cc=mcgrof@suse.com \
    --cc=mmarek@suse.cz \
    --cc=sassmann@kpanic.de \
    --cc=yann.morin.1998@free.fr \
    /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