• Mauro Carvalho Chehab's avatar
    media: media/*/Kconfig: sort entries · 6cdc31b2
    Mauro Carvalho Chehab authored
    Currently, the idems inside media Kconfig are out of order.
    Sort them using the script below:
    
    <script>
    use strict;
    use warnings;
    
    my %config;
    my @source;
    my $out;
    
    sub flush_config()
    {
    	if (scalar %config) {
    		for my $c (sort keys %config) {
    			$out .= $config{$c} . "\n";
    		}
    		%config = ();
    	}
    
    	return if (!scalar @source);
    
    	$out .= "\n";
    	for my $s (sort @source) {
    		$out .= $s;
    	}
    	$out .= "\n";
    
    	@source = ();
    }
    
    sub sort_kconfig($)
    {
    	my $fname = shift;
    	my $cur_config = "";
    
    	@source = ();
    	$out = "";
    	%config = ();
    
    	open IN, $fname or die;
    	while (<IN>) {
    		if (m/^config\s+(.*)/) {
    			$cur_config = $1;
    			$config{$cur_config} .= $_;
    		} elsif (m/^source\s+(.*)/) {
    			push @source, $_;
    		} elsif (m/^\s+/) {
    			if ($cur_config eq "") {
    				$out .= $_;
    			} else {
    				$config{$cur_config} .= $_;
    			}
    		} else {
    			flush_config();
    			$cur_config = "";
    			$out .= $_;
    		}
    	}
    	close IN or die;
    
    	flush_config();
    
    	$out =~ s/\n\n+/\n\n/g;
    	$out =~ s/\n+$/\n/;
    
    	open OUT, ">$fname";
    	print OUT $out;
    	close OUT;
    }
    
    for my $fname(@ARGV) {
    	sort_kconfig $fname
    }
    </script>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    6cdc31b2
Kconfig 13.9 KB