public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Sam James <sam@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: Standard parsable format for profiles/package.mask file
Date: Sat, 23 Sep 2023 14:59:15 +0100	[thread overview]
Message-ID: <875y412dlt.fsf@gentoo.org> (raw)
In-Reply-To: <678aa655-8de8-4653-b5a0-bd0bfc6a5fc2@gentoo.org>


Arthur Zamarin <arthurzam@gentoo.org> writes:

> [[PGP Signed Part:Undecided]]
> On 22/09/2023 17.50, Alex Boag-Munroe wrote:
>> On Fri, 22 Sept 2023 at 15:37, Sam James <sam@gentoo.org> wrote:
>>>
>>>
>>> Alex Boag-Munroe <ninpo@qap.la> writes:
>>>
>>>> Any reason for the parseable parts to not be in an established human
>>>> readable/editable format? e.g. the config ini style format, or TOML?
>>>
>>> The only issue really is that depending on how it's done (do we do
>>> it for the whole file, or just comments), it may need a new (profile)
>>> EAPI which will take a while to implement and deploy.
>>>
>>> If it's just for comments, then we can do it immediately though.
>>>
>>>>
>>>> To crib from the OP example with something configparser understands:
>>>> [PREAMBLE]
>>>> Timestamp: 2023-09-21 15:07:42+00:00
>>>> Author: Arthur Zamarin <arthurzam@gentoo.org>
>>>> Justification: Very broken, no idea why packaged, need to drop ASAP.
>>>>     The project is done with supporting this package.
>>>> Bugs: 667687, 667689
>>>> Removal Date: 2023-10-21
>>>> Packages: dev-lang/python
>>>>
>>>> The format is well documented already and simple to check for
>>>> validity, so any GLEP would just need to cover correct keys/values.
>>>>
>>>
>>> But yeah, I agree it's worth thinking about a proper format rather than
>>> fragile text mangling going into the future.
>>>
>> Perhaps eventually it could/should be used for the whole file but as
>> an interim/beginning there's no reason you couldn't start with
>> comments:
>> 
>> # [PREAMBLE]
>> # Timestamp: 2023-09-21 15:07:42+00:00
>> # Author: Arthur Zamarin <arthurzam@gentoo.org>
>> # Justification: Very broken, no idea why packaged, need to drop ASAP.
>> #     The project is done with supporting this package.
>> # Bugs: 667687, 667689
>> # Packages: dev-lang/python
>> dev-lang/python
>> 
>> This simply adds a pre parse step of stripping the comments then
>> feeding directly into configparser or probably more suitable, TOML
>> since TOML has better syntax for directly delivering things like a
>> "Packages:" key as a list.
>> 
>> Redoing a bunch of package.* parsing probably wasn't in scope of the
>> OP but I've always wondered and this felt an opportune moment to
>> ask/suggest :)
>
> Thanks for the idea. Yes, it was out of scope such suggestions for me
> originally, but thinking more about it, I take it more positively.
> Please let me (and others) to consider it for some days, cause this is
> very interesting proposal. Things to consider is how much effort it is
> to file in future, which format to use, etc.
>

It's fine with me if we just go with the original for now, but I think
the awkwardness (which is not your fault, but the nature of wrangling
free-form text) of the specification shows that we should at some point
move to something structured.

But I don't consider it a blocker for doing something better than
the status quo.

Maybe we'll be better off just going straight for Exherbo-style
p.mask in future: https://ciaranm.wordpress.com/2011/03/27/classifying-repository-masks/

Ultimately, text munging sucks and there's only so much we can do to
polish it. But your original proposal is a good improvement on how things are now.

>> --
>> Ninpo
>> 



  reply	other threads:[~2023-09-23 14:01 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-21 19:40 [gentoo-dev] Standard parsable format for profiles/package.mask file Arthur Zamarin
2023-09-21 21:09 ` [gentoo-dev] " Florian Schmaus
2023-09-21 21:36   ` Ulrich Mueller
2023-09-21 21:48     ` Sam James
2023-09-22  6:39       ` Florian Schmaus
2023-09-22  6:53         ` Florian Schmaus
2023-09-22  9:46         ` Ulrich Mueller
2023-09-22 11:51           ` Ulrich Mueller
2023-09-22 14:01             ` Sam James
2023-09-22 14:26               ` Alex Boag-Munroe
2023-09-22 14:36                 ` Sam James
2023-09-22 14:50                   ` Alex Boag-Munroe
2023-09-22 17:28                     ` Arthur Zamarin
2023-09-23 13:59                       ` Sam James [this message]
2023-09-23  7:02                     ` Ulrich Mueller
2023-09-23 13:54                       ` Sam James
2023-09-23 14:01                       ` Alex Boag-Munroe
2023-09-23 17:48                         ` Ulrich Mueller
2023-09-24 18:29   ` Jonas Stein
2023-09-21 21:22 ` [gentoo-dev] " Ulrich Mueller
2023-09-21 22:10   ` Tim Harder
2023-09-21 22:19     ` Sam James
2023-09-22  3:54   ` Oskari Pirhonen
2023-09-22 12:12   ` Arthur Zamarin
2023-09-22  3:59 ` Oskari Pirhonen
2023-09-22  9:21   ` Ulrich Mueller
2023-09-22  9:53     ` Arthur Zamarin
2023-09-22 11:16 ` [gentoo-dev] " Florian Schmaus
2023-09-22 11:23   ` Jaco Kroon
2023-09-24 18:40 ` Jonas Stein
2023-09-25 12:03   ` Ulrich Mueller
2023-09-26  1:29     ` Oskari Pirhonen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875y412dlt.fsf@gentoo.org \
    --to=sam@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox