On Wed, Mar 27, 2013 at 11:02:38AM -0700, Nikolaus Rath wrote: > Package: unattended-upgrades > Version: 0.79.5 > Severity: normal
Thanks for your bugreport. > Dear Maintainer, > > Recently, unattended-upgrades has started crashing with: > > Traceback (most recent call last): > File "/usr/bin/unattended-upgrade", line 1011, in <module> > main(options) > File "/usr/bin/unattended-upgrade", line 793, in main > allowed_origins=allowed_origins) > File "/usr/bin/unattended-upgrade", line 75, in __init__ > self.adjust_candidate_versions() > File "/usr/bin/unattended-upgrade", line 92, in adjust_candidate_versions > if is_allowed_origin(pkg.candidate, self.allowed_origins): > File "/usr/bin/unattended-upgrade", line 364, in is_allowed_origin > if match_whitelist_string(allowed, origin): > File "/usr/bin/unattended-upgrade", line 272, in match_whitelist_string > what, token)) > __main__.UnknownMatcherError: Unknown whitelist entry for macher 'n' > (token 'n=wheezy') > > > I haven't touched the configuration at all, so I'm pretty sure > this is a regression. > > This might be related to #703401, where codename matching also results > in a crash (but with a different exception). There are two issues here: - unattended-upgrades does not support codename based matching (n=) because python-apt does not export this (fixed in experimental) - unattended-upgrades silently ignored codenames it did not know about which makes a matcher like "o=Debian,n=wheezy" to "o=Debian" internally The new version now complains on unknown matchers and the combination with the old config file where n=wheezy was part of the example config is now casing this problem. I wonder what I can do to help avoiding this confusion? Instead of a error, just log a warning maybe? This could lead to overly broad matching. Cheers, Michael > -- System Information: > Debian Release: 7.0 > APT prefers testing-updates > APT policy: (500, 'testing-updates'), (500, 'testing') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > > Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores) > Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > > Versions of packages unattended-upgrades depends on: > ii apt 0.9.7.8 > ii apt-utils 0.9.7.8 > ii debconf [debconf-2.0] 1.5.49 > ii lsb-base 4.1+Debian8 > ii lsb-release 4.1+Debian8 > ii python 2.7.3-4 > ii python-apt 0.8.8.2 > ii ucf 3.0025+nmu3 > ii xz-utils 5.1.1alpha+20120614-2 > > unattended-upgrades recommends no packages. > > Versions of packages unattended-upgrades suggests: > ii bsd-mailx 8.1.2-0.20111106cvs-1 > ii exim4-daemon-light [mail-transport-agent] 4.80-7 > > -- Configuration Files: > /etc/apt/apt.conf.d/50unattended-upgrades changed: > // Automatically upgrade packages from these origin patterns > Unattended-Upgrade::Origins-Pattern { > // Codename based matching: > // This will follow the migration of a release through different > // archives (e.g. from testing to stable and later oldstable). > // "o=Debian,n=squeeze"; > // "o=Debian,n=squeeze-updates"; > // "o=Debian,n=squeeze-proposed-updates"; > // "o=Debian,n=squeeze,l=Debian-Security"; > // Archive or Suite based matching: > // Note that this will silently match a different release after > // migration to the specified archive (e.g. testing becomes the > // new stable). > // "o=Debian,a=stable"; > // "o=Debian,a=stable-updates"; > // "o=Debian,a=proposed-updates"; > // "origin=Debian,archive=stable,label=Debian-Security"; > "o=${distro_id},n=${distro_codename}"; > "o=${distro_id},n=${distro_codename}-updates"; > "o=${distro_id},n=${distro_codename},l=Debian-Security"; > }; > // List of packages to not update > Unattended-Upgrade::Package-Blacklist { > // "vim"; > // "libc6"; > // "libc6-dev"; > // "libc6-i686"; > }; > // This option allows you to control if on a unclean dpkg exit > // unattended-upgrades will automatically run // dpkg --force-confold > --configure -a > // The default is true, to ensure updates keep getting installed > //Unattended-Upgrade::AutoFixInterruptedDpkg "false"; > // Split the upgrade into the smallest possible chunks so that > // they can be interrupted with SIGUSR1. This makes the upgrade > // a bit slower but it has the benefit that shutdown while a upgrade > // is running is possible (with a small delay) > //Unattended-Upgrade::MinimalSteps "true"; > // Install all unattended-upgrades when the machine is shuting down > // instead of doing it in the background while the machine is running > // This will (obviously) make shutdown slower > //Unattended-Upgrade::InstallOnShutdown "true"; > // Send email to this address for problems or packages upgrades > // If empty or unset then no email is sent, make sure that you > // have a working mail setup on your system. A package that provides > // 'mailx' must be installed. E.g. "u...@example.com" > Unattended-Upgrade::Mail "root"; > // Set this value to "true" to get emails only on errors. Default > // is to always send a mail if Unattended-Upgrade::Mail is set > Unattended-Upgrade::MailOnlyOnError "true"; > // Do automatic removal of new unused dependencies after the upgrade > // (equivalent to apt-get autoremove) > //Unattended-Upgrade::Remove-Unused-Dependencies "false"; > // Automatically reboot *WITHOUT CONFIRMATION* if a // the file > /var/run/reboot-required is found after the upgrade > //Unattended-Upgrade::Automatic-Reboot "false"; > // Use apt bandwidth limit feature, this example limits the download > // speed to 70kb/sec > //Acquire::http::Dl-Limit "70"; > > > -- debconf information: > * unattended-upgrades/enable_auto_updates: true -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org