my $info = api_query($data, "file_in_archive/$pat", 1);
}
-sub package_wholly_new_ftpmasterapi {
+sub package_not_wholly_new_ftpmasterapi {
my ($proto,$data,$pkg) = @_;
my $info = api_query($data,"madison?package=${pkg}&f=json");
return !!@$info;
}
sub file_in_archive_aptget () { return undef; }
-sub package_wholly_new_aptget () { return undef; }
+sub package_not_wholly_new_aptget () { return undef; }
#---------- `dummyapicat' archive query method ----------
return \@out;
}
-sub package_wholly_new_dummycatapi {
+sub package_not_wholly_new_dummycatapi {
my ($proto,$data,$pkg) = @_;
dummycatapi_run_in_mirror "
find -name ${pkg}_*.dsc
}
sub file_in_archive_madison { return undef; }
-sub package_wholly_new_madison { return undef; }
+sub package_not_wholly_new_madison { return undef; }
#---------- `sshpsql' archive query method ----------
}
sub file_in_archive_sshpsql ($$$) { return undef; }
-sub package_wholly_new_sshpsql ($$$) { return undef; }
+sub package_not_wholly_new_sshpsql ($$$) { return undef; }
#---------- `dummycat' archive query method ----------
}
sub file_in_archive_dummycat () { return undef; }
-sub package_wholly_new_dummycat () { return undef; }
+sub package_not_wholly_new_dummycat () { return undef; }
#---------- tag format handling ----------
if ($sourconlypolicy eq 'ok') {
} elsif ($sourconlypolicy eq 'always') {
forceable_fail [qw(uploading-binaries)],
- "uploading binaries, although distroy policy is source only";
+ "uploading binaries, although distroy policy is source only"
+ if $hasdebs;
} elsif ($sourconlypolicy eq 'never') {
forceable_fail [qw(uploading-source-only)],
- "source-only upload, although distroy policy requires .debs";
+ "source-only upload, although distroy policy requires .debs"
+ if !$hasdebs;
} elsif ($sourconlypolicy eq 'not-wholly-new') {
- if ($new_package) {
- my $have = archive_query('package_',
+ forceable_fail [qw(uploading-source-only)],
+ "source-only upload, even though package is entirely NEW"
+ if !$hasdebs
+ && $new_package
+ && !archive_query('package_not_wholly_new', $package);
+ } else {
+ badcfg "unknown source-only-uploads policy \`$sourceonlypolicy'";
+ }
# Perhaps adjust .dsc to contain right set of origs
changes_update_origs_from_dsc($dsc, $changes, $upstreamversion,