From ff7b9d901d2018d01202853ad67ee65383fe3d55 Mon Sep 17 00:00:00 2001 From: lethliel Date: Wed, 8 Nov 2017 17:24:38 +0100 Subject: [PATCH] [backend] provide list of multibuild pkgs new function to provide a list of multibuild subpackages for the given packages. Returns an empty string if not a multibuild setup at all. /source/$project/$package?view=getmultibuild --- src/backend/bs_srcserver | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/backend/bs_srcserver b/src/backend/bs_srcserver index 6c7a7e91ba7..c4e373231f2 100755 --- a/src/backend/bs_srcserver +++ b/src/backend/bs_srcserver @@ -4275,6 +4275,17 @@ sub getbuildreason { return ($reason, $BSXML::buildreason); } +sub getmultibuildpackages { + my ($cgi, $projid, $packid) = @_; + my $pack_hash = {}; + my $mb = BSSrcServer::Multibuild::getmultibuild($projid, $packid) || {}; + foreach my $pack (@{$mb->{'package'}}) { + my $entry = {'name' => $pack}; + push @{$pack_hash->{'entry'}}, $entry; + } + return ($pack_hash, $BSXML::dir); +} + sub getbuildstatus { my ($cgi, $projid, $repoid, $arch, $packid) = @_; checkprojrepoarch($projid, $repoid, $arch); @@ -6096,6 +6107,7 @@ my $dispatches = [ 'PUT:/source/$project/$package cmd: rev? user:? comment:?' => \&sourcecommitfilelist, # obsolete + '/source/$project/$package view=getmultibuild' => \&getmultibuildpackages, '/source/$project/$package view=info rev? linkrev? parse:bool? nofilename:bool? repository? arch? withchangesmd5:bool?' => \&getpackagesourceinfo, '/source/$project/$package rev? linkrev? emptylink:bool? deleted:bool? expand:bool? view:? extension:? lastworking:bool? withlinked:bool? meta:bool? product:?' => \&getfilelist, '/source/$project/$package/_history rev? meta:bool? deleted:bool? limit:num?' => \&getpackagehistory,