Paru has a different definiton of orphans

This is just a FYI message for everybody using paru as a pacman wrapper.

paru is using a different definition of an orphan package than pacman.

pacman man page says:

orphans - packages that were installed as dependencies but are no longer required by any installed package.

While paru uses the definition from the AUR submission guidelines (

If all maintainers of an AUR package disown it, it will become an "orphaned" package.

I have created an issue about this topic on github but the developers dont care and closed it:

Well, to search for orphans, you need to write the command paru -Qdt, not paru -Syyu,
just like you write pacman -Qdt.

I know that. If you dont mind, please read the issue I created on github.

paru is showing “orphans” on its own when doing an update like paru -Syyu . Without me asking for it. And I was confused that the paru orphans list did not match the pacman orphans list

In this case, the word orphans has multiple meanings:

  • The definition you are using relates to an installed package being orphaned
  • AUR packages can also become “orphaned” when they are no longer have a maintainer.

They are both valid.

Almost every AUR wrapper does the same thing. Here is an excerpt from yay:

:: Checking development packages...
 -> Orphaned AUR Packages:  python2-pycryptodomex  python2-simplejson

Yes, I realized that you can be confused

From my point of view the wording is not optimal.

They could call it “Not maintained packages” for example. Instead they use the word “Orphan” which has totally different meaning in the pacman world. They want to be pacman wrappers after all. They try to be compatible with pacman command line options and such but yet they deviate from pacman definition of an orphan.

This is confusing. But it looks like they do not want to resolve that confusion.

The problem is that “orphan” is the official word for it and has been in common usage for a long time.

Using different verbiage might make it clearer for you but it would make it less clear for others since orphans is the correct term in this case.

From the AUR page:

1 Like

I am very well aware about that. … Now :wink:

Seems to be an upstream problem. The Arch project is using the term “Orphan” with two different definition.

But these are two different standards - one for official repo, and the other for AUR.
I don’t see a solution here.

I use yay and everything is fine in it - orphans and unsupported packages have different names.
Well, maybe it’s because of the Russian localization in yay -
( i don’t have her in a paru ) or is it because of the developer? - I do not know

Probably due to localization. A few posts above there is output in english from yay and the word used is “Orphaned”.

1 Like

Anyway, then I don’t understand how they distinguish the same word in localization, translating it in different ways? ))

I don’t associate the term orphan with abandoned AUR packages either. To me it is the repo definition.

alias orph='pacman -Qdt'

I check for AUR package updates with this trizen alias.

alias tu='trizen -Sua --show-ood --noedit'

It doesn’t use the word orphan in the results for unmaintained packages, it is more descriptive and clear.

It describes packages as flagged out of date, packages as unmaintained, ignorelist packages as ignoring package uppgrade and finally a numbered list of packages to be updated (if any).

I like being able to easily and quickly identify OOD and abandoned AUR packages like this.