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
next prev parent 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