diff mbox

[1/2] localmodconfig: Fix parsing of Kconfig "source" statements

Message ID 1459619722-13695-1-git-send-email-bpoirier@suse.com (mailing list archive)
State New, archived
Headers show

Commit Message

Benjamin Poirier April 2, 2016, 5:55 p.m. UTC
The parameter of Kconfig "source" statements does not need to be quoted.
The current regex causes many kconfig files to be skipped and hence,
dependencies to be missed.

Also fix the whitespace repeat count.

Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
---
 scripts/kconfig/streamline_config.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

joeyli April 8, 2016, 2:59 p.m. UTC | #1
On Sat, Apr 02, 2016 at 10:55:21AM -0700, Benjamin Poirier wrote:
> The parameter of Kconfig "source" statements does not need to be quoted.
> The current regex causes many kconfig files to be skipped and hence,
> dependencies to be missed.
> 
> Also fix the whitespace repeat count.
> 
> Signed-off-by: Benjamin Poirier <bpoirier@suse.com>

Tested-by: Lee, Chun-Yi <jlee@suse.com>

> ---
>  scripts/kconfig/streamline_config.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> index f3d3fb4..7036ae3 100755
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -188,7 +188,7 @@ sub read_kconfig {
>  	$cont = 0;
>  
>  	# collect any Kconfig sources
> -	if (/^source\s*"(.*)"/) {
> +	if (/^source\s+"?([^"]+)/) {
>  	    my $kconfig = $1;
>  	    # prevent reading twice.
>  	    if (!defined($read_kconfigs{$kconfig})) {
> -- 
> 2.7.2

Regards
Joey Lee
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steven Rostedt April 8, 2016, 6:29 p.m. UTC | #2
On Sat,  2 Apr 2016 10:55:21 -0700
Benjamin Poirier <bpoirier@suse.com> wrote:

> The parameter of Kconfig "source" statements does not need to be quoted.
> The current regex causes many kconfig files to be skipped and hence,
> dependencies to be missed.
> 
> Also fix the whitespace repeat count.
> 
> Signed-off-by: Benjamin Poirier <bpoirier@suse.com>

Thanks for sending this. I'll apply it. Should this be marked for
stable? And if so, how far back?

-- Steve

> ---
>  scripts/kconfig/streamline_config.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> index f3d3fb4..7036ae3 100755
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -188,7 +188,7 @@ sub read_kconfig {
>  	$cont = 0;
>  
>  	# collect any Kconfig sources
> -	if (/^source\s*"(.*)"/) {
> +	if (/^source\s+"?([^"]+)/) {
>  	    my $kconfig = $1;
>  	    # prevent reading twice.
>  	    if (!defined($read_kconfigs{$kconfig})) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Poirier April 10, 2016, 11:52 p.m. UTC | #3
On 2016/04/08 14:29, Steven Rostedt wrote:
> On Sat,  2 Apr 2016 10:55:21 -0700
> Benjamin Poirier <bpoirier@suse.com> wrote:
> 
> > The parameter of Kconfig "source" statements does not need to be quoted.
> > The current regex causes many kconfig files to be skipped and hence,
> > dependencies to be missed.
> > 
> > Also fix the whitespace repeat count.
> > 
> > Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
> 
> Thanks for sending this. I'll apply it. Should this be marked for
> stable? And if so, how far back?

The first problem dates back to the introduction of streamline_config.pl in
	dcc6024 kconfig: add streamline_config.pl to scripts (v2.6.32-rc1)
The second problem started with
	19e91b6 modsign: Allow external signing key to be specified (v4.3-rc1)

However, I'm not sure that adding the patch to stable is warranted. I
considered this with regards to the problem fixed by patch 1/2.

First, I searched for cases where dependency info that's currently missing
would lead to lead to symbols being erroneously deactivated but I did not find
any. Since these cases are not so obvious and are quite rare in general, it's
possible that I missed one but at this stage the problem is theoretical.

Second, even if there is such a case, I'm not sure that the problem is
"critical". streamline_config.pl may output an "invalid" config because
it misses some dependencies but the config will be fixed by the
invocation of silentoldconfig that comes right after in the
localmodconfig makefile rule. It might not be the config the user
wanted, but it will be valid.

However, while looking for such a case, I've noticed a few other issues in
streamline_config.pl and I'll send more patches shortly.

> 
> -- Steve
> 
> > ---
> >  scripts/kconfig/streamline_config.pl | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> > index f3d3fb4..7036ae3 100755
> > --- a/scripts/kconfig/streamline_config.pl
> > +++ b/scripts/kconfig/streamline_config.pl
> > @@ -188,7 +188,7 @@ sub read_kconfig {
> >  	$cont = 0;
> >  
> >  	# collect any Kconfig sources
> > -	if (/^source\s*"(.*)"/) {
> > +	if (/^source\s+"?([^"]+)/) {
> >  	    my $kconfig = $1;
> >  	    # prevent reading twice.
> >  	    if (!defined($read_kconfigs{$kconfig})) {
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Poirier April 18, 2016, 8:29 p.m. UTC | #4
On 2016/04/10 16:52, Benjamin Poirier wrote:
> On 2016/04/08 14:29, Steven Rostedt wrote:
> > On Sat,  2 Apr 2016 10:55:21 -0700
> > Benjamin Poirier <bpoirier@suse.com> wrote:
> > 
> > > The parameter of Kconfig "source" statements does not need to be quoted.
> > > The current regex causes many kconfig files to be skipped and hence,
> > > dependencies to be missed.
> > > 
> > > Also fix the whitespace repeat count.
> > > 
> > > Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
> > 
> > Thanks for sending this. I'll apply it. Should this be marked for
> > stable? And if so, how far back?
> 
> The first problem dates back to the introduction of streamline_config.pl in
> 	dcc6024 kconfig: add streamline_config.pl to scripts (v2.6.32-rc1)
> The second problem started with
> 	19e91b6 modsign: Allow external signing key to be specified (v4.3-rc1)
> 
> However, I'm not sure that adding the patch to stable is warranted. I
> considered this with regards to the problem fixed by patch 1/2.
> 
> First, I searched for cases where dependency info that's currently missing
> would lead to lead to symbols being erroneously deactivated but I did not find
> any. Since these cases are not so obvious and are quite rare in general, it's
> possible that I missed one but at this stage the problem is theoretical.
> 
> Second, even if there is such a case, I'm not sure that the problem is
> "critical". streamline_config.pl may output an "invalid" config because
> it misses some dependencies but the config will be fixed by the
> invocation of silentoldconfig that comes right after in the
> localmodconfig makefile rule. It might not be the config the user
> wanted, but it will be valid.
> 
> However, while looking for such a case, I've noticed a few other issues in
> streamline_config.pl and I'll send more patches shortly.

Hi Steven,

Can you please merge these six patches (2 original + 4 followups)?

Thank you,
-Benjamin

> 
> > 
> > -- Steve
> > 
> > > ---
> > >  scripts/kconfig/streamline_config.pl | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> > > index f3d3fb4..7036ae3 100755
> > > --- a/scripts/kconfig/streamline_config.pl
> > > +++ b/scripts/kconfig/streamline_config.pl
> > > @@ -188,7 +188,7 @@ sub read_kconfig {
> > >  	$cont = 0;
> > >  
> > >  	# collect any Kconfig sources
> > > -	if (/^source\s*"(.*)"/) {
> > > +	if (/^source\s+"?([^"]+)/) {
> > >  	    my $kconfig = $1;
> > >  	    # prevent reading twice.
> > >  	    if (!defined($read_kconfigs{$kconfig})) {
> > 
> > 
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steven Rostedt April 18, 2016, 9:43 p.m. UTC | #5
On Mon, 18 Apr 2016 13:29:12 -0700
Benjamin Poirier <bpoirier@suse.com> wrote:

> On 2016/04/10 16:52, Benjamin Poirier wrote:
> > On 2016/04/08 14:29, Steven Rostedt wrote:  
> > > On Sat,  2 Apr 2016 10:55:21 -0700
> > > Benjamin Poirier <bpoirier@suse.com> wrote:
> > >   
> > > > The parameter of Kconfig "source" statements does not need to be quoted.
> > > > The current regex causes many kconfig files to be skipped and hence,
> > > > dependencies to be missed.
> > > > 
> > > > Also fix the whitespace repeat count.
> > > > 
> > > > Signed-off-by: Benjamin Poirier <bpoirier@suse.com>  
> > > 
> > > Thanks for sending this. I'll apply it. Should this be marked for
> > > stable? And if so, how far back?  
> > 
> > The first problem dates back to the introduction of streamline_config.pl in
> > 	dcc6024 kconfig: add streamline_config.pl to scripts (v2.6.32-rc1)
> > The second problem started with
> > 	19e91b6 modsign: Allow external signing key to be specified (v4.3-rc1)
> > 
> > However, I'm not sure that adding the patch to stable is warranted. I
> > considered this with regards to the problem fixed by patch 1/2.
> > 
> > First, I searched for cases where dependency info that's currently missing
> > would lead to lead to symbols being erroneously deactivated but I did not find
> > any. Since these cases are not so obvious and are quite rare in general, it's
> > possible that I missed one but at this stage the problem is theoretical.
> > 
> > Second, even if there is such a case, I'm not sure that the problem is
> > "critical". streamline_config.pl may output an "invalid" config because
> > it misses some dependencies but the config will be fixed by the
> > invocation of silentoldconfig that comes right after in the
> > localmodconfig makefile rule. It might not be the config the user
> > wanted, but it will be valid.
> > 
> > However, while looking for such a case, I've noticed a few other issues in
> > streamline_config.pl and I'll send more patches shortly.  
> 
> Hi Steven,
> 
> Can you please merge these six patches (2 original + 4 followups)?
> 

OK, I've marked them as todo. I've just come back from two weeks of
conferences and I'm working on catching up.

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Benjamin Poirier April 18, 2016, 11:49 p.m. UTC | #6
On 2016/04/18 17:43, Steven Rostedt wrote:
[...]
> > Hi Steven,
> > 
> > Can you please merge these six patches (2 original + 4 followups)?
> > 
> 
> OK, I've marked them as todo. I've just come back from two weeks of
> conferences and I'm working on catching up.
> 

Ah I see, thanks. I just wanted to be sure they didn't fall through the
cracks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steven Rostedt April 26, 2016, 2:03 p.m. UTC | #7
On Fri, 8 Apr 2016 22:59:02 +0800
joeyli <jlee@suse.com> wrote:

> On Sat, Apr 02, 2016 at 10:55:21AM -0700, Benjamin Poirier wrote:
> > The parameter of Kconfig "source" statements does not need to be quoted.
> > The current regex causes many kconfig files to be skipped and hence,
> > dependencies to be missed.
> > 
> > Also fix the whitespace repeat count.
> > 
> > Signed-off-by: Benjamin Poirier <bpoirier@suse.com>  
> 
> Tested-by: Lee, Chun-Yi <jlee@suse.com>
> 

Applied.

Thanks!

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
index f3d3fb4..7036ae3 100755
--- a/scripts/kconfig/streamline_config.pl
+++ b/scripts/kconfig/streamline_config.pl
@@ -188,7 +188,7 @@  sub read_kconfig {
 	$cont = 0;
 
 	# collect any Kconfig sources
-	if (/^source\s*"(.*)"/) {
+	if (/^source\s+"?([^"]+)/) {
 	    my $kconfig = $1;
 	    # prevent reading twice.
 	    if (!defined($read_kconfigs{$kconfig})) {