[pacman-dev] makepkg - separate build nodeps and runtime nodeps
allan at archlinux.org
Sat Oct 22 04:24:59 UTC 2016
On 22/10/16 00:46, Eli Schwartz wrote:
> 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.)
I'm sure there was a bug report asking for rundepends=() to be added to
the PKGBUILD spec. I can't seem to find it, so I guess that was rejected!
More information about the pacman-dev