[Rpm-maint] Drowning in build-ids

Panu Matilainen pmatilai at redhat.com
Wed Nov 8 09:14:29 UTC 2017

On 10/25/2017 06:28 PM, Neal Gompa wrote:
> On Wed, Oct 25, 2017 at 7:30 AM, Panu Matilainen <pmatilai at redhat.com> wrote:
>> 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.
> The %artifact marker would make sense for things like Python pycache
> files too. And if package generators get implemented, then broadly
> speaking, this would allow making these things done more or less
> automatically.

Okay, support for %artifact added in commit 
6f1e75ddd2c67eb8b43608c03bf0cc895612e6fe, thanks for your input guys!

I'll post a patch adding artifact markers to the relevant debuginfo 
artifacts for review shortly.

	- Panu -

More information about the Rpm-maint mailing list