Browse Source

let {dsc,tar,diff}-only implicitly enable download-only

That was the case already for tar-only and diff-only, but in a more
confusing way and without a message while dsc "worked" before resulting
in a dpkg-source error shortly after as tar/diff files aren't available…
tags/debian/1.4_beta3
David Kalnischkies 4 years ago
parent
commit
58ebb3017b
3 changed files with 6 additions and 10 deletions
  1. +3
    -7
      apt-private/private-source.cc
  2. +1
    -1
      test/integration/test-apt-cdrom
  3. +2
    -2
      test/integration/test-sourceslist-trusted-options

+ 3
- 7
apt-private/private-source.cc View File

@@ -495,7 +495,7 @@ bool DoSource(CommandLine &CmdL)
return _error->Error(_("Failed to fetch some archives."));
}

if (_config->FindB("APT::Get::Download-only",false) == true)
if (diffOnly || tarOnly || dscOnly || _config->FindB("APT::Get::Download-only",false) == true)
{
c1out << _("Download complete and in download only mode") << std::endl;
return true;
@@ -509,13 +509,9 @@ bool DoSource(CommandLine &CmdL)
bool const fixBroken = _config->FindB("APT::Get::Fix-Broken", false);
for (unsigned I = 0; I != J; ++I)
{
std::string Dir = Dsc[I].Package + '-' + Cache.GetPkgCache()->VS->UpstreamVersion(Dsc[I].Version.c_str());

// Diff only mode only fetches .diff files
if (_config->FindB("APT::Get::Diff-Only",false) == true ||
_config->FindB("APT::Get::Tar-Only",false) == true ||
Dsc[I].Dsc.empty() == true)
if (unlikely(Dsc[I].Dsc.empty() == true))
continue;
std::string const Dir = Dsc[I].Package + '-' + Cache.GetPkgCache()->VS->UpstreamVersion(Dsc[I].Version.c_str());

// See if the package is already unpacked
struct stat Stat;


+ 1
- 1
test/integration/test-apt-cdrom View File

@@ -112,7 +112,7 @@ Conf testing:i386 (0.8.15 stable [i386])' aptget install testing:i386 -s
rm -f testing_0.8.15_amd64.deb

rm -f testing_0.8.15.dsc
testsuccess aptget source testing --dsc-only -d
testsuccess aptget source testing --dsc-only
testsuccess test -s testing_0.8.15.dsc
rm -f testing_0.8.15.dsc
cd - >/dev/null


+ 2
- 2
test/integration/test-sourceslist-trusted-options View File

@@ -26,7 +26,7 @@ foo/stable 1 amd64
testsuccess test -s foo_1_amd64.deb -o -s foo_2_amd64.deb

rm -f foo_1.dsc foo_2.dsc
testsuccess aptget source foo --dsc-only -d "$@"
testsuccess aptget source foo --dsc-only "$@"
testsuccess test -s foo_1.dsc -o -s foo_2.dsc
cd - >/dev/null
}
@@ -48,7 +48,7 @@ E: Some packages could not be authenticated'
testfailure test -s foo_1_amd64.deb -o -s foo_2_amd64.deb

rm -f foo_1.dsc foo_2.dsc
testfailure aptget source foo --dsc-only -d "$@"
testfailure aptget source foo --dsc-only "$@"
testequal "$WARNING" tail -n 3 ../rootdir/tmp/testfailure.output
testfailure test -s foo_1.dsc -o -s foo_2.dsc
cd - >/dev/null


Loading…
Cancel
Save