[Rpm-maint] Drowning in build-ids

Panu Matilainen pmatilai at redhat.com
Wed Oct 25 11:30:50 UTC 2017

On 10/25/2017 02:06 PM, Mark Wielaard wrote:
> On Wed, 2017-10-25 at 12:49 +0200, Igor Gnatenko wrote:
>> On Wed, 2017-10-25 at 13:46 +0300, Panu Matilainen wrote:
>> 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?
>> I definitely like FS approach (2). But also having %hidden (1) would
>> find its use I think.
> I don't like the name %hidden, but I think that having an official
> attribute like "%artificial" might be the correct way to go. Then any
> file added by rpm/file trigger/etc that wasn't explicitly mentioned in
> the spec %files list could get that attribute. If you have that then
> you can have a rpm -qA to list all "artificial" files of the rpm (and
> rpm -qlA would show all).

I don't really like it either. Actually the very first idea I had was to 
simply add build-id's as a virtual attribute of their own, ie %buildid, 
and callers/users could then decide whether they want to see them or 
not. But it seemed a bit limiting (what if we grow more data like this 
in the future) so I came up with "hidden", but those are entirely 
different kinds of concepts.

> I don't like the hide .dot files heuristic. People might have
> explicitly added .dot files to their spec %files. Then I think they
> should be shown by default I think.

There's that, yes.

> But maybe explicitly treat /.build-id/ as artificial and then add an
> official %artificial for all "future" use would be a good compromise?

Yeah, %artificial would be more like "build-id concept broadened", as 
opposed to "hidden" which is something completely different. Inspired by 
that, %artifact would also seem fairly fitting.

	- Panu -

> Cheers,
> Mark

More information about the Rpm-maint mailing list