summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2018-05-24 13:04:22 +0000
committerJulian Andres Klode <jak@debian.org>2018-05-24 13:04:22 +0000
commit6eaeec549241677335813af78f394010e5b3eefb (patch)
tree2860b6b7472c0b8c8b4dbd4e577d06bed465aece /apt-pkg
parentb367f2d393fa95a386feb03a64d4bf5e32cc28a4 (diff)
parent6085ab7488326cfed8f82e07eefcbc2dc40d4bea (diff)
Merge branch 'feature/morevolatilesupport' into 'master'
more volatile: build-dep foo.deb/release & show foo.deb See merge request apt-team/apt!14
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/cacheiterators.h2
-rw-r--r--apt-pkg/deb/debindexfile.cc26
-rw-r--r--apt-pkg/pkgcache.cc14
3 files changed, 12 insertions, 30 deletions
diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h
index 52915aae4..20853061e 100644
--- a/apt-pkg/cacheiterators.h
+++ b/apt-pkg/cacheiterators.h
@@ -422,6 +422,7 @@ class pkgCache::RlsFileIterator : public Iterator<ReleaseFile, RlsFileIterator>
inline const char *Site() const {return S->Site == 0?0:Owner->StrP + S->Site;}
inline bool Flagged(pkgCache::Flag::ReleaseFileFlags const flag) const {return (S->Flags & flag) == flag; }
+ APT_DEPRECATED_MSG("Can be remove without replacement; it is a no-op")
bool IsOk();
std::string RelStr();
@@ -457,6 +458,7 @@ class pkgCache::PkgFileIterator : public Iterator<PackageFile, PkgFileIterator>
inline const char *Architecture() const {return S->Architecture == 0?0:Owner->StrP + S->Architecture;}
inline const char *IndexType() const {return S->IndexType == 0?0:Owner->StrP + S->IndexType;}
+ APT_DEPRECATED_MSG("Can be remove without replacement; it is a no-op")
bool IsOk();
std::string RelStr();
diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc
index 10ebd1d3e..f7e3c7a5c 100644
--- a/apt-pkg/deb/debindexfile.cc
+++ b/apt-pkg/deb/debindexfile.cc
@@ -185,28 +185,22 @@ bool debDebPkgFileIndex::GetContent(std::ostream &content, std::string const &de
if(Popen((const char**)&Args[0], PipeFd, Child, FileFd::ReadOnly) == false)
return _error->Error("Popen failed");
- content << "Filename: " << debfile << "\n";
- content << "Size: " << std::to_string(Buf.st_size) << "\n";
+ std::string line;
bool first_line_seen = false;
- char buffer[1024];
- do {
- unsigned long long actual = 0;
- if (PipeFd.Read(buffer, sizeof(buffer)-1, &actual) == false)
- return _error->Errno("read", "Failed to read dpkg pipe");
- if (actual == 0)
- break;
- buffer[actual] = '\0';
- char const * b = buffer;
+ while (PipeFd.ReadLine(line))
+ {
if (first_line_seen == false)
{
- for (; *b != '\0' && (*b == '\n' || *b == '\r'); ++b)
- /* skip over leading newlines */;
- if (*b == '\0')
+ if (line.empty())
continue;
first_line_seen = true;
}
- content << b;
- } while(true);
+ else if (line.empty())
+ break;
+ content << line << "\n";
+ }
+ content << "Filename: " << debfile << "\n";
+ content << "Size: " << std::to_string(Buf.st_size) << "\n";
ExecWait(Child, "Popen");
return true;
diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc
index 6b9c645a4..92f0cb777 100644
--- a/apt-pkg/pkgcache.cc
+++ b/apt-pkg/pkgcache.cc
@@ -968,13 +968,6 @@ const char * pkgCache::VerIterator::MultiArchType() const
included here. */
bool pkgCache::RlsFileIterator::IsOk()
{
- struct stat Buf;
- if (stat(FileName(),&Buf) != 0)
- return false;
-
- if (Buf.st_size != (signed)S->Size || Buf.st_mtime != S->mtime)
- return false;
-
return true;
}
/*}}}*/
@@ -1002,13 +995,6 @@ string pkgCache::RlsFileIterator::RelStr()
included here. */
bool pkgCache::PkgFileIterator::IsOk()
{
- struct stat Buf;
- if (stat(FileName(),&Buf) != 0)
- return false;
-
- if (Buf.st_size != (signed)S->Size || Buf.st_mtime != S->mtime)
- return false;
-
return true;
}
/*}}}*/