X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/17caf1b19355813fa7a58828d4979ecf21b1e1f9..997255f04c2c9bbbd3291b210255d1b9212915ae:/doc/cache.sgml diff --git a/doc/cache.sgml b/doc/cache.sgml index 2e80838fa..7d2334761 100644 --- a/doc/cache.sgml +++ b/doc/cache.sgml @@ -4,7 +4,7 @@ APT Cache File Format Jason Gunthorpe jgg@debian.org -$Id: cache.sgml,v 1.6 1999/02/01 02:22:11 jgg Exp $ +$Id: cache.sgml,v 1.8 2001/02/20 07:03:17 jgg Exp $ This document describes the complete implementation and format of the APT @@ -140,11 +140,13 @@ This is the first item in the file. unsigned long VersionCount; unsigned long DependsCount; unsigned long PackageFileCount; - unsigned long MaxVerFileSize; // Offsets unsigned long FileList; // PackageFile unsigned long StringList; // StringItem + unsigned long VerSysName; // StringTable + unsigned long Architecture; // StringTable + unsigned long MaxVerFileSize; // Allocation pools struct @@ -155,7 +157,7 @@ This is the first item in the file. } Pools[7]; // Package name lookup - unsigned long HashTable[512]; // Package + unsigned long HashTable[2*1024]; // Package }; @@ -191,9 +193,15 @@ the client should refuse the load the file. DependsCount PackageFileCount These indicate the number of each structure contianed in the cache. -PackageCount is especially usefull for generating user state structures. +PackageCount is especially useful for generating user state structures. See Package::Id for more info. +VerSysName +String representing the versiong system used for this cache + +Architecture +Architecture the cache was built against. + MaxVerFileSize The maximum size of a raw entry from the original Package file (ie VerFile::Size) is stored here. @@ -252,9 +260,7 @@ the Header->HashTable. // Pointers unsigned long Name; // Stringtable unsigned long VersionList; // Version - unsigned long TargetVer; // Version unsigned long CurrentVer; // Version - unsigned long TargetDist; // StringTable (StringItem) unsigned long Section; // StringTable (StringItem) // Linked lists @@ -286,17 +292,10 @@ package. In this way multiple versions of a package can be cleanly handled by the system. Furthermore, this linked list is guarenteed to be sorted from Highest version to lowest version with no duplicate entries. -TargetVer CurrentVer -This is an index (pointer) to the sub version that is being targeted for -upgrading. CurrentVer is an index to the installed version, either can be +CurrentVer is an index to the installed version, either can be 0. -TargetDist -This indicates the target distribution. Automatic upgrades should not go -outside of the specified dist. If it is 0 then the global target dist should -be used. The string should be contained in the StringItem list. - Section This indicates the deduced section. It should be "Unknown" or the section of the last parsed item. @@ -334,7 +333,7 @@ status file emitter uses this to track which packages have been emitted already. Flags -Flags are some usefull indicators of the package's state. +Flags are some useful indicators of the package's state. @@ -357,6 +356,8 @@ Header.FileList unsigned long Origin; // Stringtable unsigned long Label; // Stringtable unsigned long Architecture; // Stringtable + unsigned long Site; // Stringtable + unsigned long IndexType; // Stringtable unsigned long Size; // Linked list @@ -381,6 +382,12 @@ Refers the the physical disk file that this PacakgeFile represents. This is the release information. Please see the files document for a description of what the release information means. +Site +The site the index file was fetched from. + +IndexType +A string indicating what sort of index file this is. + Size Size is provided as a simple check to ensure that the package file has not been altered. @@ -425,6 +432,7 @@ VerStr). unsigned long Size; unsigned long InstalledSize; + unsigned long Hash; unsigned short ID; unsigned char Priority; }; @@ -465,6 +473,10 @@ Head of the linked list of Provides::NextPkgProv, forward provides. The archive size for this version. For debian this is the size of the .deb file. Installed size is the uncompressed size for this version +Hash +This is a characteristic value representing this package. No two packages +in existance should have the same VerStr and Hash with different contents. + ID See Package::ID. @@ -617,7 +629,7 @@ this version. StringItem

StringItem is used for generating single instances of strings. Some things -like Section Name are are usefull to have as unique tags. It is part of +like Section Name are are useful to have as unique tags. It is part of a linked list based at Header::StringList. struct StringItem