[pacman-dev] makepkg - separate build nodeps and runtime nodeps

Eli Schwartz eschwartz93 at gmail.com
Fri Oct 21 14:46:08 UTC 2016


On 10/21/2016 10:16 AM, Lukas Jirkovsky wrote:
> build time dependencies = makedepends + depends
> runtime dependencies = depends
> 
> In other words, the depends are implicitly makedepends, too. You need
> to build packages in correct order. You approach of ignoring
> dependencies will fail miserably when one of your "runtime
> dependecies" will have soname bump.
> Eg. your package b provides libb.so.1. You rebuild a and it will link
> agains libb.so.1. Then you rebuild package b and the library changes
> to libb.so.2. Now the package a is broken, because it is linked
> against library that is no longer existing.
> 
> TLDR: you original approach was correct, the current one with
> bypassing dependencies is wrong.

Just wanted to add, that if a dependency is needed for runtime but not
for building, then it can be listed in the depends inside the actual
package() function.

In that case, makepkg *still* does the right thing, because it doesn't
install a non-build-time dependency...

(This is usually relevant in split packages, in which case the
makedepends includes all the individual package() depends -- but it
could be used to separate runtime-only depends. If it actually was
important to pander to this very limited and not-well-justified use-case.)

-- 
Eli Schwartz


More information about the pacman-dev mailing list