chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix handling of rmadison-based and gitless distros (e.g., Ubuntu).
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index fa09ca35be8f536a5a31093a5dbd611e29c00b72..8d4588fc3f93aea9baeb0dd4a58aaa23b047d9c6 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-745,20
+745,21
@@
sub pool_dsc_subpath ($$) {
return "/pool/$component/$prefix/$package/".dscfn($vsn);
}
return "/pool/$component/$prefix/$package/".dscfn($vsn);
}
-sub archive_query_madison ($$) {
+sub archive_query_madison {
+ return map { [ @$_[0..1] ] } madison_get_parse(@_);
+}
+
+sub madison_get_parse {
my ($proto,$data) = @_;
die unless $proto eq 'madison';
if (!length $data) {
my ($proto,$data) = @_;
die unless $proto eq 'madison';
if (!length $data) {
- $data= access_cfg('madison-distro',access_basedistro());
+ $data= access_cfg('madison-distro','RETURN-UNDEF');
+ $data //= access_basedistro();
}
}
- $rmad{$package} ||= cmdoutput
+ $rmad{$p
roto,$data,$p
ackage} ||= cmdoutput
qw(rmadison -asource),"-s$isuite","-u$data",$package;
qw(rmadison -asource),"-s$isuite","-u$data",$package;
- my $rmad = $rmad{$package};
- return madison_parse($rmad);
-}
+ my $rmad = $rmad{$proto,$data,$package};
-sub madison_parse ($) {
- my ($rmad) = @_;
my @out;
foreach my $l (split /\n/, $rmad) {
$l =~ m{^ \s*( [^ \t|]+ )\s* \|
my @out;
foreach my $l (split /\n/, $rmad) {
$l =~ m{^ \s*( [^ \t|]+ )\s* \|
@@
-780,9
+781,9
@@
sub madison_parse ($) {
return sort { -version_compare($a->[0],$b->[0]); } @out;
}
return sort { -version_compare($a->[0],$b->[0]); } @out;
}
-sub canonicalise_suite_madison
($$)
{
+sub canonicalise_suite_madison {
# madison canonicalises for us
# madison canonicalises for us
- my @r =
archive_query_madison($_[0],$_[1]
);
+ my @r =
madison_get_parse(@_
);
@r or fail
"unable to canonicalise suite using package $package".
" which does not appear to exist in suite $isuite;".
@r or fail
"unable to canonicalise suite using package $package".
" which does not appear to exist in suite $isuite;".