X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/17443d48b60b1abad4d16a2b6a3e3b3199bfa7d3..5ed56f934dd204cc3a1d757ccf5eac23f8374736:/debian/apt.cron.daily?ds=sidebyside diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index 3973e63b5..8c0e4c416 100644 --- a/debian/apt.cron.daily +++ b/debian/apt.cron.daily @@ -49,7 +49,10 @@ # # APT::Periodic::Download-Upgradeable-Packages "0"; # - Do "apt-get upgrade --download-only" every n-days (0=disable) -# +# +# APT::Periodic::Download-Upgradeable-Packages-Debdelta "1"; +# - Use debdelta-upgrade to download updates if available (0=disable) +# # APT::Periodic::Unattended-Upgrade "0"; # - Run the "unattended-upgrade" security upgrade script # every n-days (0=disabled) @@ -317,6 +320,15 @@ debug_echo() # ------------------------ main ---------------------------- +# Backup the 7 last versions of APT's extended_states file +# shameless copy from dpkg cron +if cd /var/backups ; then + if ! cmp -s apt.extended_states.0 /var/lib/apt/extended_states; then + cp -p /var/lib/apt/extended_states apt.extended_states + savelog -c 7 apt.extended_states >/dev/null + fi +fi + # check apt-config exstance if ! which apt-config >/dev/null ; then exit 0 @@ -326,7 +338,7 @@ fi AutoAptEnable=1 # default is yes eval $(apt-config shell AutoAptEnable APT::Periodic::Enable) -if [ AutoAptEnable -eq 0 ]; then +if [ $AutoAptEnable -eq 0 ]; then exit 0 fi @@ -395,12 +407,19 @@ eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval) BackupArchiveInterval=0 eval $(apt-config shell BackupArchiveInterval APT::Periodic::BackupArchiveInterval) -# check if we actually have to do anything +Debdelta=1 +eval $(apt-config shell Debdelta APT::Periodic::Download-Upgradeable-Packages-Debdelta) + +# check if we actually have to do anything that requires locking the cache if [ $UpdateInterval -eq 0 ] && [ $DownloadUpgradeableInterval -eq 0 ] && [ $UnattendedUpgradeInterval -eq 0 ] && [ $BackupArchiveInterval -eq 0 ] && [ $AutocleanInterval -eq 0 ]; then + + # check cache size + check_size_constraints + exit 0 fi @@ -438,6 +457,9 @@ fi # download all upgradeable packages (if it is requested) DOWNLOAD_UPGRADEABLE_STAMP=/var/lib/apt/periodic/download-upgradeable-stamp if [ $UPDATED -eq 1 ] && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then + if [ $Debdelta -eq 1 ]; then + debdelta-upgrade >/dev/null 2>&1 || true + fi if eval apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR; then update_stamp $DOWNLOAD_UPGRADEABLE_STAMP debug_echo "download upgradable (success)"