>
> you mean 2 sets of packages, one with debug symbols and one without? No, there's no pass like that.
>
No, I mean one package containing the stripped binary, and matching package containing separate debug symbols only, for installation in /usr/lib/debug for gdb/lldb use. There is no need to duplicate the binaries IMO, just to add a phase which uses a combination of objcopy/strip/objcopy to pack debug symbols into a separate pkg , which can be installed / uninstalled independently of the binaries themselves, but depending of the binaries so if you have them installed you dont get stale versions.
Its very useful if you need to debug something which calls into installed packages. It happened to me last week when I got a crash in libllvm . It turned out that I exported from a binary overloaded new/delete operators, but I forgot about one of them. But I was glad that I had symbols for clib/llvm/mesa, else it would have been hard to track. Even in an industrial setting for which I believe you aim with ravenports and its nice capabilites, such a feature would be imo desirable at least.
And also, from several years now both gcc/clang has good support for sanitizers, and now clang got Xray support. Might be cool to add support in port build for building from source instrumented. Some of those sanitizers require that all program, including external deps to be instrumented [1] including libc / libcpp . Ideally for me a port system would let me:
1. Allow port to be built as relase/debug
2. Allow port to generate separate debug symbols for debugger consumption for all versions listed above
3. Allow port to be built in instrumented forms
Ofc , just normal versions of the software shold be kept in piblic repositories. There is no need to offer such variants fro anyone. However it would great boon to have all those at your fingertips, for easy install/uninstall from a private repository. But sure as hell would be cool to be able to build a instrumented library with just one command and install remove it with package manager.
ofc, those are just ideas for you. Im not asking you to implement any of this, nor do I know if others in industry would find such functionality convenable, nor if it would work within the constrains of ravenports framework (
[1]
https://clang.llvm.org/docs/MemorySanitizer.html#handling-external-code