[Rpm-maint] Drowning in build-ids

Panu Matilainen pmatilai at redhat.com
Wed Oct 25 10:46:36 UTC 2017


I've only now begun to encounter packages with the build-id links in the 
packages themselves. In a package with just a couple of binaries it's 
seemed like non-issue, but yesterday I happened to encounter this:

[pmatilai at sopuli x86_64]$ rpm -qpl can-utils-20170830git-1.fc28.x86_64.rpm
/usr/bin/asc2log
/usr/bin/bcmserver
/usr/bin/can-calc-bit-timing
/usr/bin/canbusload
/usr/bin/candump
/usr/bin/canfdtest
/usr/bin/cangen
/usr/bin/cangw
/usr/bin/canlogserver
/usr/bin/canplayer
/usr/bin/cansend
/usr/bin/cansniffer
/usr/bin/isotpdump
/usr/bin/isotpperf
/usr/bin/isotprecv
/usr/bin/isotpsend
/usr/bin/isotpserver
/usr/bin/isotpsniffer
/usr/bin/isotptun
/usr/bin/log2asc
/usr/bin/log2long
/usr/bin/slcan_attach
/usr/bin/slcand
/usr/bin/slcanpty
/usr/lib/.build-id
/usr/lib/.build-id/05
/usr/lib/.build-id/05/c6e0445041bc297383997257bb625809ba62cb
/usr/lib/.build-id/0a
/usr/lib/.build-id/0a/60db326d39a38847a3f6c6bb67213434399c42
/usr/lib/.build-id/0a/7395e63809014439634b0f1c311b40a05fb5e5
/usr/lib/.build-id/1a
/usr/lib/.build-id/1a/cd09a44512470d5376a5abee7438005b3de0a2
/usr/lib/.build-id/24
/usr/lib/.build-id/24/c4eb684e21826207dc1d71bc023cdef7b5ee88
/usr/lib/.build-id/3a
/usr/lib/.build-id/3a/2309e9e68c2e3cdf475734b7eb4f426f109926
/usr/lib/.build-id/3f
/usr/lib/.build-id/3f/cd554bc60888e7feb4fb3d4cb891c549361aed
/usr/lib/.build-id/59
/usr/lib/.build-id/59/c1638a4c15139492927c117d44cc6f84532464
/usr/lib/.build-id/5b
/usr/lib/.build-id/5b/c0f8af0212d1e94f8a5c962b719dbe3f4dcc50
/usr/lib/.build-id/6a
/usr/lib/.build-id/6a/187c01913bc9b861dcb95ac0c5a12865fdd93b
/usr/lib/.build-id/6a/47c3475fbe4303a8a8005353f11f719112f838
/usr/lib/.build-id/71
/usr/lib/.build-id/71/f3b492130fa6ae09354107a8d7821d2969a4d9
/usr/lib/.build-id/75
/usr/lib/.build-id/75/a05d7dd3d81d9f7c0eef1ebde082cc1a5c93d9
/usr/lib/.build-id/7d
/usr/lib/.build-id/7d/2f0e2ceb4580c3ccd865e689bce9beb3a20903
/usr/lib/.build-id/7e
/usr/lib/.build-id/7e/ac33ea6338f316f03476c70f7c2d3743104a68
/usr/lib/.build-id/8a
/usr/lib/.build-id/8a/40a26934006152ad167875b61497065cbe3f7e
/usr/lib/.build-id/9e
/usr/lib/.build-id/9e/1b2107379d4830ecf3da8c29faf8e558c1eac2
/usr/lib/.build-id/b0
/usr/lib/.build-id/b0/ca696ceaa3a1e54722483ee55c5b12883d44f0
/usr/lib/.build-id/b3
/usr/lib/.build-id/b3/90fe4f2ac3dcea04aacf34b46b858466626a2e
/usr/lib/.build-id/c6
/usr/lib/.build-id/c6/645447744a17cc09f175e4d1f3bd8a441e1563
/usr/lib/.build-id/db
/usr/lib/.build-id/db/84b0bc26c9bb0eadc88a8ecde185e3db6452ba
/usr/lib/.build-id/f3
/usr/lib/.build-id/f3/5c37a5dc142928053784cb072403988b0f65dc
/usr/lib/.build-id/fb
/usr/lib/.build-id/fb/46eef57284d7136974be48fba4b0550a86c998
/usr/lib/.build-id/fc
/usr/lib/.build-id/fc/e691679c6ac99d2940daf63c6fe3221ee1af77
/usr/share/doc/can-utils
/usr/share/doc/can-utils/README.md
/usr/share/licenses/can-utils
/usr/share/licenses/can-utils/COPYING
[pmatilai at sopuli x86_64]$

I typically use 80x35 terminals and even on that, what you end up seeing 
is the hex gibberish of build-ids that is totally irrelevant for most 
people completely dominates the output that used to be spot-on relevant. 
Not good.

So I'm wondering how to make this less ugly.

The first thing that comes to mind is adding a %hidden virtual attribute 
and using it on build-ids (which are in a hidden directory on the 
filesystem), which would hide such files rpm -ql etc output by default 
(but with a cli-switch to show it all).

Another option would be hiding files and directories starting with dot, 
ie mirror the filesystem behavior. Obviously with a switch to show them too.

The idea of being able to hide arbitrary files from default output makes 
me a bit queasy. And also %hidden wouldn't help with existing packages, 
(mass) rebuilds are needed with that option. So it seems like two points 
in favor of the fs behavior, but dunno.

Thoughts, comments, better ideas?

	- Panu -


More information about the Rpm-maint mailing list