X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bin%2Fwanna-build;h=bbaf0612f532926dcdf1b589458e8fc14aa5eeda;hb=8b5f7ccc75416990c6ac4b5613c8b8821eb23478;hp=f6634a22583afa189ba9c8a8d100a1df6e6c8619;hpb=020d69a01d2f6bad3c813bf73550389409846c4f;p=wannabuild.git diff --git a/bin/wanna-build b/bin/wanna-build index f6634a2..bbaf061 100755 --- a/bin/wanna-build +++ b/bin/wanna-build @@ -1860,6 +1860,7 @@ X the string normally between [], e.g. optional:out-of-date:calprio{61}:days{25} c section (e.g. libs or utils) P previous state E in case of Dep-Wait the packages being waited on, in case of Needs-Build the number in the queue +F in case of Failed the fail reason D in case of BD-Uninstallable the reason for the uninstallability d distribution t time of state change @@ -1890,6 +1891,9 @@ Text could contain further %. To start with !, use %! 'E' => make_fmt( sub { return $pkg->{'depends'} if $pkg->{'state'} eq "Dep-Wait"; return $var->{scnt}{'Needs-Build'} + 1 if $pkg->{'state'} eq 'Needs-Build'; return ""; }, $pkg, $var), + 'F' => make_fmt( sub { return "" unless $pkg->{'failed'}; + return $pkg->{'package'}."#".$arch."-failure\n ". + join("\\0a",split("\n",$pkg->{'failed'}))."\\0a\n"; }, $pkg, $var), 'D' => make_fmt( sub { return "" unless $pkg->{'bd_problem'}; return $pkg->{'package'}."#".$arch."-bd-problem\n". join("\\0a",split("\n",$pkg->{'bd_problem'}))."\\0a\n"; }, $pkg, $var), @@ -2463,7 +2467,7 @@ sub transactions_table_name { sub get_readonly_source_info { my $name = shift; # SELECT FLOOR(EXTRACT('epoch' FROM age(localtimestamp, '2010-01-22 23:45')) / 86400) -- change to that? - my $pkg = $dbh->selectrow_hashref('SELECT *, extract(days from date_trunc(\'days\', now() - state_change::timestamp)) as state_days FROM ' . + my $pkg = $dbh->selectrow_hashref('SELECT *, extract(days from date_trunc(\'days\', now() - state_change)) as state_days FROM ' . table_name() . ' WHERE package = ? AND distribution = ?', undef, $name, $distribution); return $pkg; @@ -2471,7 +2475,7 @@ sub get_readonly_source_info { sub get_source_info { my $name = shift; - my $pkg = $dbh->selectrow_hashref('SELECT *, extract(days from date_trunc(\'days\', now() - state_change::timestamp)) as state_days FROM ' . + my $pkg = $dbh->selectrow_hashref('SELECT *, extract(days from date_trunc(\'days\', now() - state_change)) as state_days FROM ' . table_name() . ' WHERE package = ? AND distribution = ?' . ' FOR UPDATE', undef, $name, $distribution); @@ -2482,8 +2486,8 @@ sub get_all_source_info { my %options = @_; my $q = 'SELECT *, '. - 'extract(days from date_trunc(\'days\', now() - state_change::timestamp)) as state_days, '. - 'date_trunc(\'seconds\', now() - state_change::timestamp) as state_time'. + 'extract(days from date_trunc(\'days\', now() - state_change)) as state_days, '. + 'date_trunc(\'seconds\', now() - state_change) as state_time'. ' FROM ' . table_name() . ' WHERE distribution = ? '; my @args = ($distribution); @@ -2506,12 +2510,12 @@ sub get_all_source_info { } if ($options{list_min_age} > 0) { - $q .= ' AND age(state_change::timestamp) > ? '; + $q .= ' AND age(state_change) > ? '; push @args, $options{list_min_age} . " days"; } if ($options{list_min_age} < 0) { - $q .= ' AND age(state_change::timestamp) < ? '; + $q .= ' AND age(state_change) < ? '; push @args, -$options{list_min_age} . " days"; }