termux-packages icon indicating copy to clipboard operation
termux-packages copied to clipboard

[feature request, CI auto-updater]: automatic revbumping reverse dependencies

Open twaik opened this issue 1 year ago • 5 comments

Hello. It is a known problem that sometimes automatic upgrade of library can cause CANNOT LINK EXECUTABLE ...: cannot locate symbol ... problems. Probably we can make auto-updater check for undefined symbols of reverse dependencies and invoke automatic revbumping of them. Or in the case if it is problematic we can make auto-updater invoke revbumping for all reverse dependencies in the case if package contains shared libraries and there is TERMUX_PKG_REVBUMP_REVDEPS variable is set to true. Probably it is a no-go for packages like gdbm or openssl which have lots of heavy dependencies, but it will be usable for small packages like botan3 which have three or less dependencies (botan3 has only keepassxc one).

twaik avatar Aug 12 '24 17:08 twaik

Probably it is a no-go for packages like gdbm or openssl which have lots of heavy dependencies

IMO, more problematic ones are abseil-cpp, grpc, poppler and protobuf. Those break everything after every update.

Biswa96 avatar Aug 12 '24 17:08 Biswa96

abseil-cpp, grpc, poppler and protobuf

And have a lot of reverse dependencies. I am not proposing this feature for these packages because in this case CI can hit the time limit.

twaik avatar Aug 12 '24 17:08 twaik

I think a way to easily check the reverse dependencies for a given package might be a better approach.

TomJo2000 avatar Aug 12 '24 18:08 TomJo2000

But what way? Running symbol checks? Or just trying to execute with bionic-host or termux-docker? Or some other way I am not aware about?

twaik avatar Aug 12 '24 18:08 twaik

Would probably be most useful either immediately before or after the symbol checks. Could also be made part of the linter, but that doesn't run for local builds usually.

TomJo2000 avatar Aug 12 '24 18:08 TomJo2000