> > 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
_______________________________________________ SlackBuilds-users mailing list [email protected] https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
