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

Allan McRae 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.)
> 

Correct.

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!

A


More information about the pacman-dev mailing list