• Re: [gentoo-dev] [DRAFT] GLEP 84: Standard format for package.mask file

    From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to Arthur Zamarin on Thu Oct 5 05:20:01 2023
    On Wed, 2023-10-04 at 21:43 +0300, Arthur Zamarin wrote:
    Specification
    =============

    Header
    ------

    As an opt-in GLEP for files, files which want to use this GLEP format should define a special header line which tools should use to know the format of the file. This line should appear as the first non empty line after the copyright header. The line should be:

    # Uses GLEP 84 format

    This header should come instead of the current very long header [#CURR-MASK]_,
    as mentioning the GLEP is enough.

    Files can decide to add some extra file documentation, in which case, the entries start after the line:

    #--- END OF EXAMPLES ---

    Entries Grouping
    ----------------

    Each mask entry consists of 2 parts: `comments block`_ and `packages list`_, which aren't separated by a blank line between the 2 parts. Between entries, a
    mandatory blank line must appear.

    New entries added to the file must be inserted at the beginning, after the file
    header.

    Packages List
    -------------

    Must conform to PMS sections 4.4 [#PMS-4.4]_ and 5.2.8 [#PMS-5.2.8]_. This GLEP
    further limits the syntax to one item per line, without any leading or proceeding whitespaces, no comments inside the packages list, and no blank lines between items in the list.

    That kinda sucks. For very long masks, it is useful to be able to split
    the entry into subgroups. I suppose it's technically still doable via splitting the entry but that sounds a bit backwards.

    Comments Block
    --------------

    The comments block consists of 2 mandatory parts (`author line`_ and `explanation`_) and one optional part (`last-rite epilogue`_). A blank line to
    separate the parts is optional. Trailing whitespaces should be dropped.

    "Trailing whitespace".


    The comments block is prefixed with a "#" symbol. The comments should be

    "The lines in the comment block are ..."

    separated with single space from the "#", unless this is trailing whitespace, in which case it should be removed (meaning blank lines in comments block are just "#\n").

    The lines of the comments block should use column wrapping of 80 characters (including the "#" prefix). The author line is excluded from this maximum width.

    For simplifying the explanation, we wouldn't mention the "#" prefix.

    "To simplify the specification, the following sections will skip
    mentioning the "#" prefix." (still imperfect)

    Explanation
    '''''''''''

    In this block the reasons for the block should be listed, with extra

    "Block" in two meanings, confusing.

    explanation where needed. If referencing bugs, use the `bugs list`_ format (mask rendering tools should render mentioned bugs also in this part).

    In this part, a paragraph separator is a blank line, similar to ReStructuredText
    format. Using multiple blank lines between paragraphs is prohibited.

    Last-Rite Epilogue
    ''''''''''''''''''

    If the last paragraph starts with "Removal after", then this mask entry is considered as last-rite mask, and the last paragraph must conform to the last-rite epilogue format.

    This is inconsistent with the current usage, and confusing. "After"
    makes it unclear whether the list is inclusive (i.e. "remove on that day
    or later") or exclusive ("remove the next day or later"),
    and in the latter case it's quite backwards.



    --
    Best regards,
    Michał Górny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arthur Zamarin@21:1/5 to All on Thu Oct 5 21:00:02 2023
    To: glep@gentoo.org

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------YutLELGucfMQUTPuvHqe6PZJ
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 05/10/2023 06.12, Michał Górny wrote:

    "Block" in two meanings, confusing.

    Thanks for the improvements, I'll apply them soon on the branch, and
    send as DRAFT v2 when some more changes collect.


    explanation where needed. If referencing bugs, use the `bugs list`_ format >> (mask rendering tools should render mentioned bugs also in this part).

    In this part, a paragraph separator is a blank line, similar to ReStructuredText
    format. Using multiple blank lines between paragraphs is prohibited.

    Last-Rite Epilogue
    ''''''''''''''''''

    If the last paragraph starts with "Removal after", then this mask entry is >> considered as last-rite mask, and the last paragraph must conform to the
    last-rite epilogue format.

    This is inconsistent with the current usage, and confusing. "After"
    makes it unclear whether the list is inclusive (i.e. "remove on that day
    or later") or exclusive ("remove the next day or later"),
    and in the latter case it's quite backwards.


    Hmm, I don't really care what word we use here, but I do want us to
    agree on one word (cause I'll need to update `pkgdev mask`). Some of the considerations against "on" (currently used) is the fact: does it mean
    it isn't fine to remove after it?
    Does English has a nice word for ">= time"?

    --
    Arthur Zamarin
    arthurzam@gentoo.org
    Gentoo Linux developer (Python, pkgcore stack, Arch Teams, GURU)


    --------------YutLELGucfMQUTPuvHqe6PZJ--

    -----BEGIN PGP SIGNATURE-----

    iQEzBAEBCgAdFiEE/axFlFuH2ptjtO5EAqCvUD0SBQQFAmUfBUwACgkQAqCvUD0S BQQG3Qf9EO7hylb5NVbrT7vFPrzfFl+e0HtOKzlJtLCOtG9buEQBkjJGLm0uncMt A0Y7JpH8eBHoozp8DW3KlFkOmGrF+24+ktOIM+iNaepqbriMu2UL02h+NnNaAnF1 r93uMnsYmDRGmmx0ewQu/8gWKQeRzyvZHJGR8xDo1S1Ht8lwefShRoUaWiSVhWn7 s5NRprDnmIbXBY9IPu7BYkma5fRVT+Ru/nQ61yxqHGFDpgWkxICPS8n1YG3WutaO Dg6NXNGqWP+PQKL8vlYbWCioRDaFhnEtTJTZB5qOT4vc34KAiSBsAcm9/GWLmZVm rk0ZkwHSdq87XNbJ3keFf4zkbnNRUA==
    =vl9D
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arthur Zamarin@21:1/5 to All on Thu Oct 5 21:40:01 2023
    To: mgorny@gentoo.org (=?UTF-8?B?TWljaGHFgiBHw7Nybnk=?=)
    To: glep@gentoo.org

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------Gr1ClyLCQyKsw1vh8vO31Vlr
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 05/10/2023 06.12, Michał Górny wrote:
    On Wed, 2023-10-04 at 21:43 +0300, Arthur Zamarin wrote:
    Specification
    =============

    ...

    Must conform to PMS sections 4.4 [#PMS-4.4]_ and 5.2.8 [#PMS-5.2.8]_. This GLEP
    further limits the syntax to one item per line, without any leading or
    proceeding whitespaces, no comments inside the packages list, and no blank >> lines between items in the list.

    That kinda sucks. For very long masks, it is useful to be able to split
    the entry into subgroups. I suppose it's technically still doable via splitting the entry but that sounds a bit backwards.


    Good point. I'll update the draft to allow single blank lines between
    package lists, but I'll still add recommendation to consider splitting
    into multiple separate masks.

    --
    Arthur Zamarin
    arthurzam@gentoo.org
    Gentoo Linux developer (Python, pkgcore stack, Arch Teams, GURU)


    --------------Gr1ClyLCQyKsw1vh8vO31Vlr--

    -----BEGIN PGP SIGNATURE-----

    iQEzBAEBCgAdFiEE/axFlFuH2ptjtO5EAqCvUD0SBQQFAmUfDwkACgkQAqCvUD0S BQT/cwgAoxkaIkt2p0CG4r5mMoHCRzNfKl2HcAx9IJRr2eoh6ok9m0+aB0q801Zy +FISewpgiUudEqTQ31bEFS5JuWnQjo2zs43bCk9PQ2fY7zNGayQ686AJwp9mprD4 zIYw2zHYIifzPTJV8sCvOlyEMI09x2TFtzmHn6i1jocdGTtRx06+twX8gYf4jnfY eCCjooGjyg0ldPzrIi/klntXEmo7ToiJF5TpVeoZI+y/chxxaHvTv7Bpv1G1Krez 44zsL7XfhFw+KksjsIhEOOO8Af/4zrVDMTqPHHBzgd1Rx0S9ilOPVOuT9SWgs+ZK DDrTSRlcZ0ZPGPUpVpdpO5Ah6g+i4g==
    =RNh7
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ulrich Mueller@21:1/5 to All on Thu Oct 5 21:40:01 2023
    On Thu, 05 Oct 2023, Arthur Zamarin wrote:

    On 05/10/2023 06.12, Michał Górny wrote:
    This is inconsistent with the current usage, and confusing. "After"
    makes it unclear whether the list is inclusive (i.e. "remove on that day
    or later") or exclusive ("remove the next day or later"),
    and in the latter case it's quite backwards.

    Hmm, I don't really care what word we use here, but I do want us to
    agree on one word (cause I'll need to update `pkgdev mask`). Some of the considerations against "on" (currently used) is the fact: does it mean
    it isn't fine to remove after it?
    Does English has a nice word for ">= time"?

    Make it "on", because the date specified is the intended removal date
    when the entry is added.

    That is, users cannot rely on the package still being present at any
    later date.

    Ulrich

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQFDBAEBCAAtFiEEtDnZ1O9xIP68rzDbUYgzUIhBXi4FAmUfEFEPHHVsbUBnZW50 b28ub3JnAAoJEFGIM1CIQV4u+WYH/ih2HLasBojESryE8xNbCxcq6RjMnrvHcF32 70Y0tNX+ydEgKTkNy6EZ1qWYbtaYvX63y6baacfCZWg/hZQ+FnZ9Lx6gh72ed2Fo wLIpwzAx4uEaCgfAWV5G2Q5dpDEDszvdNQJmdGAOwRRe90jtTQVGwRUrJnnfJwe6 ANmkIpGCZo8F1hS0zcOKLXp+fMSar2iJvzuTwEykoPbc0KxEzhJhoJ8IwW8oUAHM jN/sGOQnePNaiAYb6mjoyhLNwkgs/Q2L/vYo7jquAPxcREeDUGSFbuyZnYlX5zUp SXiKQ5jqx7wdji3N6LiO13iU8JpxLb3D49QD2yHsq/OfMqgy52Y=rcKH
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ulrich Mueller@21:1/5 to All on Thu Oct 5 21:50:01 2023
    On Thu, 05 Oct 2023, Michał Górny wrote:

    Entries Grouping
    ----------------

    Each mask entry consists of 2 parts: `comments block`_ and `packages list`_, >> which aren't separated by a blank line between the 2 parts. Between entries, a
    mandatory blank line must appear.

    New entries added to the file must be inserted at the beginning, after the file
    header.

    Packages List
    -------------

    Must conform to PMS sections 4.4 [#PMS-4.4]_ and 5.2.8 [#PMS-5.2.8]_. This GLEP
    further limits the syntax to one item per line, without any leading or
    proceeding whitespaces, no comments inside the packages list, and no blank >> lines between items in the list.

    That kinda sucks. For very long masks, it is useful to be able to split
    the entry into subgroups. I suppose it's technically still doable via splitting the entry but that sounds a bit backwards.

    I think it could say that blank lines between items are allowed, without
    any other change to the spec. The fact that each entry must start with a comments block will still guarantee that assigning of packages to an
    entry will be well-defined.

    Ulrich

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQFDBAEBCAAtFiEEtDnZ1O9xIP68rzDbUYgzUIhBXi4FAmUfEh0PHHVsbUBnZW50 b28ub3JnAAoJEFGIM1CIQV4ukXsH/1kBgvLphKi+kaYlsb3fRwpq1A3gSq3H19BL CE+IyPR5dZhjZgqeSMhpllNsRMph1o0nrNdK+TGF6kU3/2F1cnMVV5xAx7kGjrzx rtUY8KT4eINbcy3I5TREIHVjT+LJ2EoakZfJyKZtnxn+ok4my5LdWlOZ6NAiJHUY 044YuTMUSJ5u2xa4RjYUEC9mSbCtnPB13lUYddWyxR4YeYDgev3bn6IMEcHZCdxK GGNFxi2bhN+/m4NGfNW4OCMoylyenOHLTK+kbtQgXkDkJ8MCDnaZCfd/H3Gu6lI8 kI7vE2Yxn3xe4c6ziKPespr+6Q06fLFiaPTrXkPhHfRJu+RRLc0=UJZ6
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)