The second one should indeed make it unnecessary to require the exact same version as it was built against, but as I see it you still need the exact same versions of clang and libclang installed. We don't actually need clang, but the builtin headers. I've thought about whether they should not in fact be part of the libclang package, because every
http://bugzilla.opensuse.org/show_bug.cgi?id=1119186 http://bugzilla.opensuse.org/show_bug.cgi?id=1119186#c19 --- Comment #19 from Aaron Puchert <aaronpuchert@alice-dsl.net> --- (In reply to Wolfgang Bauer from comment #18) package I know that uses libclang also wants these headers and I'm not sure what you can do with libclang without them. (There isn't much you can do.)
In practice, removing the %requires_eq again won't gain much for the user though (it just will avoid package rebuilds when there are minor clang updates), so we probably still should keep it to be on the safe side. Not with vanilla Tumbleweed, but I find myself occasionally using updates from devel:tools:compiler that haven't landed in Factory yet — then I have to tell zypper to "break" KDevelop. It does actually break, but I can fix that by setting KDEV_CLANG_BUILTIN_DIR. Ideally Clang would just use the major version for the include directory (like GCC does) or create a symlink, but apparently nobody has thought about that yet.
Actually I can imagine a situation where it probably won't help: Consider clang/llvm is upgraded to 8.x. The clang and clang-devel packages will point to 8.x eventually, but as 7.x is still in the repos, kdevelop5 won't get rebuilt and continues to use 7.x. Something similar actually happened with the update to LLVM 7.0.0 — KDevelop didn't properly work for about a week or two because it linked with libLLVM.so.6 and libLLVM.so.7 at the same time. I had opened bug 1120416 for that, which is now resolved, but it will likely appear again.
There is no dependency on clang7 though, only clang (which pulls in clang8 then), so the appropriate headers will be missing (if you install it fresh at least, when updating the installed clang7 should not get removed I hope)... Probably an edge case though. Would that be solved if we package the headers with libclang or in a package required by libclang?
-- You are receiving this mail because: You are on the CC list for the bug.