As expected I was able to reproduce locally in autopkgtest.

The bionic kernel headers didn't change actually (which is good!).
The test creepign into Bionic fail is actually the inverse:
1. gettimeofday changed upstream
2. upstream clknetsim adapted
3. since Eoan we download defined versions matching the release
4. the bionic test still was the "uncontrolled" cloning of latest master
   which now no more matches bionic kernel headers

Focal uses clknetsim_ver=79ffe44, but that is for the new kernel behavior.
Eoan used clknetsim_ver=156b8e4 which works well in Bionic.

Furthermore between Eoan and Focal the test has gotten a bigger rewrite
and some fixes.

In the SRU-spirit lets keep the changes minimal by:
- picking the version from Eoan
- add just one small fixups
  (ignoring stderr on make since gcc warnings trigger false positives).

That should do it, I'll be back here once I have some proven bionic test
results.

** Description changed:

  [Impact]
  
   * When chrony is removed the systems default time service is tried to be
     restored. That was and is systemd-timesyncd.
     - this was in Debian and Ubuntu since [1]
  
   * That worked fine when systemd-timesyncd was always installed as it was
     in the past. But systemd 245.4-2ubuntu1 changed that and it will no more
     be installed as it now conflicts.
  
   * That change in systemd lets chrony upgrade fail in postrm where it tries
     to start the default again. The Bionic version of the postrm never had
     the safety ||true as that was never needed in Bionic an SRU would just
     have been forcing many users into a download they would not have needed.
  
   * But due to the systemd change in focal we now need that simple change to
     avoid upgrades breaking.
  
  [1]:
  
https://salsa.debian.org/debian/chrony/-/commit/f4ecee0288b73331a4cfe6687b936fec78be4e15
  
  [Test Case]
  
   * Take a bionic system with chrony installed and upgrade to Focal.
-    Please use a VM when doing so as these services do not behave the same 
-    way in containers.
-    
-    - get bionic system
+    Please use a VM when doing so as these services do not behave the same
+    way in containers.
+ 
+    - get bionic system
     - apt update && apt dist-upgrade
     - apt install chrony
     - do-release-upgrade -d
  
-    Without the fix installed in Bionic what will happen 
-    is an upgrade error like:
+    Without the fix installed in Bionic what will happen
+    is an upgrade error like:
  
     Removing chrony (3.2-4ubuntu4.2) ...
     Job for systemd-timesyncd.service failed because the control process 
exited with error code.
     See "systemctl status systemd-timesyncd.service" and "journalctl -xe" for 
details.
     dpkg: error processing package chrony (--remove):
     installed chrony package post-removal script subprocess returned error 
exit status 1
     ERROR: Cannot create report: [Errno 17] File exists: 
'/var/crash/chrony.0.crash'
     Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an 
error code (1)
  
     With the fix that will show a warning if systemd-timesyncd is
     unavailable, but it won't crash the upgrade.
     In the log you can (with the fix) find:
  
     $ grep chrony -C 6  /var/log/dist-upgrade/apt-term.log
     Removing chrony (3.2-4ubuntu4.3~ppa1) ...
     Job for systemd-timesyncd.service failed because the control process 
exited with error code.
     See "systemctl status systemd-timesyncd.service" and "journalctl -xe" for 
details.
     (Reading database ... 60156 files and directories currently installed.)
     Preparing to unpack .../libaudit-common_1%3a2.8.5-2ubuntu6_all.deb ...
     Unpacking libaudit-common (1:2.8.5-2ubuntu6) over (1:2.8.2-1ubuntu1) ...
     Setting up libaudit-common (1:2.8.5-2ubuntu6) ...
  
- 
     Note: the removal is not part of the "do you want to remove obsolete" in
     do-release-upgrade, but instead on the first install transaction as it
     is triggered by dependencies/conflicts from systemd.
+ 
+ 
+  * Autopkgtests were broken, another test is that those should now work 
+    again.
  
  [Regression Potential]
  
   * The change is minimal as it only ignores a potential error that
     a) is considered safe if it happens
     b) we now know will happen on a bionic->focal upgrade
     In addition we also had that change since 19.10.
  
  [Other Info]
  
   * This is of some extra urgency as it needs to land in Bionic before
     upgrading to 20.04 will happen which people are supposed to test
     now and will be released soon.
   * Note: In focal we can now stop starting the systemd-timesyncd from
     chrony as it now takes care in systemd-timesyncd.postinst. This change
     will get to Focal to silence the warning, but it isn't gating the SRU to
     bionic (the change we backport is already in >=19.10).
     In bionic we can't drop it the same way as we will do in Focal as there
     timesyncd is not split, so the restart there was and still is needed.
+  * We also happened to find while SRUing this that the autopkgtest in
+    Bionic degraded and will fix that in an upload (new version 3.2-
+    4ubuntu4.4 as 3.2-4ubuntu4.3 was already in proposed, but build with 
+    .changes covering both)
  
  ---
  
  Failed during bionic->focal upgrade
  
  ProblemType: Package
  DistroRelease: Ubuntu 20.04
  Package: chrony 3.2-4ubuntu4.2
  ProcVersionSignature: Ubuntu 4.15.0-97.98-lowlatency 4.15.18
  Uname: Linux 4.15.0-97-lowlatency x86_64
  ApportVersion: 2.20.9-0ubuntu7.14
  Architecture: amd64
  Date: Sat Apr 11 10:42:36 2020
  DpkgTerminalLog:
   Removing chrony (3.2-4ubuntu4.2) ...
   Job for systemd-timesyncd.service failed because the control process exited 
with error code.
   See "systemctl status systemd-timesyncd.service" and "journalctl -xe" for 
details.
   dpkg: error processing package chrony (--remove):
    installed chrony package post-removal script subprocess returned error exit 
status 1
  ErrorMessage: installed chrony package post-removal script subprocess 
returned error exit status 1
  Python3Details: /usr/bin/python3.8, Python 3.8.2, python3-minimal, 
3.8.2-0ubuntu2
  PythonDetails: /usr/bin/python2.7, Python 2.7.17, python-minimal, 2.7.15~rc1-1
  RelatedPackageVersions:
   dpkg 1.19.0.5ubuntu2.3
   apt  2.0.1ubuntu1
  SourcePackage: chrony
  Title: package chrony 3.2-4ubuntu4.2 failed to install/upgrade: installed 
chrony package post-removal script subprocess returned error exit status 1
  UpgradeStatus: Upgraded to focal on 2020-04-11 (0 days ago)

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

Title:
  package chrony 3.2-4ubuntu4.2 failed to install/upgrade: installed
  chrony package post-removal script subprocess returned error exit
  status 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/chrony/+bug/1872183/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to