On Tue, 1 Mar 2016 23:00:10 +0100 Guillem Jover wrote: > The debcheck script does not seem to support build-profiles as > specified in <https://wiki.debian.org/BuildProfileSpec>.
A long time ago I started working on converting debcheck from manual parsing to using libdpkg-perl, this should help support build profiles. I never found time to finish this conversion, attached my WIP patch. -- bye, pabs https://wiki.debian.org/PaulWise
From 234749ebc73022a6dde7aa5ae81dfa2f77f6caa2 Mon Sep 17 00:00:00 2001 From: Paul Wise <p...@debian.org> Date: Fri, 23 May 2014 12:52:07 +0800 Subject: [PATCH] wip --- data/debcheck/debcheck | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/data/debcheck/debcheck b/data/debcheck/debcheck index acc55cb..807e4a8 100755 --- a/data/debcheck/debcheck +++ b/data/debcheck/debcheck @@ -7,6 +7,7 @@ use strict; use Dpkg::ErrorHandling; use Dpkg::Version; +use Dpkg::Deps; report_options (quiet_warnings => 1); my $VERBOSE = -t 1; # output is a terminal @@ -333,8 +334,10 @@ sub checkRelationships($$$$$) { if (defined $Rpackages->{$packagename} && defined $Rpackages->{$packagename}->{$tocheck}) { + my $dependencies = deps_parse($Rpackages->{$packagename}->{$tocheck}); my $checknr=0; - for my $dependency ( split /\s*,\s*/, $Rpackages->{$packagename}->{$tocheck} ) { + die ("Could not parse '($Rpackages->{$packagename}->{$tocheck}'") if !defined $dependencies; + for my $dependency ($dependencies->get_deps()) { $checknr++; my %relationship_problems = (); my $at_least_one_ok_alternatives = 0; @@ -347,11 +350,12 @@ sub checkRelationships($$$$$) { if ($check_priority) { $this_priority = get_priority( $Rpackages->{$packagename} ); }; - for my $partdependency ( split /\s*\|\s*/, $dependency ) { + for my $partdependency ($dependency->get_deps()) { $partdependency =~ /^\s*([a-zA-Z0-9.+_-]+(?::[^\s]+)?)\s*(?:\((.*)\))?\s*$/x || die ("Could not parse '$partdependency'"); my $depends_name = $1; my $depends_version = $2; + my $depends_architecture = $3; if (defined $depends_version && ! ($depends_version =~ /^\s*(<=|<<|<|=|>|>=|>>)\s*([^=<>]*?)\s*$/)) { $Rproblems-> { $Rpackages->{$packagename}->{'Source'} }-> -- 2.7.0
signature.asc
Description: This is a digitally signed message part