summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2015-09-07 11:39:52 +0200
committerMichael Vogt <mvo@ubuntu.com>2015-09-07 11:39:52 +0200
commit2861bd9a2687dbd744997fddcfe90475be525bf0 (patch)
treec48aa42df9cbfdafcf78fc870e4cab954fc6a6c5
parent7852873a1347fcab50393b545cc1e6edd65531c8 (diff)
Ensure that no by-hash file for "Release/InRelease is written"
Git-Dch: ignore Brown-paperbag: yes Thanks: Donkult
-rw-r--r--ftparchive/writer.cc4
-rwxr-xr-xtest/integration/test-apt-update-simple15
2 files changed, 18 insertions, 1 deletions
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index 82049836a..eff68f07e 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -1085,8 +1085,10 @@ bool ReleaseWriter::DoPackage(string FileName)
{
if (!h->usable())
continue;
- std::string ByHashOutputFile = GenByHashFilename(Input, *h);
+ if (flNotDir(FileName) == "Release" || flNotDir(FileName) == "InRelease")
+ continue;
+ std::string ByHashOutputFile = GenByHashFilename(Input, *h);
std::string ByHashOutputDir = flNotFile(ByHashOutputFile);
if(!CreateDirectory(flNotFile(Input), ByHashOutputDir))
return _error->Warning("can not create dir %s", flNotFile(ByHashOutputFile).c_str());
diff --git a/test/integration/test-apt-update-simple b/test/integration/test-apt-update-simple
new file mode 100755
index 000000000..2ec8cef0c
--- /dev/null
+++ b/test/integration/test-apt-update-simple
@@ -0,0 +1,15 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64'
+
+insertpackage 'unstable' 'unrelated' 'all' '0.5~squeeze1'
+insertsource 'unstable' 'unrelated' 'all' '0.5~squeeze1'
+
+setupaptarchive --no-update
+changetowebserver
+
+testsuccess aptget update -o Debug::Acquire::Auth=1