$dbh = DBI->connect("DBI:Pg:service=wanna-build") ||
die "FATAL: Cannot open database: $DBI::errstr\n";
$schema_suffix = '_public';
$dbh = DBI->connect("DBI:Pg:service=wanna-build") ||
die "FATAL: Cannot open database: $DBI::errstr\n";
$schema_suffix = '_public';
$distribution = $distribution_aliases{$distribution} if (isin($distribution, keys %distribution_aliases));
$op_mode ||= "set-building";
$distribution = $distribution_aliases{$distribution} if (isin($distribution, keys %distribution_aliases));
$op_mode ||= "set-building";
if ($distribution) {
my @dists = split(/[, ]+/, $distribution);
foreach my $dist (@dists) {
die "Bad distribution '$distribution'\n"
if ($distribution) {
my @dists = split(/[, ]+/, $distribution);
foreach my $dist (@dists) {
die "Bad distribution '$distribution'\n"
if ($verbose) {
my $version = '$Revision: db181a534e9d $ $Date: 2008/03/26 06:20:22 $ $Author: rmurray $';
$version =~ s/(^\$| \$ .*$)//g;
if ($verbose) {
my $version = '$Revision: db181a534e9d $ $Date: 2008/03/26 06:20:22 $ $Author: rmurray $';
$version =~ s/(^\$| \$ .*$)//g;
}
if (!isin($op_mode, qw<distribution-architectures distribution-aliases>)) {
die "need an architecture" unless $arch;
}
if (!isin($op_mode, qw<distribution-architectures distribution-aliases>)) {
die "need an architecture" unless $arch;
- my $rows = $dbh->selectall_hashref('SELECT distribution as d from distribution_architectures where architecture=? and distribution=?', [qw<d>], undef, ($arch, $distribution)) if $distribution;
+ my $rows = $dbh->selectall_hashref('SELECT distribution as d from distribution_architectures where architecture=? and distribution=?', [qw<d>], undef, ($arch, $distribution//"sid")) if ($distribution//"") ne 'any';
$rows = $dbh->selectall_hashref('SELECT distribution as d from distribution_architectures where architecture=?', [qw<d>], undef, ($arch,)) unless $rows;
$rows = $dbh->selectall_hashref('SELECT distribution as d from distribution_architectures where architecture=?', [qw<d>], undef, ($arch,)) unless $rows;
SWITCH: foreach ($op_mode) {
/^set-(.+)/ && do {
add_packages( $1, @ARGV );
SWITCH: foreach ($op_mode) {
/^set-(.+)/ && do {
add_packages( $1, @ARGV );
my $q = 'SELECT distribution, spacecat_all(architecture) AS architectures '.
'FROM distribution_architectures '.
'GROUP BY distribution';
my $rows = $dbh->selectall_hashref($q, 'distribution');
my $q = 'SELECT distribution, spacecat_all(architecture) AS architectures '.
'FROM distribution_architectures '.
'GROUP BY distribution';
my $rows = $dbh->selectall_hashref($q, 'distribution');
- $dbh->do('LOCK TABLE ' . table_name() .
- ' IN EXCLUSIVE MODE', undef) or die $dbh->errstr;
+ $dbh->do('SELECT 1 FROM ' . table_name() .
+ ' WHERE distribution = ? FOR UPDATE', undef, $distribution) or die $dbh->errstr;