Pamac incorrectly removes "unrequired" dependencies on fresh installation

I don’t know if some package is marked as “unrequired” by Pamac itself or Pamac just uses some internal “list” to determine if dependence is in use or not, so I don’t know what to blame: Pamac or Manjaro. Anyways, here’s a problem:

  1. Install Manjaro KDE Minimal;
  2. Enable “Remove unrequired dependencies” option in Pamac right after installation;
  3. Remove Timeshift and timeshift-autosnap (which come pre-installed)
  4. Restart… and system will never boot, it enters endless boot mode.

If “Remove unrequired dependencies” option is not checked and Timeshift is removed, everything works fine. Performed 4 fresh installations over weekend and result is always the same.

Pamac is removing what it’s supposed to.the unrequired unrequired dependencies for timeshift.That’s not to say those dependencies are not also used by other programs and the system itself.

1 Like

Alright, but shouldn’t it see that some package (which is going to be removed) is actually used by other programs. If it’s “normal”, what’s the point of having such a feature then, which will break system in 99% of cases then?

My advice is not to tic that box and instead on the installed tab in pamac there you will find an orphans section, this will show all non required packages. You should review this list an untick any you don’t want to remove. Any you keep can be removed from the list by setting them as “explicitly installed” under details of the particular file.

Pretty sure just removing timeshift in pamac will work as it does a good job of removing the program.

There is a reason it is not enabled by default.

When you enable the function in Pamac it is equivalent to using the cascade removal option with pacman.

When doing so you should carefully examine the content of the transaction before you commit.

Manjaro is a tool - an operating system and pamac is a package manager - the package manager will only do what you tell it to do.

No tool can tell the person holding the tool - don’t hit that nail - the house is going to crumble - the tool is dumb so the user is in charge.

So you cannot blame the tool - but the user holding the tool.

Please check if there is already an issue reported about this, else open one: Issues · Applications / pamac · GitLab I’m sure we had a similar discussion regarding this in the past already.

AFAIK that option only removes packages:

  • not explicitly installed
  • not dependencies for other installed packages

Have you checked if timeshift and timeshift-autosnap wouldn’t be dependencies of other (meta-)packages? Trying to remove the former may then also remove the latter, plus all the packages in the latter dependency tree…

Cannot reproduce on manjaro-kde-22.0.4-minimal-230222-linux61.iso.

Disabled “Remove unrequired dependencies”, reboot - OK.

$ cat /var/log/pacman.log
[2023-03-13T23:51:07+0200] [ALPM] transaction started
[2023-03-13T23:51:07+0200] [ALPM] removed timeshift-autosnap-manjaro (0.10-1)
[2023-03-13T23:51:07+0200] [ALPM] removed timeshift (22.11.2-1)
[2023-03-13T23:51:08+0200] [ALPM] transaction completed

Enabled “Remove unrequired dependencies”, reboot - OK.

$ cat /var/log/pacman.log
[2023-03-13T23:52:58+0200] [ALPM] transaction started
[2023-03-13T23:52:59+0200] [ALPM] removed timeshift-autosnap-manjaro (0.10-1)
[2023-03-13T23:52:59+0200] [ALPM] removed timeshift (22.11.2-1)
[2023-03-13T23:52:59+0200] [ALPM] removed libgee (0.20.6-1)
[2023-03-13T23:52:59+0200] [ALPM] removed xapp (2.4.2-1)
[2023-03-13T23:52:59+0200] [ALPM] removed vte3 (0.70.3-1)
[2023-03-13T23:52:59+0200] [ALPM] removed xorg-xhost (1.0.9-1)
[2023-03-13T23:52:59+0200] [ALPM] removed vte-common (0.70.3-1)
[2023-03-13T23:52:59+0200] [ALPM] removed libdbusmenu-gtk3 (16.04.0-5)
[2023-03-13T23:52:59+0200] [ALPM] removed libdbusmenu-glib (16.04.0-5)
[2023-03-13T23:52:59+0200] [ALPM] removed libgnomekbd (1:3.28.1-1)
[2023-03-13T23:52:59+0200] [ALPM] removed libxklavier (5.4-3)
[2023-03-13T23:52:59+0200] [ALPM] transaction completed

There is no such timeshift-autosnap in ISO for the last 1.5 years.

1 Like

+1
I have been using this feature for a couple months now and removed many packages during that time, never had a single issue. It won’t even remove packages that are only optional dependencies.

It might depend on the exact ISO and how the profiles are written. @guinux tested the full ISO of KDE it seems based on a discussion I had with him:

Guillaume Benoit, [13.03.23 23:48]
Just tried with a fresh install from manjaro-kde-22.0.4-230222-linux61.iso in a VM and removing timeshift and timeshift-autosnap-manjaro doesn’t break anything even when “Removing unrequired deps” is enabled

Guillaume Benoit, [13.03.23 23:49]
Anyway if it occurs it’s just an error in the image. If all essential packages are marked as “explicitly installed”, the system can’t be broken by using this option.

Philip M, [13.03.23 23:51]
well it depends if that is the case as the list of packages to been installed are now more and more simplified and not so large to explicitly install them anymore

Philip M, [13.03.23 23:51]
we simply have to see on how to make it not so strict and avoid those situations and not expect that the base is installed explicitly

Guillaume Benoit, [13.03.23 23:59]
Yes just list essential packages to have a bootable system

Guillaume Benoit, [14.03.23 00:00]
If needed, it could also be integrated in pamac with a double check for removing those packages

Philip M, [14.03.23 00:01]
I think the check for really needed deps is the better and more solid idea instead of relying on some fancy list or profiles

Guillaume Benoit, [14.03.23 00:02]
yes and it also works with pacman

Philip M, [14.03.23 00:03]
how long would you need to add that feature?

Guillaume Benoit, [14.03.23 00:10]
Not so long, the hardest would be to define the list of packages to check

Sorry, I didn’t write the name in full. It was something like timeshift-autosnap-manjaro.

Anyways, I’m thankful to everyone for their input regarding this issue, most of replies were really useful.

How the hell does that make any sense? How is user suppose to know some deep system stuff whether it’s needed by something else? Something considered “unneeded” should only be when NOTHING requires it. If anyone knows that it should be the system, not the user.

If this is really per app basis, then this setting shouldn’t exist because it’s destined for failure by default.

Alright, you’ve been able to reproduce it.

However…

Logs or it didn’t happen.

Please see:

It doesn’t make any sense because Pamac doesn’t actually do this.

So after 2 more days of “debugging”, I believe it’s not Pamac problem - Do different Arch-based distros use different drivers for the same kernel?