Skip Navigation

Implications of removing make dependencies after install with yay

 undefined
    
:: Remove make dependencies after install? [y/N] y

  

If I didn't remove make dependencies, would yay/pacman be smart enough to know the thing I am installing does not actually depend on them? It's a very nice feature of package managers that they track dependencies and can do things like remove "dangling" dependencies and I don't want to mess that up with some random dependencies needed only for a build. But I also don't want to install something every time I need to build lol.

So does yay and/or pacman know that the things I am installing don't actually depend on the make dependencies?


Solution: Keeping the make dependencies after install will not fool pacman and/or yay into thinking the make dependencies are "real" dependencies of whatever you're building from AUR. They both correctly recognize them as orphans (unless of course something else actually depends on them). So feel free to not remove them during install without worrying about dependency graphs getting tarnished; you'll be able to easily remove them later if you'd like.

You're viewing a single thread.

8 comments
  • I'm going to guess that the make dependencies are installed explicitly and not as a dependency. You can check the if they are explicitly installed or not with the output from pacman -Qi packagename iirc. If it doesn't work then try pacman -Qii packagename.

    So does yay and/or pacman know that the things I am installing don't actually depend on the make dependencies?

    I'm pretty sure make dependencies aren't considered dependencies of the package you are installing.

    • Nice, this is insightful, how can I see what the make dependencies of the AUR package are? I can compare it with this output and know for sure.

      • That's listed in the makedepends array of the PKGBUILD, like here. You might want to look into the query options -d in combination with -t for pacman's -Q, to list packages installed as dependencies, but "Restrict or filter output to print only packages neither required nor optionally required by any currently installed package."

        Bonus cleanup pro-tip: alias pacorphans='sudo pacman -Qtdq | sudo pacman -Rns -' as explained in the wiki, mentioning makedepends in particular.

        • Awesome! Thanks so much. This has been helpful. I reinstalled the package and chose to keep the build dependencies. When I run pacman -Qii foo (where foo is the thing from makedepends) I can see that is is required by nothing. Also, pacman -Qtd shows it as an orphan (as expected). This is perfect and exactly what I was trying to figure out. I can "safely" (not that there would've been danger) keep these dependencies without the package managers being fooled into thinking they're actually needed to run the thing once installed.

8 comments