Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package apt

This is the second much talked about timer change. Basically, in an
effort to reduce the load on the mirrors while keeping upgrades running
at a predictable time, we split the systemd timer into two, update (and
download) running anytime during the day; and unattended-upgrade running
in the 6..7am period. (On the Ubuntu side, we intend to backport this into
the current stable releases using systemd-based apt timers, BTW).

Also fixes a typo in the bash completion for apt(8).

(The attached debdiff uses -w, as the indentation in the script changed
 due to the ifs. That's more readable this way).

unblock apt/1.4.2

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (900, 'unstable'), (500, 'unstable-debug'), (500, 
'testing-proposed-updates'), (500, 'buildd-unstable'), (500, 'testing'), (100, 
'experimental'), (1, 'experimental-debug')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.10.0-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

-- 
Debian Developer - deb.li/jak | jak-linux.org - free software dev
                  |  Ubuntu Core Developer |
When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to ('inline').  Thank you.
diff -Nru -w apt-1.4.1/CMakeLists.txt apt-1.4.2/CMakeLists.txt
--- apt-1.4.1/CMakeLists.txt	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/CMakeLists.txt	2017-05-04 22:52:10.000000000 +0200
@@ -172,7 +172,7 @@
 # Configure some variables like package, version and architecture.
 set(PACKAGE ${PROJECT_NAME})
 set(PACKAGE_MAIL "APT Development Team <de...@lists.debian.org>")
-set(PACKAGE_VERSION "1.4.1")
+set(PACKAGE_VERSION "1.4.2")
 
 if (NOT DEFINED DPKG_DATADIR)
   execute_process(COMMAND ${PERL_EXECUTABLE} -MDpkg -e "print $Dpkg::DATADIR;"
diff -Nru -w apt-1.4.1/completions/bash/apt apt-1.4.2/completions/bash/apt
--- apt-1.4.1/completions/bash/apt	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/completions/bash/apt	2017-05-04 22:52:10.000000000 +0200
@@ -158,7 +158,7 @@
                     ' -- "$cur" ) )
                 return 0
                 ;;
-            clean|autocleean)
+            clean|autoclean)
                 COMPREPLY=( $( compgen -W '
                     -s --simulate --dry-run
                     ' -- "$cur" ) )
diff -Nru -w apt-1.4.1/debian/apt-daily.service apt-1.4.2/debian/apt-daily.service
--- apt-1.4.1/debian/apt-daily.service	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/debian/apt-daily.service	2017-05-04 22:52:10.000000000 +0200
@@ -1,9 +1,9 @@
 [Unit]
-Description=Daily apt activities
+Description=Daily apt download activities
 Documentation=man:apt(8)
 ConditionACPower=true
 
 [Service]
 Type=oneshot
-ExecStart=/usr/lib/apt/apt.systemd.daily
+ExecStart=/usr/lib/apt/apt.systemd.daily update
 
diff -Nru -w apt-1.4.1/debian/apt-daily.timer apt-1.4.2/debian/apt-daily.timer
--- apt-1.4.1/debian/apt-daily.timer	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/debian/apt-daily.timer	2017-05-04 22:52:10.000000000 +0200
@@ -1,11 +1,11 @@
 [Unit]
-Description=Daily apt activities
+Description=Daily apt download activities
 After=network-online.target
 Wants=network-online.target
 
 [Timer]
-OnCalendar=*-*-* 6:00
-RandomizedDelaySec=60m
+OnCalendar=*-*-* 6,18:00
+RandomizedDelaySec=12h
 Persistent=true
 
 [Install]
diff -Nru -w apt-1.4.1/debian/apt-daily-upgrade.service apt-1.4.2/debian/apt-daily-upgrade.service
--- apt-1.4.1/debian/apt-daily-upgrade.service	1970-01-01 01:00:00.000000000 +0100
+++ apt-1.4.2/debian/apt-daily-upgrade.service	2017-05-04 22:52:10.000000000 +0200
@@ -0,0 +1,9 @@
+[Unit]
+Description=Daily apt upgrade and clean activities
+Documentation=man:apt(8)
+ConditionACPower=true
+After=apt-daily.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/apt/apt.systemd.daily install
diff -Nru -w apt-1.4.1/debian/apt-daily-upgrade.timer apt-1.4.2/debian/apt-daily-upgrade.timer
--- apt-1.4.1/debian/apt-daily-upgrade.timer	1970-01-01 01:00:00.000000000 +0100
+++ apt-1.4.2/debian/apt-daily-upgrade.timer	2017-05-04 22:52:10.000000000 +0200
@@ -0,0 +1,11 @@
+[Unit]
+Description=Daily apt upgrade and clean activities
+After=apt-daily.timer
+
+[Timer]
+OnCalendar=*-*-* 6:00
+RandomizedDelaySec=60m
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff -Nru -w apt-1.4.1/debian/apt.systemd.daily apt-1.4.2/debian/apt.systemd.daily
--- apt-1.4.1/debian/apt.systemd.daily	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/debian/apt.systemd.daily	2017-05-04 22:52:10.000000000 +0200
@@ -292,6 +292,16 @@
 
 # ------------------------ main ----------------------------
 
+# Maintain a lock on fd 3, so we can't run the script twice at the same
+# time.
+LOCKFD=3
+eval $(apt-config shell StateDir Dir::State/d)
+exec 3>${StateDir}/daily_lock
+if ! flock -w 3600 $LOCKFD; then
+    echo "E: Could not acquire lock" >&2
+    exit 1
+fi
+
 if test -r /var/lib/apt/extended_states; then
     # Backup the 7 last versions of APT's extended_states file
     # shameless copy from dpkg cron
@@ -384,6 +394,7 @@
     exit 0
 fi
 
+if [ "$1" = "update" -o -z "$1" ] ; then
 # deal with BackupArchiveInterval
 do_cache_backup $BackupArchiveInterval
 
@@ -422,9 +433,9 @@
 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
+	    debdelta-upgrade >/dev/null 2>&1 $LOCKFD>&- || true
     fi
-    if  eval apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR; then
+	if  eval apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR $LOCKFD>&-; then
 	update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
 	debug_echo "download upgradable (success)"
     else
@@ -434,10 +445,23 @@
     debug_echo "download upgradable (not run)"
 fi
 
+    if which unattended-upgrade >/dev/null 2>&1 && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $UnattendedUpgradeInterval; then
+	if unattended-upgrade -d $XUUPOPT $LOCKFD>&-; then
+	    update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
+	    debug_echo "unattended-upgrade -d (success)"
+	else
+	    debug_echo "unattended-upgrade -d (error)"
+	fi
+    else
+	debug_echo "unattended-upgrade -d (not run)"
+    fi
+fi
+
+if [ "$1" = "install" -o -z "$1" ] ; then
 # auto upgrade all upgradeable packages
 UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
 if which unattended-upgrade >/dev/null 2>&1 && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
-    if unattended-upgrade $XUUPOPT; then
+	if unattended-upgrade $XUUPOPT $LOCKFD>&-; then
 	update_stamp $UPGRADE_STAMP
 	debug_echo "unattended-upgrade (success)"
     else
@@ -475,6 +499,7 @@
 
 # check cache size 
 check_size_constraints
+fi
 
 #
 #     vim: set sts=4 ai :
diff -Nru -w apt-1.4.1/debian/changelog apt-1.4.2/debian/changelog
--- apt-1.4.1/debian/changelog	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/debian/changelog	2017-05-04 22:52:10.000000000 +0200
@@ -1,3 +1,15 @@
+apt (1.4.2) unstable; urgency=medium
+
+  [ Julian Andres Klode ]
+  * Run unattended-upgrade -d in download part
+  * apt.systemd.daily: Add locking
+  * Split apt-daily timer into two (LP: #1686470)
+
+  [ Matt Kraai ]
+  * bash-completion: Fix spelling of autoclean (Closes: #861846)
+
+ -- Julian Andres Klode <j...@debian.org>  Thu, 04 May 2017 22:52:10 +0200
+
 apt (1.4.1) unstable; urgency=medium
 
   [ Julian Andres Klode ]
diff -Nru -w apt-1.4.1/debian/NEWS apt-1.4.2/debian/NEWS
--- apt-1.4.1/debian/NEWS	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/debian/NEWS	2017-05-04 22:52:10.000000000 +0200
@@ -1,3 +1,14 @@
+apt (1.4.2) unstable; urgency=medium
+
+  This release uncouples the the downloading of new package
+  information and the upgrades from the installation of the
+  upgrades. The downloading now takes place randomly throughout
+  the day (thus spreading the load on mirrors), while the upgrade
+  only starts between 6 and 7 (am) (so it is predictable when this
+  runs and administrators can react quickly if anything breaks).
+
+ -- Julian Andres Klode <j...@debian.org>  Thu, 04 May 2017 22:54:02 +0200
+
 apt (1.4~beta1) unstable; urgency=medium
 
   Support for GPG signatures using the SHA1 or RIPE-MD/160 hash
diff -Nru -w apt-1.4.1/debian/rules apt-1.4.2/debian/rules
--- apt-1.4.1/debian/rules	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/debian/rules	2017-05-04 22:52:10.000000000 +0200
@@ -37,7 +37,7 @@
 	# Do not restart "apt-daily.service" because this script runs
 	# unattended-upgrades. So if apt itself is upgraded as part of
 	# an unattended-upgrades run it would kill itself
-	dh_systemd_start apt-daily.timer
+	dh_systemd_start apt-daily.timer apt-daily-upgrade.timer
 
 override_dh_auto_configure-arch: flags=-DWITH_DOC=OFF
 override_dh_auto_configure-indep: flags=-DWITH_DOC=ON
diff -Nru -w apt-1.4.1/doc/apt-verbatim.ent apt-1.4.2/doc/apt-verbatim.ent
--- apt-1.4.1/doc/apt-verbatim.ent	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/apt-verbatim.ent	2017-05-04 22:52:10.000000000 +0200
@@ -239,7 +239,7 @@
 ">
 
 <!-- this will be updated by 'prepare-release' -->
-<!ENTITY apt-product-version "1.4.1">
+<!ENTITY apt-product-version "1.4.2">
 
 <!-- (Code)names for various things used all over the place -->
 <!ENTITY debian-oldstable-codename "jessie">
diff -Nru -w apt-1.4.1/doc/po/apt-doc.pot apt-1.4.2/doc/po/apt-doc.pot
--- apt-1.4.1/doc/po/apt-doc.pot	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/apt-doc.pot	2017-05-04 22:52:10.000000000 +0200
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: apt-doc 1.4.1\n"
+"Project-Id-Version: apt-doc 1.4.2\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
diff -Nru -w apt-1.4.1/doc/po/de.po apt-1.4.2/doc/po/de.po
--- apt-1.4.1/doc/po/de.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/de.po	2017-05-04 22:52:10.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.3\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2016-11-15 21:51+0200\n"
 "Last-Translator: Chris Leick <c.le...@vollbio.de>\n"
 "Language-Team: German <debian-l10n-ger...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/es.po apt-1.4.2/doc/po/es.po
--- apt-1.4.1/doc/po/es.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/es.po	2017-05-04 22:52:10.000000000 +0200
@@ -38,7 +38,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.0.5\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2014-07-04 01:31+0200\n"
 "Last-Translator: Omar Campagne <ocampa...@gmail.com>\n"
 "Language-Team: Debian l10n Spanish <debian-l10n-span...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/fr.po apt-1.4.2/doc/po/fr.po
--- apt-1.4.1/doc/po/fr.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/fr.po	2017-05-04 22:52:10.000000000 +0200
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.0.5\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2017-01-24 22:43+0100\n"
 "Last-Translator: Jean-Pierre Giraud <jean-pierregir...@neuf.fr>\n"
 "Language-Team: French <debian-l10n-fre...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/it.po apt-1.4.2/doc/po/it.po
--- apt-1.4.1/doc/po/it.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/it.po	2017-05-04 22:52:10.000000000 +0200
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.0.5\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2015-12-27 21:26+0200\n"
 "Last-Translator: Beatrice Torracca <beatri...@libero.it>\n"
 "Language-Team: Italian <debian-l10n-ital...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/ja.po apt-1.4.2/doc/po/ja.po
--- apt-1.4.1/doc/po/ja.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/ja.po	2017-05-04 22:52:10.000000000 +0200
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.4\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2017-01-06 04:50+0900\n"
 "Last-Translator: Takuma Yamada <tyam...@takumayamada.com>\n"
 "Language-Team: Japanese <debian-japan...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/nl.po apt-1.4.2/doc/po/nl.po
--- apt-1.4.1/doc/po/nl.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/nl.po	2017-05-04 22:52:10.000000000 +0200
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.4~beta4-nl\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2017-01-19 17:53+0100\n"
 "Last-Translator: Frans Spiesschaert <frans.spiesscha...@yucom.be>\n"
 "Language-Team: Debian Dutch l10n Team <debian-l10n-du...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/pl.po apt-1.4.2/doc/po/pl.po
--- apt-1.4.1/doc/po/pl.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/pl.po	2017-05-04 22:52:10.000000000 +0200
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.0.5\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2014-07-04 02:13+0200\n"
 "Last-Translator: Robert Luberda <rob...@debian.org>\n"
 "Language-Team: Polish <manpages-pl-l...@lists.sourceforge.net>\n"
diff -Nru -w apt-1.4.1/doc/po/pt_BR.po apt-1.4.2/doc/po/pt_BR.po
--- apt-1.4.1/doc/po/pt_BR.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/pt_BR.po	2017-05-04 22:52:10.000000000 +0200
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.0.5\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2004-09-20 17:02+0000\n"
 "Last-Translator: André Luís Lopes <andre...@debian.org>\n"
 "Language-Team: <debian-l10n-portugu...@lists.debian.org>\n"
diff -Nru -w apt-1.4.1/doc/po/pt.po apt-1.4.2/doc/po/pt.po
--- apt-1.4.1/doc/po/pt.po	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/doc/po/pt.po	2017-05-04 22:52:10.000000000 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: apt-doc 1.0.7\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: 2014-08-29 00:34+0100\n"
 "Last-Translator: Américo Monteiro <a_monte...@gmx.com>\n"
 "Language-Team: Portuguese <tra...@debianpt.org>\n"
diff -Nru -w apt-1.4.1/po/apt-all.pot apt-1.4.2/po/apt-all.pot
--- apt-1.4.1/po/apt-all.pot	2017-04-24 18:47:55.000000000 +0200
+++ apt-1.4.2/po/apt-all.pot	2017-05-04 22:52:10.000000000 +0200
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: apt 1.4.1\n"
+"Project-Id-Version: apt 1.4.2\n"
 "Report-Msgid-Bugs-To: APT Development Team <de...@lists.debian.org>\n"
-"POT-Creation-Date: 2017-04-24 18:48+0200\n"
+"POT-Creation-Date: 2017-05-04 22:56+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"

Reply via email to