diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2021-03-07 13:25:32 +0100 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2021-03-07 13:32:55 +0100 |
commit | fb72952d5b63e40f63bfa1e3a5bce2262c424197 (patch) | |
tree | d1a9bf30437653b57b398fd3b4f3fb4897ca29cd /merge.pl | |
parent | b9488a288ec844af97a516ac9ffe441221f6e67d (diff) | |
parent | 3422e04a2e31dba3e17af206f160d4fc409f4250 (diff) | |
download | kernel-fb72952d5b63e40f63bfa1e3a5bce2262c424197.tar.gz kernel-fb72952d5b63e40f63bfa1e3a5bce2262c424197.tar.xz kernel-fb72952d5b63e40f63bfa1e3a5bce2262c424197.zip |
:merge origin/stabilization and update to 5.10.4kernel-5.11.4-125.vanilla.1.fc33kernel-5.11.4-125.vanilla.1.fc32
Diffstat (limited to 'merge.pl')
-rwxr-xr-x[l---------] | merge.pl | 73 |
1 files changed, 72 insertions, 1 deletions
diff --git a/merge.pl b/merge.pl index b77225dd2..dbaf5927b 120000..100755 --- a/merge.pl +++ b/merge.pl @@ -1 +1,72 @@ -configs/merge.pl
\ No newline at end of file +#! /usr/bin/perl + +my @args=@ARGV; +my %configvalues; +my @configoptions; +my $configcounter = 0; + +# optionally print out the architecture as the first line of our output +my $arch = $args[2]; +if (defined $arch) { + print "# $arch\n"; +} + +# first, read the override file + +open (FILE,"$args[0]") || die "Could not open $args[0]"; +while (<FILE>) { + my $str = $_; + my $configname; + + if (/\# ([\w]+) is not set/) { + $configname = $1; + } elsif (/^\#/) { + # fall through on comments like 'avoid CONFIG_FOO=y' + ; + } elsif (/([\w]+)=/) { + $configname = $1; + } + + if (defined($configname) && !exists($configvalues{$configname})) { + $configvalues{$configname} = $str; + $configoptions[$configcounter] = $configname; + $configcounter ++; + } +}; + +# now, read and output the entire configfile, except for the overridden +# parts... for those the new value is printed. + +open (FILE2,"$args[1]") || die "Could not open $args[1]"; +while (<FILE2>) { + my $configname; + + if (/\# ([\w]+) is not set/) { + $configname = $1; + } elsif (/^\#/) { + # fall through on comments like 'avoid CONFIG_FOO=y' + ; + } elsif (/([\w]+)=/) { + $configname = $1; + } + + if (defined($configname) && exists($configvalues{$configname})) { + print "$configvalues{$configname}"; + delete($configvalues{$configname}); + } else { + print "$_"; + } +} + +# now print the new values from the overridden configfile +my $counter = 0; + +while ($counter < $configcounter) { + my $configname = $configoptions[$counter]; + if (exists($configvalues{$configname})) { + print "$configvalues{$configname}"; + } + $counter++; +} + +1; |