SVN: toys/tools/cleanbuild/findbr

sparky sparky at pld-linux.org
Tue Feb 23 16:12:36 CET 2010


Author: sparky
Date: Tue Feb 23 16:12:36 2010
New Revision: 11169

Modified:
   toys/tools/cleanbuild/findbr
Log:
- add finding new errors


Modified: toys/tools/cleanbuild/findbr
==============================================================================
--- toys/tools/cleanbuild/findbr	(original)
+++ toys/tools/cleanbuild/findbr	Tue Feb 23 16:12:36 2010
@@ -3,11 +3,13 @@
 use strict;
 use warnings;
 use IPC::Open2;
+use Cwd;
 
+my $pwd = getcwd();
 # how to run poldek
 my @ignore = qw(vserver-packages python-devel-src);
-my @poldek = (qw(sudo poldek -n th -n th-ready --cachedir=./poldekcache --skip-installed),
-	qw(-O keep_downloads=yes -O suggests=no -O unique_package_names=yes),
+my @poldek = (qw(sudo poldek -n th-x86_64-ready), "--cachedir=$pwd/poldekcache",
+	"--skip-installed", "--conf=$pwd/poldekconf/poldek.conf",
 	"-O", "ignore=" . (join " ", @ignore)
 );
 
@@ -27,9 +29,11 @@
 	"libstdc++-devel" => +1,
 	"libusb-compat-devel" => +1,
 	"libjpeg-devel" => +1,
+	"libpng-devel" => +1,
 	"libsamplerate-devel" => +1,
 	"pulseaudio-devel" => +1,
 	"xorg-lib-libXrandr-devel" => +1,
+	"sqlite-devel" => +1,
 );
 
 # translate package name to privodes name
@@ -100,6 +104,7 @@
 }
 
 my $check_ac = 0;
+my $check_config_log = undef;
 
 my %checked_files;
 sub poldek_file
@@ -198,8 +203,6 @@
 	return undef;
 }
 
-my $check_config_log = undef;
-
 start_check:
 
 my %checked;
@@ -216,6 +219,7 @@
 			or m{\S+: (\S+): command not found$}
 			or m{Can't exec "(\S+)": No such file or directory} ) {
 		my $exec = $1;
+		$exec = $1 if $exec =~ m{^"(.*)"$};
 		next if $exec eq "hostname";
 		warn "Looking for executable $exec\n";
 		if ( $exec =~ m#^/# ) {
@@ -246,6 +250,8 @@
 		if ( my $br = $ac2br{ $macro } ) {
 			add_br( $br );
 			next;
+		} else {
+			$check_ac = 1;
 		}
 	}
 	if ( /^No package '(\S+)' found$/ or
@@ -280,10 +286,11 @@
 		warn "Looking for perl module $mod\n";
 		poldek_file( "/usr/lib*/perl*/$mod", "/usr/share/perl*/$mod" );
 	}
-	if ( m{^/usr/bin/ld: cannot find -l(.*?)$} ) {
+	if ( m{^(?:/usr/bin/ld: )?cannot find -l(.*?)$} ) {
 		my $lib = $1;
 		warn "Looking for library $lib\n";
-		poldek_file( "/usr/lib*/lib$lib.so" );
+		poldek_file( "/usr/lib64/lib$lib.so", "/usr/lib/lib$lib.so",
+			"/usr/lib*/lib$lib.so" );
 	}
 	if ( m{^error: Couldn't exec (/\S+): No such file or directory$} 
 			or m{^Can't open perl script "(/\S+)": No such file or directory$}
@@ -291,11 +298,17 @@
 			or m{GConf-CRITICAL \*\*: No such file `(/.\S+?)'$}
 			or m{make.*: \*\*\* No rule to make target `(/\S+)'}
 			or m{g(?:cc|\+\+): (/\S+): No such file or directory$}
+			or m{env: (/\S+): No such file or directory$}
 			) {
 		my $file = $1;
 		warn "Looking for file $file\n";
 		poldek_file( $file );
 	}
+	if ( m{^ValueError: Couldn't find include '(.*\.gir)'} ) {
+		my $file = $1;
+		warn "Looking for gir file $file\n";
+		poldek_file( "/usr/share/gir-1.0/" . $file );
+	}
 	if ( m{failed.*http://www\.oasis-open\.org/docbook/xml/([\d\.]+/\S+\.dtd)} ) {
 		my $dtd = $1;
 		warn "Looking for docbook file $dtd\n";
@@ -410,6 +423,16 @@
 			$cmake_pkg_list = 0;
 		}
 	}
+
+	if ( m{^configure:\d+: checking for (?:"(\S+)"|(\S+))$} ) {
+		my $exec = $1 || $2;
+		if ( @lines and $lines[0] =~ m{^configure:\d+: result: no$} ) {
+			next if $exec eq "hostname";
+			warn "Looking for executable $exec\n";
+			poldek_file( $exec ) if $exec =~ m#^/#;
+			poldek_file( "/usr/bin/$exec", "/bin/$exec" );
+		}
+	}
 }
 
 


More information about the pld-cvs-commit mailing list