diff options
author | Julian Andres Klode <julian.klode@canonical.com> | 2020-08-10 20:16:11 +0200 |
---|---|---|
committer | Julian Andres Klode <julian.klode@canonical.com> | 2021-01-08 14:48:47 +0100 |
commit | c5bc86d45e003905ef411146e66b414d26fb1ff8 (patch) | |
tree | 31c634c53df882a26dcbdb8b489c6c23101ec285 /apt-pkg/pkgcache.h | |
parent | 4d28ddc501738d571c21ff6d41168f6c53ea462d (diff) |
Add support for Phased-Update-Percentage
This adds support for Phased-Update-Percentage by pinning
upgrades that are not to be installed down to 1.
The output of policy has been changed to add the level of
phasing, and documentation has been improved to document
how phased updates work.
The patch detects if it is running in a chroot, and if so, always
includes phased updates, restoring classic apt behavior to avoid
behavioral changes on buildd chroots.
Various options are added to control this all:
* APT::Get::{Always,Never}-Include-Phased-Updates and their legacy
update-manager equivalents to always or never include phased updates
* APT::Machine-ID can be set to a UUID string to have all machines in a
fleet phase the same
* Dir::Etc::Machine-ID is weird in that it's default is sort of like
../machine-id, but not really, as ../machine-id would look up
$PWD/../machine-id and not relative to Dir::Etc; but it allows you to
override the path to machine-id (as opposed to the value)
* Dir::Bin::ischroot is the path to the ischroot(1) binary which is used
to detect whether we are running in a chroot.
Diffstat (limited to 'apt-pkg/pkgcache.h')
-rw-r--r-- | apt-pkg/pkgcache.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 6c6a4664e..55baa3cef 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -623,6 +623,8 @@ struct pkgCache::DescFile or handled as separate versions based on the Hash value. */ struct pkgCache::Version { + struct Extra; + /** \brief complete version string */ map_stringitem_t VerStr; /** \brief section this version is filled in */ @@ -688,8 +690,16 @@ struct pkgCache::Version map_pointer<Version> NextInSource; /** \brief Private pointer */ - map_pointer<void> d; + map_pointer<Extra> d; }; + +#ifdef APT_COMPILING_APT +/// \brief Extra information for packages. APT-internal use only. +struct pkgCache::Version::Extra +{ + uint8_t PhasedUpdatePercentage; +}; +#endif /*}}}*/ // Description structure /*{{{*/ /** \brief datamember of a linked list of available description for a version */ |