ldd раскручивает всю цепочку, этого не требуется для создания рантайм зависимостей, для них читают ELF разными способами, в rpm с помощью своего кода, который учитывает версионирование символов. Но, если ваш бинарник bar слинкован с libfoo.so.N, котлрый лежит в /opt/ и подгружается через R(UN)PATH, то, чтобы удовлеиворить созданную рантайм зависимость, нужно его записать еще и в Provides вашего пакета. Но библиотека из /opt в них не нужна, а когда проприетарщина провайдит сбандленные libfontconfig и т.п., это очень убого, такое нужно просто грамотно зафильтровать, в rpm есть средства для этого. Но многим либо лень, либо не знают, что так надо и можно.