** Description changed:

+ [Impact]
+ 
+  * Unattended-upgrades crashes when a package update changes a config dir to 
a config file.
+  * U-u stops installing security updates when it crashes.
+ 
+ [Test Case] (Xenial)
+ 
+  * Install an older version of the git package than the one available from 
xenial-security:
+  # apt install git=1:2.7.4-0ubuntu1
+ 
+  * Change a configuration file to a directory and observe not fixed u-u 
crashing and fixed u-u installing the update.
+ # mv /etc/bash_completion.d/git-prompt /etc/bash_completion.d/git-prompt.bak
+ # mkdir /etc/bash_completion.d/git-prompt
+ # unattended-upgrade --verbose --dry-run
+ Initial blacklisted packages: 
+ Initial whitelisted packages: 
+ Starting unattended upgrades script
+ Allowed origins are: ['o=Ubuntu,a=xenial', 'o=Ubuntu,a=xenial-security', 
'o=UbuntuESM,a=xenial']
+ Traceback (most recent call last):
+   File "/usr/bin/unattended-upgrade", line 1485, in <module>
+     main(options)
+   File "/usr/bin/unattended-upgrade", line 1275, in main
+     if conffile_prompt(item.destfile):
+   File "/usr/bin/unattended-upgrade", line 671, in conffile_prompt
+     with open(prefix + conf_file, 'rb') as fb:
+ IsADirectoryError: [Errno 21] Is a directory: 
'/etc/bash_completion.d/git-prompt'
+ 
+ # fixed u-u:
+ # unattended-upgrade --verbose --dry-run
+ ...
+ Unpacking git (1:2.17.1-1ubuntu0.4) over (1:2.17.1-1ubuntu0.3) ...
+ dpkg: warning: git: conffile '/etc/bash_completion.d/git-prompt' is not a 
plain file or symlink (= '/etc/bash_completion.d/git-prompt')
+ Setting up git (1:2.17.1-1ubuntu0.4) ...
+ dpkg: warning: git: conffile '/etc/bash_completion.d/git-prompt' is not a 
plain file or symlink (= '/etc/bash_completion.d/git-prompt')
+ ...
+ 
+ [Regression Potential]
+ 
+  * As a known and demonstrated regression configuration files replaced
+ with directories by the local administrator are overwritten and this is
+ dpkg's default behavior. The same thing would happen when applying the
+ security update using apt, and this is still better than skipping the
+ security update.
+ 
+ [Original Bug Text]
+ 
  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
unattended-upgrades.  This problem was most recently seen with package version 
0.98ubuntu1, the problem page at 
https://errors.ubuntu.com/problem/ed79dbb4e6eba8c7b89fcd7e0cbf60b0db4920ce 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.
  
  Traceback (most recent call last):
-   File "/usr/bin/unattended-upgrade", line 1556, in <module>
-     main(options)
-   File "/usr/bin/unattended-upgrade", line 1348, in main
-     if conffile_prompt(item.destfile):
-   File "/usr/bin/unattended-upgrade", line 725, in conffile_prompt
-     with open(prefix + conf_file, 'rb') as fp:
+   File "/usr/bin/unattended-upgrade", line 1556, in <module>
+     main(options)
+   File "/usr/bin/unattended-upgrade", line 1348, in main
+     if conffile_prompt(item.destfile):
+   File "/usr/bin/unattended-upgrade", line 725, in conffile_prompt
+     with open(prefix + conf_file, 'rb') as fp:
  IsADirectoryError: [Errno 21] Is a directory: 
'/etc/fonts/conf.avail/65-0-fonts-guru-extra.conf'

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1737637

Title:
  Replacing configuration file directory with file breaks unattended-
  upgrades

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1737637/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to