35 lines
942 B
Perl
Executable File
35 lines
942 B
Perl
Executable File
#!/usr/bin/perl
|
|
# Author: mudler@sabayonlinux.org, skullbocks@sabayonlinux.org
|
|
|
|
use strict;
|
|
use DBI;
|
|
use feature 'say';
|
|
|
|
my $arch = $ENV{ARCH} // "amd64";
|
|
|
|
my $dbh = DBI->connect(
|
|
"dbi:SQLite:dbname=/var/lib/entropy/client/database/$arch/equo.db",
|
|
"", "", { RaiseError => 1 },
|
|
) or die $DBI::errstr;
|
|
my $to_build = {};
|
|
|
|
my $sth = $dbh->prepare(
|
|
"SELECT DISTINCT baseinfo.category, baseinfo.name, baseinfo.version FROM baseinfo JOIN needed_libs ON baseinfo.idpackage = needed_libs.idpackage JOIN preserved_libs ON needed_libs.soname = preserved_libs.library"
|
|
);
|
|
$sth->execute();
|
|
|
|
my $row;
|
|
while ( $row = $sth->fetchrow_arrayref() ) {
|
|
$to_build->{"@$row[0]/@$row[1]-@$row[2]"}++;
|
|
}
|
|
$sth->finish();
|
|
|
|
my $to_install = join( " ", keys %{$to_build} );
|
|
if ( $to_install ne "" ) {
|
|
say "Those packages seems to request libs no longer available: $to_install";
|
|
}
|
|
else {
|
|
say "No packages request outdated libs";
|
|
}
|
|
$dbh->disconnect();
|