Are there any tools to help assemble libraries and debuginfo to examine core dumps that happened on another host where the versions don’t match? Something like mock but build-version specific and with the debuginfo packages pulled in?
I am not sure that I understand your question so if this answer is totally irrelevant then please forgive me.
But, in case this might help, you can configure mock to use locally provided repos and different architectures via the –configdir parameter. You provide an architecture specific config file like epel-6-x86_64.cfg in the specified directory and alter it to require packages to suit a specific build requirement.
One of mine looks like this:
config_opts[‘root’] = ‘epel-6-x86_64’
config_opts[‘target_arch’] = ‘x86_64’
config_opts[‘legal_host_arches’] = (‘x86_64’,)
config_opts[‘chroot_setup_cmd’] = ‘groupinstall buildsys-build’
config_opts[‘dist’] = ‘el6’ # only useful for –resultdir variable subst
config_opts[‘yum.conf’] = “””
reposdir=/dev/null logfile=/var/log/yum.log retries obsoletes=1
I don’t think I could actually use mock for this. It might come close if I rebuilt all of the libraries and debuginfo packages at the versions that existed on the host that produced the core dump and ran gdb in the chroot environment. But, I don’t believe such a rebuild would be an exact binary match for the builds in the CentOS build environment and getting all the src rpms at the right versions would be just as hard as assembling all of the binary rpms and debuginfo from the vault versions. I was just hoping that there was some similar high-level framework to do the tedious work of assembling everything you need in the right places.
I’m not sure of a one-step ‘chroot-friendly’ way to do this. You could probably script this up by abusing debuginfo-install’s –installroot option after some minor chroot prep-work.
It doesn’t really need to be in a chroot – but otherwise you need to extract the lib/debuginfo rpm contents into non-standard locations and tell gdb to look there. Kind of tedious either way.