Index: ltib =================================================================== RCS file: /sources/ltib/ltib/ltib,v retrieving revision 1.88 diff -u -r1.88 ltib --- ltib 23 Jul 2012 12:44:40 -0000 1.88 +++ ltib 4 Oct 2012 18:38:53 -0000 @@ -199,6 +199,7 @@ help => 0, clobber => 0, + need_frb => 0 }; use strict 'vars'; @@ -740,6 +741,22 @@ return 1; } +sub clean_pkg_src +{ + my ($pkg_dir_name, $name) = @_; + system_nb(<{rpmdir}/BUILD/$pkg_dir_name +if [ "$name" = "kernel" ]; then + make ARCH=$pcf->{LINTARCH} distclean +else + make distclean +fi +cd - +TXT + +} + sub build_rpm { my $args = { @_ }; @@ -889,6 +906,10 @@ return; } + if ( $cf->{need_frb} ) { + clean_pkg_src($tok->{pkg_dir_name}, $tok->{name}); + } + # Rebuild something with the source already unpacked if( $rpms[0] && -f $rpms[0] ) { my $src_dir = "$cf->{rpmdir}/BUILD/$tok->{pkg_dir_name}"; @@ -1667,17 +1688,16 @@ $cf->{do_deploy} = 1; } - my $need_frb = 0; foreach my $dep (split(/[\s\n]+/,$cf->{frb_deps})) { my $cur = $pcf->{$dep} || ""; my $pre = $ppcf->{$dep} || ""; if( $cur ne $pre ) { - $need_frb= 1; + $cf->{need_frb} = 1; print("CONFIG_$dep forced a full rebuild\n"); last; } } - if($need_frb && ! $cf->{dry}) { + if($cf->{need_frb} && ! $cf->{dry}) { f_clean() if -e "$cf->{rpmroot}/$cf->{rpmdb}/Name"; $ENV{LTIB_FULL_REBUILD} = "y"; }