#!/usr/bin/perl # # This is a fake wanna-build. Its sole purpose is to provide a means # to test buildd in isolation, without a full wanna-build database and # associated intrastructure. This currently only permits testing of # buildd, and not buildd-mail or buildd-uploader. # use strict; use warnings; use Getopt::Long qw(:config no_ignore_case auto_abbrev gnu_getopt); our $api = 1; our $arch = "amd64"; our $list = undef; our $dist = "unstable"; our $verbose = 0; our $command = "take"; our $user = "buildd"; our $database = "db"; my @options = ( 'api=i' => \$api, 'arch|A=s' => \$arch, 'list|l=s' => sub { $command="list"; $list=$_[1]; }, 'dist|d=s' => \$dist, 'verbose|v' => \$verbose, 'building|take' => sub { $command="take" }, 'built' => sub { $command="built" }, 'attempted' => sub { $command="attempted" }, 'needs-build|give-back' => sub { $command="needs-build" }, 'info|i' => sub { $command="info" }, 'user=s' => \$user, 'database=s' => \$database ); GetOptions(@options); my $output = "unknown output for action\n"; if ($command eq "take") { if ($verbose) { $output = <<"EOF"; wanna-build c9531211e54a03cff965eebc3fe617ea8539f7ba for sid on amd64 - bash: - status: ok - pkg-ver: bash_4.2-1 - archive: ftp-master uupdate transactions: bash sid 4.1-3 --take Installed Building rleigh rleigh \$VAR1 = { 'state_days' => '52', 'priority' => 'source', 'rel' => undef, 'state_change' => '2012 Jan 21 16:19:15', 'successtime' => 694, 'permbuildpri' => undef, 'extra_depends' => undef, 'section' => 'shells', 'failed' => undef, 'buildpri' => undef, 'state' => 'Building', 'binary_nmu_changelog' => undef, 'anytime' => 694, 'bd_problem' => undef, 'state_time' => '4510370', 'build_arch_all' => 0, 'version' => '4.1-3', 'package' => 'bash', 'distribution' => 'sid', 'extra_conflicts' => undef, 'installed_version' => '4.2-1', 'notes' => 'out-of-date', 'do_state_change' => 1, 'builder' => 'rleigh', 'old_failed' => undef, 'binary_nmu_version' => undef, 'previous_state' => 'Installed', 'depends' => undef }; EOF } else { $output = <<"EOF"; - bash: - status: ok - pkg-ver: bash_4.2-1 - archive: ftp-master update transactions: bash sid 4.2-1 --take Needs-Build Building rleigh rleigh EOF } } elsif ($command eq "built") { $output = <<"EOF"; update transactions: bash sid 4.2-1 --built Building Built rleigh rleigh EOF } elsif ($command eq "attempted") { $output = <<"EOF"; update transactions: bash sid 4.2-1 --attempted Building Build-Attempted rleigh rleigh EOF } elsif ($command eq "needs-build") { $output = <<"EOF"; update transactions: bash sid 4.2-1 --give-back Building BD-Uninstallable rleigh rleigh EOF } elsif ($command eq "info") { $output = <<"EOF"; bash: Package : bash Version : 4.2-1 Builder : buildd_amd64-barber State : Needs-Build Section : shells Priority : source Installed-Version : 4.1-3 Previous-State : Installed State-Change : 2011-11-30 11:26:24.40323 Build-time : 694 Build-Arch-All : 0 CalculatedPri : 52 component : main Distribution : sid Notes : out-of-date State-Days : 52 State-Time : 4510444 Success-build-time : 694 EOF } elsif ($command eq "list" && $list eq "needs-build") { $output = <<"EOF"; libs/bash_4.2-1 [optional:out-of-date:calprio{49}:days{0}] Total 1 package(s) EOF } print "$output";