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