#!/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();
