Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 612b9e9b authored by Steven Rostedt's avatar Steven Rostedt Committed by Steven Rostedt
Browse files

ktest: Handle kernels before make oldnoconfig



When bisecting, one may come across a kernel that does not have
make oldnoconfig. In this case, we need to run the command "yes"
into a make oldconfig. This will select defaults instead of 'n'
into each command, but it works as a work around.

Note, "yes n" will not work because a config may have a value that
"n" is not acceptable for.

Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 10abf118
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -930,6 +930,18 @@ sub check_buildlog {
    return 1;
}

sub make_oldconfig {
    my ($defconfig) = @_;

    if (!run_command "$defconfig $make oldnoconfig") {
	# Perhaps oldnoconfig doesn't exist in this version of the kernel
	# try a yes '' | oldconfig
	doprint "oldnoconfig failed, trying yes '' | make oldconfig\n";
	run_command "yes '' | $defconfig $make oldconfig" or
	    dodie "failed make config oldconfig";
    }
}

sub build {
    my ($type) = @_;
    my $defconfig = "";
@@ -975,8 +987,12 @@ sub build {
	$defconfig = "KCONFIG_ALLCONFIG=$minconfig";
    }

    if ($type eq "oldnoconfig") {
	make_oldconfig $defconfig;
    } else {
	run_command "$defconfig $make $type" or
	    dodie "failed make config";
    }

    $redirect = "$buildlog";
    if (!run_command "$make $build_options") {
@@ -1395,9 +1411,7 @@ sub create_config {
    close(OUT);

#    exit;
    run_command "$make oldnoconfig" or
	dodie "failed make config oldconfig";

    make_oldconfig "";
}

sub compare_configs {
@@ -1599,8 +1613,7 @@ sub config_bisect {
    close(IN);

    # Now run oldconfig with the minconfig (and addconfigs)
    run_command "$defconfig $make oldnoconfig" or
	dodie "failed make config oldconfig";
    make_oldconfig $defconfig;

    # check to see what we lost (or gained)
    open (IN, $output_config)