Description of problem: Lots of symlinks/broken symlinks are leftover by an upgrade to FC27 in /usr/lib/.build-id I'm not sure where the root of this "problem" really lies. Version-Release number of selected component (if applicable): Upgrade to FC27 How reproducible: Steps to Reproduce: 1.Upgrade to FC27 2.ls -l /usr/lib/.build-id/*|less 3. Actual results: Lots of entries. Expected results: The .build-id directory is removed after it's necessity is fulfilled. Additional info:
It seems there is also stuff in, /usr/lib/debug/.build-id
I think that the issue is due to packaging, but not sure. Probably RPM team knows better the issue.
In Fedora >= 27, build-ids are part of the main package, on purpose. See https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo for rationale.
Brilliant! An entire directory tree full of broken symlinks that are owned by individual packages - really? I don't think this is a bright idea - I think it is the result of a misguided mind/youth. The rationale needs a lot of work to actually be justified. Please fix it so the symlinks are only created IF really required or used. Leaving broken symlinks lying around should be an offence punishable by the creators email address being made into a broken symlink.
(In reply to John Dodson from comment #4) > Brilliant! > An entire directory tree full of broken symlinks that are owned by > individual packages - really? Broken symlinks would indeed be a bug. I think your original bug report wasn't entirely clear that you were talking about broken dangling symlinks. This is actually a bug that should have been fixed by the new system. In older setups the symlinks might have been part of a different subpackage, and so if they were updated/removed might get out of sync. The new system the symlinks are placed in the actual package of the files that own them and so never should be broken (except for the 'compat' symlinks in the -debuginfo package, sadly for backwards compatibility). > Leaving broken symlinks lying around should be an offence punishable by the > creators email address being made into a broken symlink. :) So, could you show some of the broken symlinks under /usr/lib/.build-id/*? If there are any that point to a non-existing file then that would indeed be broken and we should figure out which package placed them there and why they weren't removed when the package got removed. (The ones under /usr/lib/debug/.build-id could still be broken sadly because of the compat symlinks, sorry).
Sadly I removed /usr/lib/.build-id & /usr/lib/debug/.build-id as they annoyed me intensely. But as fortune would have it some have returned after updates I assume... Meanwhile though - do me a favour - break backwards compatibility in favour of sanity of not having broken symlinks, or have the package that owns them, maintain them in an appropriate way, eg. if symlink broken remove it, if missing create it as long as the target exists, otherwise there is a bug that should break something & not leave dangling symlinks. FC27... /etc/alternatives/libjavaplugin.so.x86_64: broken symbolic link to /usr/lib64/IcedTeaPlugin.so file /etc/alternatives/libjavaplugin.so.x86_64 is not owned by any package /usr/lib/.build-id/6b/daf66135a37b8f9bbfb311da7eed1f4cb9b88f: broken symbolic link to ../../../../usr/sbin/dnssec-importkey-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/41/ad4c579e2c236cfd93c881fbd0740dfcf73ac4: broken symbolic link to ../../../../usr/sbin/dnssec-revoke-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/68/7f0a4733c39fb7b5a84aa68be5a65d5221c351: broken symbolic link to ../../../../usr/sbin/dnssec-dsfromkey-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/a8/a2ea325780cae23ced9b3227e8b5098c31a5c5: broken symbolic link to ../../../../usr/sbin/dnssec-keyfromlabel-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/51/94bda72d6c58a9f05c6b5dda6df64ab32d67c0: broken symbolic link to ../../../../usr/sbin/dnssec-settime-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ba/53bbf457ccd90d6fc1c32cb6c674b49d2b491e: broken symbolic link to ../../../../usr/sbin/dnssec-verify-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ff/16355f08a2977f4ca7d6e3887288e60ae0255e: broken symbolic link to ../../../../usr/sbin/dnssec-keygen-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ff/18934fa0fc4ebdd14e478ee04750da9dd34eb9: broken symbolic link to ../../../../usr/sbin/dnssec-signzone-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 on one machine & this on another... /etc/extlinux.conf: broken symbolic link to ../boot/extlinux/extlinux.conf syslinux-extlinux-6.04-0.7.fc27.x86_64 /etc/systemd/system/syslog.service: broken symbolic link to /usr/lib/systemd/system/rsyslog.service file /etc/systemd/system/syslog.service is not owned by any package /usr/lib/.build-id/51/94bda72d6c58a9f05c6b5dda6df64ab32d67c0: broken symbolic link to ../../../../usr/sbin/dnssec-settime-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/68/7f0a4733c39fb7b5a84aa68be5a65d5221c351: broken symbolic link to ../../../../usr/sbin/dnssec-dsfromkey-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/a8/a2ea325780cae23ced9b3227e8b5098c31a5c5: broken symbolic link to ../../../../usr/sbin/dnssec-keyfromlabel-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ba/53bbf457ccd90d6fc1c32cb6c674b49d2b491e: broken symbolic link to ../../../../usr/sbin/dnssec-verify-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ff/16355f08a2977f4ca7d6e3887288e60ae0255e: broken symbolic link to ../../../../usr/sbin/dnssec-keygen-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ff/18934fa0fc4ebdd14e478ee04750da9dd34eb9: broken symbolic link to ../../../../usr/sbin/dnssec-signzone-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/6b/daf66135a37b8f9bbfb311da7eed1f4cb9b88f: broken symbolic link to ../../../../usr/sbin/dnssec-importkey-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/41/ad4c579e2c236cfd93c881fbd0740dfcf73ac4: broken symbolic link to ../../../../usr/sbin/dnssec-revoke-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 and another, all running FC27... /etc/alternatives/libjavaplugin.so.x86_64: broken symbolic link to /usr/lib64/IcedTeaPlugin.so file /etc/alternatives/libjavaplugin.so.x86_64 is not owned by any package /usr/lib/.build-id/51/94bda72d6c58a9f05c6b5dda6df64ab32d67c0: broken symbolic link to ../../../../usr/sbin/dnssec-settime-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/68/7f0a4733c39fb7b5a84aa68be5a65d5221c351: broken symbolic link to ../../../../usr/sbin/dnssec-dsfromkey-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ba/53bbf457ccd90d6fc1c32cb6c674b49d2b491e: broken symbolic link to ../../../../usr/sbin/dnssec-verify-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/6b/daf66135a37b8f9bbfb311da7eed1f4cb9b88f: broken symbolic link to ../../../../usr/sbin/dnssec-importkey-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ff/18934fa0fc4ebdd14e478ee04750da9dd34eb9: broken symbolic link to ../../../../usr/sbin/dnssec-signzone-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/ff/16355f08a2977f4ca7d6e3887288e60ae0255e: broken symbolic link to ../../../../usr/sbin/dnssec-keygen-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/a8/a2ea325780cae23ced9b3227e8b5098c31a5c5: broken symbolic link to ../../../../usr/sbin/dnssec-keyfromlabel-pkcs11 bind-utils-9.11.3-4.fc27.x86_64 /usr/lib/.build-id/41/ad4c579e2c236cfd93c881fbd0740dfcf73ac4: broken symbolic link to ../../../../usr/sbin/dnssec-revoke-pkcs11 bind-utils-9.11.3-4.fc27.x86_64
The above were /usr/lib/.build-id/* is it fixed?
Ah - so a recent update on fc27 seems to be removing /usr/lib/.build-id/ files. Thanks! Now are we going to be maintaining the /usr/lib/debug/.build-id/ broken symlinks in a reasonable way too?
Was this a bug or an oversight? Whats the diff?
After last night I have these... /usr/lib/.build-id/49/698ed5d29a893c7bfa5add4d67ef7a2f9e5c01: broken symbolic link to ../../../../usr/lib64/libgfdb.so.0.0.1 glusterfs-libs-3.12.8-1.fc27.x86_64 /usr/lib/.build-id/a2/cb13e3bcd47c207782d1491ccb66cebae5a007: broken symbolic link to ../../../../usr/lib64/glusterfs/3.12.8/rpc-transport/rdma.so glusterfs-3.12.8-1.fc27.x86_64
And... /usr/lib/.build-id/ba/cfd7a62c0943c5ad794d1d39b655bfa90f9fa1: broken symbolic link to ../../../../usr/lib64/tumbler-1/plugins/tumbler-gst-thumbnailer.so tumbler-0.2.1-1.fc27.x86_64 /usr/lib/.build-id/d2/dbb694c4b8517beb79bb9d78d2383998845fb1: broken symbolic link to ../../../../usr/lib64/tumbler-1/plugins/tumbler-raw-thumbnailer.so tumbler-0.2.1-1.fc27.x86_64 /usr/lib/.build-id/06/e3c3e24e1be0a80967a12e2b021d72312d3bf1: broken symbolic link to ../../../../usr/lib64/libavdevice.so.57.6.100 ffmpeg-libs-3.3.7-1.fc27.x86_64
I couldn't find the ffmpeg-libs spec file, but the other examples are files that get %excluded, but still get a build-id symlink. Which is indeed a known issue, bug #878863. *** This bug has been marked as a duplicate of bug 878863 ***