[Slackbuilds-users] Please list all direct dependencies as dependencies
Fellype
fellype at gmail.com
Tue Apr 28 18:14:11 UTC 2026
>
> I know that some like to "optimize" the dependency list of SlackBuilds by
> not listing dependencies that are already included as dependencies of
> dependencies. I would humbly ask to please not do this. If a package
> directly depends on another package, explicitly list it as a dependency.
> For those familiar with C programming, this is similar to the question of
> which headers to include in your source files (whether or not to list
> headers that are already included by other headers).
>
> Why? 2 reasons:
>
> 1) You don't have to track the dependency list of your dependencies (and
> their dependencies, etc.). It shouldn't matter if a dependency 3 levels
> deep drops a dependency on something you actually need.
>
> 2) Slackrepo's rebuild logic depends on it. When a package is updated,
> slackrepo builds it and then rebuilds all packages that depend on it. It
> does not, however, rebuild packages that depend on rebuilt packages.
>
> For me, the fwupd build failed with error:
>
> protoc-gen-c: error while loading shared libraries:
> libabsl_log_internal_check_op.so.2508.0.0: cannot open shared object file:
> No such file or directory
>
> The reason is that abseil-cpp was updated, and slackrepo duly rebuilt
> protobuf3. However, it did not rebuild protobuf-c, as protobuf-c only
> lists protobuf3 as a dependency (and not abseil-cpp). fwupd depends on
> protobuf-c. The (trimmmed) slackrepo dependency tree output is:
>
> Dependency tree:
> system/fwupd (update for version 1.9.34)
> libraries/protobuf-c (ok)
> development/protobuf3 (ok)
> development/abseil-cpp (ok)
>
> After explicitly telling slackrepo to rebuild protobuf-c, the fwupd build
> succeeded. I can thus infer that protobuf-c directly depends on
> abseil-cpp. In other words, whenever abseil-cpp is upgraded protobuf-c
> needs to be rebuilt.
>
> Of course, maintainers are free to do as they wish. I ask because I
> prefer not to rebuild all my SBo packages each week, instead (re)building
> only what is necessary. This happens infrequent enough that I usually
> forget this is the issue, wait a week for the build to be fixed, and after
> further investigation remember that some of the dependencies need a manual
> rebuild.
>
> AFAIK, this 'optimization' is currently a SBo policy (needs confirmation)..
In addition to your suggestion, I think it would be interesting to have an
entry like 'AFFECTS=""' in the .info files, where the dependees
could/should be listed. This could be used by slackrepo/sbopkg/sbotools for
automation to list and/or rebuild the dependees.
Regards,
Fellype
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.slackbuilds.org/pipermail/slackbuilds-users/attachments/20260428/3a78665a/attachment.htm>
More information about the SlackBuilds-users
mailing list