volitank / nala

Nala is a front-end for libapt-pkg.
GNU General Public License v3.0
1.44k stars 47 forks source link

Some packages are installed/removed at each upgrade #2

Closed Booteille closed 2 years ago

Booteille commented 2 years ago

Hi!

I am trying since some weeks nala and love it so far, thanks for what you've done!

I noticed an issue happening when using nala (but not with apt):

When asking nala to upgrade the system with nala upgrade -y, it removes some packages. When asking nala to upgrade again the system, it installs these packages again. And if I ask to upgrade again, it will remove again these packages and so on...

Here is an asciinema to illustrate what I mean: https://asciinema.org/a/KFGsizfPTSFjbcOy9Ag9VeeQg

If you find a way to avoid this, that would be awesome!

Thanks.

volitank commented 2 years ago

Hmm this is a very interesting bug. Could you try to mimic it with apt using apt full-upgrade --auto-remove

Nala by default auto-removes files. In the next release there will be a configuration file to stop this behavior, as it's been requested several times. You could try nala update -y --no-autoremove and I'd think we would avoid this.

Additionally which version of Nala are you currently using? I'm assuming it's the latest 0.6.0 since you have my repo configured.

volitank commented 2 years ago

also I can't really tell but it may be the auto-fixer. Like the packages are marked as auto-removal when they shouldn't be, so the next time you run upgrade it does the equivalent of apt install -f. Nala will automatically try to fix broken packages if there are any, and a package missing it's dependency would qualify for that.

You can test by allowing Nala to remove those packages and then try to upgrade with apt. If this is the case apt should tell you there are broken packages.

Booteille commented 2 years ago

Hmm this is a very interesting bug. Could you try to mimic it with apt using apt full-upgrade --auto-remove

This tries to remove shown packages if they are installed.

Nala by default auto-removes files. In the next release there will be a configuration file to stop this behavior, as it's been requested several times. You could try nala update -y --no-autoremove and I'd think we would avoid this.

This does not remove these packages, as you supposed.

Additionally which version of Nala are you currently using? I'm assuming it's the latest 0.6.0 since you have my repo configured.

Yes, I am using the 0.6.0.

also I can't really tell but it may be the auto-fixer. Like the packages are marked as auto-removal when they shouldn't be, so the next time you run upgrade it does the equivalent of apt install -f. Nala will automatically try to fix broken packages if there are any, and a package missing it's dependency would qualify for that.

You can test by allowing Nala to remove those packages and then try to upgrade with apt. If this is the case apt should tell you there are broken packages.

I did nala upgrade -y, removed proposed packages then apt upgrade -y and apt install -f and it didn't add or remove any package. But when trying to run nala upgrade -y again, it installed these packages.

Considering that, I don't think there are any broken packages on my system and nala is playing with these packages for another reason.

Thanks for your support!

volitank commented 2 years ago

So apt full-upgrade --auto-remove has the same interaction. I'm wondering if this is actually a bug with Pop_OS packaging. Wouldn't be the first time Pop screwed something up.

Maybe auto-removing by default isn't the correct approach, I'm not exactly sure. On debian and ubuntu I've never seen this happen.

volitank commented 2 years ago

Going to close this issue as there hasn't been any activity. If you run into this again feel free to open a new one on GitLab.