[Bug 1990586] Re: 22.04: python3* mismatched phasing breaks dist-upgrades

Julian Andres Klode 1990586 at bugs.launchpad.net
Thu Sep 29 21:08:56 UTC 2022


@Brian Phasing apt is not an issue, it's only when multiple SRUs depend
on each other that the issues being fixed here actually happen.

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

Title:
  22.04: python3* mismatched phasing breaks dist-upgrades

Status in apt package in Ubuntu:
  In Progress
Status in python3-defaults package in Ubuntu:
  Fix Released
Status in python3-stdlib-extensions package in Ubuntu:
  Fix Released
Status in python3.10 package in Ubuntu:
  Fix Released
Status in apt source package in Jammy:
  Fix Committed

Bug description:
  Impact
  ------
  Users who manually run sudo apt dist-upgrade without paying attention can remove essential parts of their system

  Test Plan
  ---------
  autopkgtests run the integration test suite. We have added a simplified version of the EDSP file attached here with additional fields for the phasing info (and support to the EDSP reader) to automatically check this as part of the test suite.

  The changes made were to essentially only include installed and phased
  python3.10, python3-defaults upgrades. And then we run the solver on
  that and check the exact actions it takes, which is an autoremove of
  systemd-hwe-hwdb which is fine.

  Before the change, it was removing half the system.

  Original test case:
  This test case won't work as well if phasing is set to 0% or 100%

  Create /etc/apt/apt.conf.d/phasing and set its contents to
  APT::Machine-ID 2c030cfce3b4487f9810f12a3ac6e87c;

  Then run

  sudo apt update
  sudo apt dist-upgrade

  Where problems could occur
  --------------------------
  This fix touches the dist-upgrade code and the enablement for the test case also touches the EDSP writer and reader, so problems can occur in the EDSP debugging bits and during dist-upgrades, related to phasing upgrades.

  Workaround In Advance
  ---------------------
  Don't run sudo apt dist-upgrade. Just run sudo apt upgrade
  Or use Update Manager or the Ubuntu Store to apply updates

  Workaround Afterwards
  ---------------------
  Fortunately, apt phasing is ignored for new package installs. So to get your Ubuntu Desktop back, just run

  sudo apt install ubuntu-desktop

  Other Info
  ----------
  These 3 updates were published today:
  python3-stdlib-extensions
  python3-defaults
  python3.10

  Suggested Fix
  -------------
  Fully phase those 3 source packages to 100%

  Apt Output
  ----------
  The following packages were automatically installed and are no longer required:
    apg apport-symptoms aptdaemon-data avahi-utils cups-pk-helper distro-info gdb gedit-common genisoimage gir1.2-dbusmenu-glib-0.4 gir1.2-dee-1.0 gir1.2-goa-1.0 gir1.2-gst-plugins-base-1.0
    gir1.2-gtksource-4 gir1.2-gudev-1.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-rb-3.0 gir1.2-secret-1 gir1.2-snapd-1 gir1.2-totem-1.0 gir1.2-totemplparser-1.0 gir1.2-udisks-2.0
    gir1.2-unity-7.0 gir1.2-vte-2.91 gir1.2-wnck-3.0 gnome-control-center-faces gnome-software-common gnome-terminal-data hplip-data ibus-data ibus-gtk4 libbabeltrace1 libboost-regex1.74.0
    libc6-dbg libcolord-gtk1 libdebuginfod-common libdebuginfod1 libdmapsharing-3.0-2 libglu1-mesa libgpod-common libgpod4 libgsound0 libgssdp-1.2-0 libgupnp-1.2-1 libgupnp-av-1.0-3
    libgupnp-dlna-2.0-4 libhpmud0 libimagequant0 libipt2 liblirc-client0 libmalcontent-0-0 libnetplan0 libraqm0 librsync2 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2
    librygel-server-2.6-2 libsane-hpaio libsgutils2-2 libsource-highlight-common libsource-highlight4v5 libwhoopsie-preferences0 libwnck-3-0 libwnck-3-common libxatracker2 libxres1 libxss1
    libxvmc1 mobile-broadband-provider-info network-manager-gnome patch printer-driver-hpcups printer-driver-postscript-hp python-apt-common python3-blinker python3-certifi python3-cffi-backend
    python3-chardet python3-click python3-colorama python3-cryptography python3-dateutil python3-debconf python3-debian python3-defer python3-distro-info python3-fasteners python3-future
    python3-httplib2 python3-idna python3-importlib-metadata python3-jeepney python3-jwt python3-keyring python3-launchpadlib python3-lazr.restfulclient python3-lazr.uri python3-lockfile
    python3-louis python3-monotonic python3-more-itertools python3-oauthlib python3-olefile python3-pexpect python3-pkg-resources python3-problem-report python3-ptyprocess python3-pyparsing
    python3-requests python3-rfc3339 python3-secretstorage python3-six python3-tz python3-urllib3 python3-wadllib python3-xkit python3-zipp rygel whoopsie-preferences x11-apps x11-session-utils
    xbitmaps xbrlapi xcvt xfonts-scalable xinit xinput xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-video-all
    xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau xserver-xorg-video-qxl xserver-xorg-video-radeon
    xserver-xorg-video-vesa xserver-xorg-video-vmware
  Use 'sudo apt autoremove' to remove them.
  The following packages will be REMOVED:
    apport apport-gtk aptdaemon apturl apturl-common command-not-found deja-dup duplicity gedit gnome-control-center gnome-online-accounts gnome-software gnome-software-plugin-snap gnome-terminal
    hplip ibus ibus-table language-selector-common language-selector-gnome nautilus-extension-gnome-terminal nautilus-share netplan.io networkd-dispatcher orca python3-apport python3-apt
    python3-aptdaemon python3-aptdaemon.gtk3widgets python3-bcrypt python3-brlapi python3-cairo python3-commandnotfound python3-cups python3-cupshelpers python3-dbus python3-distupgrade
    python3-gi python3-gi-cairo python3-ibus-1.0 python3-macaroonbakery python3-mako python3-markupsafe python3-nacl python3-netifaces python3-paramiko python3-pil python3-protobuf
    python3-pyatspi python3-pymacaroons python3-renderpm python3-reportlab python3-reportlab-accel python3-software-properties python3-systemd python3-uno python3-update-manager python3-yaml
    rhythmbox-plugin-alternative-toolbar rhythmbox-plugins software-properties-common software-properties-gtk system-config-printer system-config-printer-common system-config-printer-udev
    totem-plugins ubuntu-advantage-desktop-daemon ubuntu-advantage-tools ubuntu-desktop ubuntu-desktop-minimal ubuntu-drivers-common ubuntu-minimal ubuntu-release-upgrader-core
    ubuntu-release-upgrader-gtk ubuntu-session unattended-upgrades update-manager update-manager-core update-notifier update-notifier-common usb-creator-common usb-creator-gtk xorg xserver-xorg
  The following NEW packages will be installed:
    gnome-session
  The following packages have been kept back:
    grub-efi-amd64-bin grub-efi-amd64-signed gzip libnss-systemd libpam-systemd libpython3-stdlib libpython3.10 libpython3.10-minimal libpython3.10-stdlib libspeechd2 libsystemd0 libudev1 python3
    python3-gdbm python3-lib2to3 python3-minimal python3-speechd python3.10 python3.10-minimal speech-dispatcher speech-dispatcher-audio-plugins speech-dispatcher-espeak-ng systemd systemd-oomd
    systemd-sysv systemd-timesyncd udev xwayland
  0 upgraded, 1 newly installed, 83 to remove and 28 not upgraded.

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




More information about the foundations-bugs mailing list