[pacman-dev] Doing more stuff with optdepends

Allan McRae allan at archlinux.org
Tue Mar 24 07:58:15 EDT 2009

Dieter Plaetinck wrote:
> On Fri, 06 Mar 2009 10:15:10 +1000
> Allan McRae <allan at archlinux.org> wrote:
>> Hi,
>> I have been thinking about optdepends and if we can improve the
>> handling of them.  So, given I am better at making wiki pages than
>> patches...
>> http://wiki.archlinux.org/index.php/User:Allan/Pacman_OptDepends
>> What do people think about this idea?  Are there other sensible 
>> additions to that proposal?
>> I know that optdepends were originally for getting rid of
>> informational messages but I have some packages on my system that are
>> installed "explicitly" when they are really (opt)deps for other
>> packages.
>> Allan
>> _______________________________________________
>> pacman-dev mailing list
>> pacman-dev at archlinux.org
>> http://www.archlinux.org/mailman/listinfo/pacman-dev
> Some good suggestions.
> 1) Re: "optdepends are not orphans unless a flag is specified".
> Maybe you could also just show the listing of all
> "orphans" (including optdeps) and next to it add something like
> "(optdep for package foo, bar)" where appropriate.

I would like a way of separating them because I think it is quite common 
to do a "pacman -Rs $(pacman -Qqtd)".  Well, at least it is for as I 
install anything I test with "--asdep".  I have changed that a bit as 
the stuff in brackets should not be printed with the -Qq flag.

> 2) I would really like a way to just "list all installed optdeps". that
> way. if you want to "clone" all installed packages to another system,
> you just need the list of installed packages and a list of the optdeps.
> (if you like the idea from the previous point, I can use that and just
> grep on optdep and I'm happy).  Or maybe even one list of all explicit
> packages, with next to them their installed optdeps.

Well, I think in my proposal "pacman -Qtd --optdep | grep optdepend | 
cut -f1 -d' '", or something like that would work for this.

> 3)Re: "optdepends can be removed with -Rs"
> isn't this just the consequence of optdeps being installed with --asdep?

Sort of.  It is mainly a consequence of pacman recognizing them as a 
dependency of the parent package, but --asdep of course plays a part.

Feel free to add comments to the wiki page.  I made it primarily for 


More information about the pacman-dev mailing list