lkml.org 
[lkml]   [2014]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/2] ktest: run make mrproper not only for OUTPUT_DIR but also for BUILD_DIR to avoid build failure
    On Sun, 02 Mar 2014 21:23:36 +0900
    Satoru Takeuchi <satoru.takeuchi@gmail.com> wrote:

    > From: Satoru Takeuchi <satoru.takeuchi@gmail.com>
    >
    > Build failure hapens with the following log if BUILD_DIR is dirty.

    If you want to do make mrproper in the BUILD_DIR, add the command to
    PRE_BUILD or something. I have TAGS in my BUILD_DIRs and this will
    remove them for me. I can't accept this change.

    I've noticed that there's a bug in the Linux make system that causes
    the O=.. builds to fail because somehow the source directory got dirty.
    We need to figure out what that bug is.

    Thanks,

    -- Steve


    >
    > ===============================================================================
    > ...
    > RUNNING TEST 1 of 1 with option build olddefconfig
    >
    > make O=/home/sat/ktest/output mrproper ... CLEAN arch/x86/tools
    > CLEAN scripts/basic
    > CLEAN scripts/kconfig
    > CLEAN include/config include/generated arch/x86/include/generated
    > CLEAN .config.old include/generated/uapi/linux/version.h
    > SUCCESS
    > ...
    > make O=/home/sat/ktest/output -j8 ... GEN /home/sat/ktest/output/Makefile
    > ...
    > Using /home/sat/src/test-linux-stable/linux-stable as source for kernel
    > /home/sat/src/test-linux-stable/linux-stable is not clean, please run 'make mrproper'
    > in the '/home/sat/src/test-linux-stable/linux-stable' directory.
    > make[1]: *** [prepare3] Error 1
    > make[1]: *** Waiting for unfinished jobs....
    > HOSTLD arch/x86/tools/relocs
    > make[1]: *** wait: No child processes. Stop.
    > make: *** [sub-make] Error 2
    > FAILED!
    > CRITICAL FAILURE... failed build
    > ===============================================================================
    >
    > To avoid this problem, it's necessary to run make mrproper not only
    > for OUTPUT_DIR, but also for BUILD_DIR.
    >
    > Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
    > Cc: Steven Rostedt <rostedt@goodmis.org>
    >
    > ---
    > tools/testing/ktest/ktest.pl | 16 +++++++++-------
    > 1 file changed, 9 insertions(+), 7 deletions(-)
    >
    > diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
    > index f731ef6..1169b2a 100755
    > --- a/tools/testing/ktest/ktest.pl
    > +++ b/tools/testing/ktest/ktest.pl
    > @@ -120,6 +120,7 @@ my $syslinux;
    > my $syslinux_path;
    > my $syslinux_label;
    > my $target;
    > +my $makecmd;
    > my $make;
    > my $pre_install;
    > my $post_install;
    > @@ -2198,6 +2199,11 @@ sub load_force_config {
    > close IN;
    > }
    >
    > +sub mrproper {
    > + run_command "$makecmd mrproper" or dodie "make mrproper for $builddir";
    > + run_command "$make mrproper" or dodie "make mrproper for $outputdir";
    > +}
    > +
    > sub build {
    > my ($type) = @_;
    >
    > @@ -2235,17 +2241,13 @@ sub build {
    > if (!$noclean) {
    > run_command "mv $output_config $outputdir/config_temp" or
    > dodie "moving .config";
    > -
    > - run_command "$make mrproper" or dodie "make mrproper";
    > -
    > + mrproper;
    > run_command "mv $outputdir/config_temp $output_config" or
    > dodie "moving config_temp";
    > }
    > -
    > } elsif (!$noclean) {
    > unlink "$output_config";
    > - run_command "$make mrproper" or
    > - dodie "make mrproper";
    > + mrproper;
    > }
    >
    > # add something to distinguish this build
    > @@ -3996,7 +3998,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
    >
    > undef %force_config;
    >
    > - my $makecmd = set_test_option("MAKE_CMD", $i);
    > + $makecmd = set_test_option("MAKE_CMD", $i);
    >
    > $outputdir = set_test_option("OUTPUT_DIR", $i);
    > $builddir = set_test_option("BUILD_DIR", $i);



    \
     
     \ /
      Last update: 2014-03-02 15:01    [W:2.160 / U:0.720 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site