How to determine runtime-/build-only dependencies
Rafael Sadowski
rafael at sizeofvoid.org
Sun Jan 18 14:44:58 GMT 2026
Hi KDE Community,
I'm currently working on mapping the dependencies for the OpenBSD
packages properly. I've started analysing the .kde-ci.yml.
In OpenBSD, we have RUN_-, BUILD_- and LIB_DEPENDS. RUN_DEPENDS must
be installed alongside the package. BUILD_DEPENDS must be present
at build time but not linked against lib/bin and finally LIB_DEPENDS
which link against bin/lib.
Let's take a look at frameworkintegration-6.22.0 for example:
We have the following LIB_DEPENDS:
LIB_DEPENDS = devel/kf6/attica>=${MODKF6_VERSION} \
devel/kf6/kcolorscheme>=${MODKF6_VERSION} \
devel/kf6/kconfig>=${MODKF6_VERSION} \
devel/kf6/kcoreaddons>=${MODKF6_VERSION} \
devel/kf6/ki18n>=${MODKF6_VERSION} \
devel/kf6/kiconthemes>=${MODKF6_VERSION} \
devel/kf6/knewstuff>=${MODKF6_VERSION} \
devel/kf6/knotifications>=${MODKF6_VERSION} \
devel/kf6/kwidgetsaddons>=${MODKF6_VERSION}
That's easy, because we scan all bin/libs to determined all used
libs correctly. This This is recorded in WANTLIB. This means that
it is immediately apparent if something is missing:
WANTLIB += ${COMPILER_LIBCXX} GL KF6Attica KF6ColorScheme KF6ConfigCore
WANTLIB += KF6CoreAddons KF6I18n KF6IconThemes KF6NewStuffCore
WANTLIB += KF6Notifications KF6WidgetsAddons Qt6Core Qt6DBus Qt6Gui
WANTLIB += Qt6Network Qt6Widgets c m
In other words, we can correctly determine shared library dependencies, but
now it gets exciting, but .kde-ci.yml says even more dependencies, namely:
KDE_DEPENDS = devel/kf6/kconfigwidgets \
devel/kf6/kguiaddons \
devel/kf6/kio \
devel/kf6/kitemviews \
devel/kf6/oxygen-icons \
devel/kf6/kpackage
I determined KDE_DEPENDS based on kde-ci.yml. Now I'm wondering
how to deal with it. Are these just build dependencies, or also
runtime dependencies, or both? What's the best way to determine
this? Can I even do that? What would be the best strategy for
distributions?
Thanks,
Rafael Sadowski
More information about the kde-devel
mailing list