[Rpm-maint] Drowning in build-ids

Neal Gompa ngompa13 at gmail.com
Wed Oct 25 15:28:49 UTC 2017


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.

-- 
真実はいつも一つ!/ Always, there's only one truth!


More information about the Rpm-maint mailing list