4fa64d1bd3f493e363b3a75418e3286b76a6b083
[buildfarm-server.git] / list_buildsystems.pl
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5 use DBI;
6 use Data::Dumper;
7
8 use vars qw($dbhost $dbname $dbuser $dbpass $dbport
9 );
10 require "$ENV{BFConfDir}/BuildFarmWeb.pl";
11
12 die "no dbname" unless $dbname;
13 die "no dbuser" unless $dbuser;
14
15 my $dsn="dbi:Pg:dbname=$dbname";
16 $dsn .= ";host=$dbhost" if $dbhost;
17 $dsn .= ";port=$dbport" if $dbport;
18
19 my $db = DBI->connect($dsn,$dbuser,$dbpass);
20
21 die $DBI::errstr unless $db;
22
23 my $sth = $db->prepare(q[ 
24        SELECT name, status, operating_system, os_version, sys_owner, owner_email
25        FROM buildsystems AS b
26        ORDER BY name ASC
27       ]);
28 $sth->execute();
29
30 my $format = "%-10s %-10s %-18s %-20s %-18s %-s\n";
31 printf $format, "SysName", "Status", "Owner", "Email", "Distro", "Version";
32 while (my $row = $sth->fetchrow_hashref)
33 {
34   printf $format, $row->{name}, $row->{status}, $row->{sys_owner},
35                   $row->{owner_email}, $row->{operating_system},
36                   $row->{os_version};
37 }
38 $db->disconnect();