]> git.donarmstrong.com Git - wannabuild.git/blobdiff - bin/wanna-build
Quote the \ for the output to db_load
[wannabuild.git] / bin / wanna-build
index 8aafba6cd8fda5e6c8d8f3cb1c26eb54762f5406..b1a3a3a6f5190835a0b1fed74950ace244637de4 100755 (executable)
@@ -1850,20 +1850,21 @@ Within an format string, the following values are allowed (need to be preceded b
 This can be combined to e.g.
 wanna-build --format='wanna-build -A %a --give-back %p_%v' -A mipsel --list=failed
 
-p Package name
 a Architecture
-s Time in this state in full seconds since epoch
-v Package version
-S Package state
-u Builder (e.g. buildd_mipsel-rem)
-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
+E in case of Dep-Wait the packages being waited on, in case of Needs-Build the number in the queue
+P previous state
+p Package name
+S Package state
+s Time in this state in full seconds since epoch
 t time of state change
+u Builder (e.g. buildd_mipsel-rem)
+v Package version
+V full Package version (i.e. with +b.., = %v%{+b}B%B
+X the string normally between [], e.g. optional:out-of-date:calprio{61}:days{25}
+F in case of Failed the fail reason
 
 %{Text}?  print Text in case ? is not empty; ? is never printed
 %{!Text}? print Text in case ? is empty; ? is never printed
@@ -1875,6 +1876,7 @@ Text could contain further %. To start with !, use %!
         'a' => make_fmt( $arch, $pkg, $var),
         's' => make_fmt( sub { return floor(str2time($pkg->{'state_change'})); }, $pkg, $var),
         'v' => make_fmt( $pkg->{'version'}, $pkg, $var),
+        'V' => make_fmt( sub { $pkg->{'binary_nmu_version'} ? $pkg->{'version'}."+b".$pkg->{'binary_nmu_version'} : $pkg->{'version'} }, $pkg, $var),
         'S' => make_fmt( $pkg->{'state'}, $pkg, $var),
         'u' => make_fmt( $pkg->{'builder'}, $pkg, $var),
         'X' => make_fmt( sub {
@@ -1892,8 +1894,10 @@ Text could contain further %. To start with !, use %!
             return $var->{scnt}{'Needs-Build'} + 1 if $pkg->{'state'} eq 'Needs-Build';
             return ""; }, $pkg, $var),
        'F' => make_fmt( sub { return "" unless $pkg->{'failed'};
+           my $failed = $pkg->{'failed'};
+           $failed =~ s/\\/\\\\/g;
             return $pkg->{'package'}."#".$arch."-failure\n ".
-           join("\\0a",split("\n",$pkg->{'failed'}))."\\0a\n"; }, $pkg, $var),
+           join("\\0a",split("\n",$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),
@@ -2467,7 +2471,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;
@@ -2475,7 +2479,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);
@@ -2486,8 +2490,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);
@@ -2510,12 +2514,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";
        }