Browse Source

merged from lp:~pitti/apt/compressed-indexes

tags/debian/0.8.7
Michael Vogt 11 years ago
parent
commit
0750e90da1
2 changed files with 43 additions and 9 deletions
  1. +35
    -9
      apt-pkg/deb/debindexfile.cc
  2. +8
    -0
      test/test-indexes.sh

+ 35
- 9
apt-pkg/deb/debindexfile.cc View File

@@ -149,11 +149,20 @@ bool debSourcesIndex::Exists() const
/* */
unsigned long debSourcesIndex::Size() const
{
unsigned long size = 0;

/* we need to ignore errors here; if the lists are absent, just return 0 */
_error->PushToStack();

FileFd f = FileFd (IndexFile("Sources"), FileFd::ReadOnlyGzip);
if (!f.Failed())
size = f.Size();

if (f.Failed())
return 0;
return f.Size();
if (_error->PendingError() == true)
size = 0;
_error->RevertToStack();

return size;
}
/*}}}*/

@@ -269,11 +278,20 @@ bool debPackagesIndex::Exists() const
/* This is really only used for progress reporting. */
unsigned long debPackagesIndex::Size() const
{
unsigned long size = 0;

/* we need to ignore errors here; if the lists are absent, just return 0 */
_error->PushToStack();

FileFd f = FileFd (IndexFile("Packages"), FileFd::ReadOnlyGzip);
if (!f.Failed())
size = f.Size();

if (f.Failed())
return 0;
return f.Size();
if (_error->PendingError() == true)
size = 0;
_error->RevertToStack();

return size;
}
/*}}}*/
// PackagesIndex::Merge - Load the index file into a cache /*{{{*/
@@ -460,12 +478,20 @@ bool debTranslationsIndex::Exists() const
/* This is really only used for progress reporting. */
unsigned long debTranslationsIndex::Size() const
{
unsigned long size = 0;

/* we need to ignore errors here; if the lists are absent, just return 0 */
_error->PushToStack();

FileFd f = FileFd (IndexFile(Language), FileFd::ReadOnlyGzip);
if (!f.Failed())
size = f.Size();

if (f.Failed())
return 0;
if (_error->PendingError() == true)
size = 0;
_error->RevertToStack();

return f.Size();
return size;
}
/*}}}*/
// TranslationsIndex::Merge - Load the index file into a cache /*{{{*/


+ 8
- 0
test/test-indexes.sh View File

@@ -135,6 +135,14 @@ echo "deb-src $TEST_SOURCE" >> etc/apt/sources.list
echo "RootDir \"$WORKDIR\";" > apt_config
export APT_CONFIG=`pwd`/apt_config

echo "==== no indexes ===="
echo '--- apt-get check works without indexes'
[ -z `$APT_GET check` ]
echo '--- apt-cache policy works without indexes'
$APT_CACHE policy bash >/dev/null
echo '--- apt-cache show works without indexes'
! LC_MESSAGES=C $APT_CACHE show bash 2>&1| grep -q 'E: No packages found'

echo "===== uncompressed indexes ====="
check_update
check_indexes


Loading…
Cancel
Save