our $ignoredirty = 0;
our $rmonerror = 1;
our @deliberatelies;
+our %supersedes;
our $existing_package = 'dpkg';
our $cleanmode = 'dpkg-source';
our $changes_since_version;
return $d;
}
+our %rmad;
+
+sub archive_query ($) {
+ my ($method) = @_;
+ my $query = access_cfg('archive-query','RETURN-UNDEF');
+ $query =~ s/^(\w+):// or badcfg "invalid archive-query method \`$query'";
+ my $proto = $1;
+ my $data = $'; #';
+ { no strict qw(refs); &{"${method}_${proto}"}($proto,$data); }
+}
+
+sub pool_dsc_subpath ($$) {
+ my ($vsn,$component) = @_; # $package is implict arg
+ my $prefix = substr($package, 0, $package =~ m/^l/ ? 4 : 1);
+ return "/pool/$component/$prefix/$package/".dscfn($vsn);
+}
+
+#---------- `ftpmaster-api' archive query method (nascent) ----------
+
sub archive_api_query_cmd ($) {
my ($subpath) = @_;
my @cmd = qw(curl -sS);
return @cmd;
}
-our %rmad;
-
-sub archive_query ($) {
- my ($method) = @_;
- my $query = access_cfg('archive-query','RETURN-UNDEF');
- $query =~ s/^(\w+):// or badcfg "invalid archive-query method \`$query'";
- my $proto = $1;
- my $data = $'; #';
- { no strict qw(refs); &{"${method}_${proto}"}($proto,$data); }
-}
-
-sub pool_dsc_subpath ($$) {
- my ($vsn,$component) = @_; # $package is implict arg
- my $prefix = substr($package, 0, $package =~ m/^l/ ? 4 : 1);
- return "/pool/$component/$prefix/$package/".dscfn($vsn);
-}
+#---------- `madison' archive query method ----------
sub archive_query_madison {
return map { [ @$_[0..1] ] } madison_get_parse(@_);
return $r[0][2];
}
+#---------- `sshpsql' archive query method ----------
+
sub sshpsql ($$$) {
my ($data,$runeinfo,$sql) = @_;
if (!length $data) {
return $rows[0];
}
+#---------- `dummycat' archive query method ----------
+
sub canonicalise_suite_dummycat ($$) {
my ($proto,$data) = @_;
my $dpath = "$data/suite.$isuite";
return sort { -version_compare($a->[0],$b->[0]); } @rows;
}
+#---------- archive query entrypoints and rest of program ----------
+
sub canonicalise_suite () {
return if defined $csuite;
fail "cannot operate on $isuite suite" if $isuite eq 'UNRELEASED';
# to control the "tagger" (b) we can do remote signing
my $authline = clogp_authline $clogp;
my $delibs = join(" ", "",@deliberatelies);
+ my $declaredistro = access_basedistro();
open TO, '>', $tfn->('.tmp') or die $!;
print TO <<END or die $!;
object $head
tagger $authline
$package release $cversion for $clogsuite ($csuite) [dgit]
-[dgit distro=$distro$delibs]
+[dgit distro=$declaredistro$delibs]
END
foreach my $ref (sort keys %supersedes) {
print TO <<END or die $!;