WhitewaterFoundry / Pengwin

A Linux distro optimized for WSL based on Debian.
Other
1.48k stars 105 forks source link

Packages held back from default sources when trying to keep Pengwin up-to-date. #778

Open kerbe opened 1 year ago

kerbe commented 1 year ago

Describe the bug I have bunch of packages in my Pengwin installation that I can not seem to get upgraded. I have had this situation already months, and and looks like it doesn't resolve itself just by waiting.

Originally I had these packages unable to upgrade:

appstream libappstream4 libcups2 libgstreamer1.0-0 libkmod2 libllvm15 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpolkit-agent-1-0 libpolkit-gobject-1-0 libqt5core5a libtiff6 polkitd procps

Today I though started to remove those one by one, and I was able to reduce that list down to this:

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  libappstream4 libgstreamer1.0-0 libkmod2 libllvm15 libpolkit-agent-1-0 libpolkit-gobject-1-0 libtiff6 polkitd
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.

Expected behavior I expect base packages to upgrade smoothly.

Additional context If I try to upgrade those packages, I get following:

$ sudo apt upgrade libappstream4 libgstreamer1.0-0 libkmod2 libllvm15 libpolkit-agent-1-0 libpolkit-gobject-1-0 libtiff6 polkitd libzstd1 libglib2.0-0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libzstd1 is already the newest version (1.5.4+dfsg2-5).
libzstd1 set to manually installed.
libglib2.0-0 is already the newest version (2.74.6-2).
libglib2.0-0 set to manually installed.
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libappstream4 : Depends: libglib2.0-0 (>= 2.75.3) but 2.74.6-2 is to be installed
 libgstreamer1.0-0 : Depends: libglib2.0-0 (>= 2.77.0) but 2.74.6-2 is to be installed
 libkmod2 : Depends: libzstd1 (>= 1.5.5) but 1.5.4+dfsg2-5 is to be installed
 libllvm15 : Depends: libzstd1 (>= 1.5.5) but 1.5.4+dfsg2-5 is to be installed
 libtiff6 : Depends: libzstd1 (>= 1.5.5) but 1.5.4+dfsg2-5 is to be installed
 polkitd : Depends: libglib2.0-0 (>= 2.75.3) but 2.74.6-2 is to be installed
E: Broken packages

If I try to remove any of packages in that list, I get following:

$ sudo apt remove libappstream4 libgstreamer1.0-0 libkmod2 libllvm15 libpolkit-agent-1-
0 libpolkit-gobject-1-0 libtiff6 polkitd libzstd1 libglib2.0-0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 apt : Depends: libapt-pkg6.0 (>= 2.6.1) but it is not going to be installed
       Depends: libsystemd0
 bsdutils : PreDepends: libsystemd0
 dpkg : PreDepends: libzstd1 (>= 1.5.2) but it is not going to be installed
 pengwin-base : Depends: curl but it is not going to be installed
                Depends: systemd but it is not going to be installed
                Depends: software-properties-common but it is not going to be installed
                Depends: mesa-va-drivers but it is not going to be installed
 pengwin-setup : Depends: git but it is not going to be installed
                 Depends: wslu but it is not going to be installed
                 Depends: pulseaudio-utils but it is not going to be installed
                 Depends: x11-utils but it is not going to be installed
                 Depends: imagemagick
 util-linux : PreDepends: libsystemd0
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

My sources.lists:

$ cat /etc/apt/sources.list
deb https://deb.debian.org/debian stable main contrib non-free non-free-firmware
# deb-src https://deb.debian.org/debian stable main contrib non-free non-free-firmware

deb https://deb.debian.org/debian stable-updates main
# deb-src https://deb.debian.org/debian stable-updates main

deb https://deb.debian.org/debian-security stable-security main
# deb-src https://deb.debian.org/debian-security stable-security main

deb https://deb.debian.org/debian bookworm-backports main
# deb-src https://deb.debian.org/debian bookworm-backports main

deb https://deb.debian.org/debian oldstable main
deb https://deb.debian.org/debian testing main

$ cat /etc/apt/sources.list.d/whitewaterfoundry.list
deb [signed-by=/etc/apt/keyrings/whitewaterfoundry_pengwin-base-archive-keyring.gpg] https://packagecloud.io/whitewaterfoundry/pengwin-base/debian/ bookworm main
#deb-src [signed-by=/etc/apt/keyrings/whitewaterfoundry_pengwin-base-archive-keyring.gpg] https://packagecloud.io/whitewaterfoundry/pengwin-base/debian/ bookworm main

deb [signed-by=/etc/apt/keyrings/whitewaterfoundry_pengwin-setup-archive-keyring.gpg] https://packagecloud.io/whitewaterfoundry/pengwin-setup/debian/ bookworm main
#deb-src [signed-by=/etc/apt/keyrings/whitewaterfoundry_pengwin-setup-archive-keyring.gpg] https://packagecloud.io/whitewaterfoundry/pengwin-setup/debian/ bookworm main

deb [signed-by=/etc/apt/keyrings/whitewaterfoundry_wslu-archive-keyring.gpg] https://packagecloud.io/whitewaterfoundry/wslu/debian/ bullseye main
#deb-src [signed-by=/etc/apt/keyrings/whitewaterfoundry_wslu-archive-keyring.gpg] https://packagecloud.io/whitewaterfoundry/wslu/debian/ bullseye main

This computer has been installed in February 2023, so it isn't that long living Pengwin installation. I have another computer which is installed in July 2023, and it doesn't have this kind of package installation problem.

Basic Troubleshooting Checklist

[x] I have searched Google for the error message. [x] I have checked official WSL troubleshooting documentation: https://docs.microsoft.com/en-us/windows/wsl/troubleshooting#confirm-wsl-is-enabled. [x] I have searched the official Microsoft WSL issues page: https://github.com/Microsoft/WSL/issues. [x] I have searched the Pengwin issues page: https://github.com/WhitewaterFoundry/Pengwin/issues. [x] I have run Windows 10 updates and restarted. [x] I have restarted WSL service: wsl.exe --terminate WLinux wsl.exe --shutdown.

What other troubleshooting have you attempted? I have tried all searching the web for general apt usage help in this kind of situation, and what kind of commands there are to solve this, but nothing has helped this far.

Pengwin Version

Run grep "PENGWIN_VERSION" /etc/os-release in Pengwin.

Insert here: PENGWIN_VERSION="23.07.1"

WSL general info

Run wslsys in Pengwin.

Insert here:

Release Install Date: Fri Feb 10 18:41:30 EET 2023
Branch: ni_release
Build: 22621
Full Build: 22621.1.amd64fre.ni_release.220506-1250
Display Scaling: 1
Locale (Windows): en_US
Theme (Windows): dark
Uptime (Windows): 0d 0h 27m
Version (WSL): 2
Uptime (WSL): 0d 0h 27m
Release: Pengwin
Kernel: Linux 5.15.90.1-microsoft-standard-WSL2
Packages: 504
IPv4 Address: 172.18.9.102
System Type (Windows): Desktop
SystemD Status: disabled

Happy to provide additional information and try out things. I know this could be solved by wiping whole WSL installation and starting from scratch, but I'm not fan of doing things like that, especially if I lose data inside my WSL home directory. So many coding repos there that it takes long time to refetch & reconfigure them all.

crramirez commented 1 year ago

Have you tried:

sudo apt update && sudo apt dist-upgrade

kerbe commented 1 year ago

When I try to do that, it results this:

$ sudo apt update && sudo apt dist-upgrade
Hit:1 https://deb.debian.org/debian stable InRelease
Hit:2 https://deb.debian.org/debian stable-updates InRelease
Hit:3 https://deb.debian.org/debian-security stable-security InRelease
Hit:4 https://deb.debian.org/debian bookworm-backports InRelease
Hit:5 https://deb.debian.org/debian oldstable InRelease
Hit:6 https://deb.debian.org/debian testing InRelease
Hit:7 https://packagecloud.io/whitewaterfoundry/pengwin-base/debian bookworm InRelease
Hit:8 https://packagecloud.io/whitewaterfoundry/pengwin-setup/debian bookworm InRelease
Hit:9 https://packagecloud.io/whitewaterfoundry/wslu/debian bullseye InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
8 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  libappstream4 libgstreamer1.0-0 libkmod2 libllvm15 libpolkit-agent-1-0 libpolkit-gobject-1-0 libtiff6 polkitd
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.

$ sudo apt list --upgradable
Listing... Done
libappstream4/testing 0.16.3-1 amd64 [upgradable from: 0.16.2-1]
libgstreamer1.0-0/testing 1.22.6-1 amd64 [upgradable from: 1.22.4-1]
libkmod2/testing 30+20230601-2 amd64 [upgradable from: 30+20230519-1]
libllvm15/testing 1:15.0.7-10 amd64 [upgradable from: 1:15.0.7-6]
libpolkit-agent-1-0/testing 123-1 amd64 [upgradable from: 122-4]
libpolkit-gobject-1-0/testing 123-1 amd64 [upgradable from: 122-4]
libtiff6/testing 4.5.1+git230720-1 amd64 [upgradable from: 4.5.1-1]
polkitd/testing 123-1 amd64 [upgradable from: 122-4]

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  libappstream4 libgstreamer1.0-0 libkmod2 libllvm15 libpolkit-agent-1-0 libpolkit-gobject-1-0 libtiff6 polkitd
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.

So dist-upgrade doesn't solve this problem.

crramirez commented 1 year ago

At this time, I recommend you back up your distro with:

wsl --export wlinux pengwin_backup.tar.gz

Then comment out the testing repo:

#deb https://deb.debian.org/debian testing main

And run this command:

sudo apt update && sudo apt dist-upgrade --allow-downgrades --allow-change-held-packages
kerbe commented 1 year ago

This seems to have cleared situation:

$ sudo apt update && sudo apt dist-upgrade --allow-downgrades --allow-change-held-packages
Hit:1 https://deb.debian.org/debian stable InRelease
Get:2 https://deb.debian.org/debian stable-updates InRelease [52.1 kB]
Hit:3 https://deb.debian.org/debian-security stable-security InRelease
Get:4 https://deb.debian.org/debian bookworm-backports InRelease [56.5 kB]
Hit:5 https://deb.debian.org/debian oldstable InRelease
Get:6 https://deb.debian.org/debian bookworm-backports/main Translation-en.diff/Index [26.3 kB]
Get:7 https://deb.debian.org/debian bookworm-backports/main Translation-en T-2023-10-19-2003.49-F-2023-10-19-1404.45.pdiff [1,956 B]
Get:7 https://deb.debian.org/debian bookworm-backports/main Translation-en T-2023-10-19-2003.49-F-2023-10-19-1404.45.pdiff [1,956 B]
Hit:8 https://packagecloud.io/whitewaterfoundry/pengwin-base/debian bookworm InRelease
Hit:9 https://packagecloud.io/whitewaterfoundry/pengwin-setup/debian bookworm InRelease
Hit:10 https://packagecloud.io/whitewaterfoundry/wslu/debian bullseye InRelease
Fetched 137 kB in 3s (45.0 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

I have no recollection of adding Debian testing repository in my sources, but removing that cleared things out nicely. Thank you for checking this out & giving a helping hand. I might have learned new trick in this process as well. :)

crramirez commented 1 year ago

It should not try to download packages from testing because it has the lowest priority. I'll remove it from the sources.

Thanks a lot for reporting