** Description changed: [Impact] The NonInteractive view of ubuntu-release-upgrader doesn't work so it is hard to automate upgrade testing. [Test Case] You need to create a situation where you'll receive a conffile prompt since the handling of those is broken. 1) On a bionic system modify /etc/update-manager/release-upgrades so that Prompt=normal 2) Test an upgrade from bionic to cosmic or disco i.e. run do-release-upgrade 3) Observe the upgrade hang on the '/etc/update-manager/release-upgrades' conffifle and the following in /var/log/dist-upgrade/main.log "2019-05-10 21:21:21,313 WARNING got a conffile-prompt from dpkg for file: '/etc/update-manager/release-upgrades' 2019-05-10 21:21:26,319 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile" With the version of the release-upgrader from -proposed you'll no longer observe the upgrade process hanging. [Regression Potential] - The fix is making it so that a byte object is passed to the prompt instead of a string one so there really isn't one. + The fix is making it so that a byte object is passed to the prompt instead of a string one so there really isn't one, however additional logging which could result in a Traceback if the syntax of that is wrong. [Original Description] I'm trying to do some automated testing that involved upgrading a system from xenial to bionic, so I need it to not ask for user input. Before running do-release-upgrade, the system got a fresh dist-upgrade and reboot. To avoid interactive responses, I'm using: $ sudo do-release-upgrade -d -f DistUpgradeViewNonInteractive Part way through the upgrade, I do get prompted for something though: Preparing to unpack .../apt_1.6.3ubuntu0.1_amd64.deb ... Unpacking apt (1.6.3ubuntu0.1) over (1.2.27) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... /sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf: No such file or directory /sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf: No such file or directory Setting up apt (1.6.3ubuntu0.1) ... Installing new version of config file /etc/apt/apt.conf.d/01autoremove ... Configuration file '/etc/cron.daily/apt-compat' ==> Deleted (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. Comparing the sha1 of apt-compat before the upgrade to another xenial system that has been unmodified, they are the same: In /var/log/dist-upgrade/main.log, I also found this: 2018-10-04 14:20:24,575 WARNING got a conffile-prompt from dpkg for file: '/etc/cron.daily/apt-compat' 2018-10-04 14:20:29,580 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1796193 Title: DistUpgradeViewNonInteractive crashes / requires interaction Status in apt package in Ubuntu: Incomplete Status in ubuntu-release-upgrader package in Ubuntu: Fix Released Status in apt source package in Cosmic: New Status in ubuntu-release-upgrader source package in Cosmic: In Progress Status in apt source package in Disco: New Status in ubuntu-release-upgrader source package in Disco: In Progress Status in apt source package in Eoan: Incomplete Status in ubuntu-release-upgrader source package in Eoan: Fix Released Bug description: [Impact] The NonInteractive view of ubuntu-release-upgrader doesn't work so it is hard to automate upgrade testing. [Test Case] You need to create a situation where you'll receive a conffile prompt since the handling of those is broken. 1) On a bionic system modify /etc/update-manager/release-upgrades so that Prompt=normal 2) Test an upgrade from bionic to cosmic or disco i.e. run do-release-upgrade 3) Observe the upgrade hang on the '/etc/update-manager/release-upgrades' conffifle and the following in /var/log/dist-upgrade/main.log "2019-05-10 21:21:21,313 WARNING got a conffile-prompt from dpkg for file: '/etc/update-manager/release-upgrades' 2019-05-10 21:21:26,319 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile" With the version of the release-upgrader from -proposed you'll no longer observe the upgrade process hanging. [Regression Potential] The fix is making it so that a byte object is passed to the prompt instead of a string one so there really isn't one, however additional logging which could result in a Traceback if the syntax of that is wrong. [Original Description] I'm trying to do some automated testing that involved upgrading a system from xenial to bionic, so I need it to not ask for user input. Before running do-release-upgrade, the system got a fresh dist-upgrade and reboot. To avoid interactive responses, I'm using: $ sudo do-release-upgrade -d -f DistUpgradeViewNonInteractive Part way through the upgrade, I do get prompted for something though: Preparing to unpack .../apt_1.6.3ubuntu0.1_amd64.deb ... Unpacking apt (1.6.3ubuntu0.1) over (1.2.27) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... /sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf: No such file or directory /sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf: No such file or directory Setting up apt (1.6.3ubuntu0.1) ... Installing new version of config file /etc/apt/apt.conf.d/01autoremove ... Configuration file '/etc/cron.daily/apt-compat' ==> Deleted (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. Comparing the sha1 of apt-compat before the upgrade to another xenial system that has been unmodified, they are the same: In /var/log/dist-upgrade/main.log, I also found this: 2018-10-04 14:20:24,575 WARNING got a conffile-prompt from dpkg for file: '/etc/cron.daily/apt-compat' 2018-10-04 14:20:29,580 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1796193/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp