Some orphans that perhaps shouldn't be orphans

Hei there! I have been running Manjaro for over a year, but in relative terms I am new to GNU/Linux. I love to learn about all of it, and I occasionally do run into things I don’t quite understand. Like this problem:

Here is a list of the current orphans on my system (output of the pacman -Qdt command):

aria2 1.35.0-2
autoconf 2.69-7
automake 1.16.2-3
bison 3.7.2-1
clutter-gtk 1.8.4-2
fakeroot 1.25.3-1
flex 2.6.4-3
js68 68.12.0-1
libcurl-gnutls 7.73.0-1
libsynctex 2020.54586-6
libtorrent-rasterbar 1:1.2.10-2
make 4.3-3
patch 2.7.6-8
pkgconf 1.7.3-1
python-sip 4.19.24-2

I have a feeling some of these packages perhaps shouldn’t be on the list. Would that be the case with for instance make and automake? Apart from installing and uninstalling a few packages, I haven’t messed with my system at all since I did a fresh install of Manjaro a week ago. Most of the packages on the orphan list (incl. make and automake) have been on the list since day one or two after the install.

I am extra suspicious as it is not the first time I have removed orphans and realised they were packages I should have kept (once preinstalled Xfce dark themes that I was currently using were deleted that way). While I have learnt to double check the orphans list before removing the packages (hence my question above), I do wonder why non-orphans make it onto the orphans list? To a new Linux user like me, this seems like a potentially very damaging flaw in the the package manager and one that can lead to a lot of frustrations. But most of you know way more about how this is supposed to work, so I would love to hear your perspectives on that!

Hope anyone can shed some light on this for me :slightly_smiling_face:

They all look like orphans to me.
For example on my system make is only required because of DKMS stuff.
Orphans just mean nothing depends on them.
They should be safe to remove.
Though it doesnt necessarily mean you dont want them.
If that is the case for any package, then you may wish to change its designation to ‘explicitly’ installed.

For these reasons - I generally advise against automatic orphan removal.
Instead I suggest, as you did, folks inspect their orphan list before removing.

PS - On second thought … I believe some of these may have been installed as deps of things you have since removed. Though it should be noted packages like make and automake are part of group base-devel which is required to use the AUR.

1 Like

They may not be dependencies of one of your currently installed packages, but they might be build dependencies. So, if you remove them, they come back the next time you build something. In my case:

$ pacman -Qdt
extra-cmake-modules 5.75.0-1
js68 68.12.0-1
libpwquality 1.4.4-1
patchelf 0.12-1
python-sip 4.19.24-2

I believe these keep coming back. When I makepkg -si my plasmoid, extra-cmake-modules is pulled in. Similarly, every time I rebuild zoom-qt, patchelf comes back, which you can see in line 16 as:

makedepends=('patchelf')
1 Like