• [DRAFT] GLEP 84: Standard format for package.mask files

    From Arthur Zamarin@21:1/5 to All on Wed Oct 4 20:50:01 2023
    To: glep@gentoo.org

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

    Hi all

    As result of the discussion on gentoo-dev ML [1], I've been working on a
    GLEP for the standard format for package.mask files. I've tried to
    incorporate all the things spoken on that thread.

    Currently this GLEP draft can be found on the glep-0084 branch [2].
    Please also note that English isn't my first language (and also not
    second), so if you think any paragraph isn't quite readable or simple to understand, feel free to suggest improvements - nothing will be taken as offense.

    As noted in the draft, some of the TODOs is implementing this GLEP in
    pkgcheck, pkgdev, and soko. I know that implementing the GLEP isn't a requirement to accept the GLEP, but this should be simple enough and
    should show the GLEP is mature enough.

    [1] https://public-inbox.gentoo.org/gentoo-dev/b2a2515f-8c1e-4422-8cec-cd4fe3a4727c@gentoo.org/T/#u

    [2] https://gitweb.gentoo.org/data/glep.git/tree/glep-0084.rst?h=glep-0084


    ---
    GLEP: 84
    Title: Standard format for package.mask files
    Author: Arthur Zamarin <arthurzam@gentoo.org>
    Type: Standards Track
    Status: Draft
    Version: 1.0
    Created: 2023-09-30
    Content-Type: text/x-rst
    ---

    Abstract
    ========

    This GLEP specifies the format of ``package.mask`` files under profiles directory.

    Motivation
    ==========

    At the moment of writing this GLEP, ``package.mask`` files didn't have a full format specification. While PMS sections 4.4 [#PMS-4.4]_ and 5.2.8 [#PMS-5.2.8]_ specifies the raw format which the package manager must support for correct behavior, it does not specify how comments must be formatted, how entries must be grouped, how last-rite masks should be written, etc.

    Various tools have been developed to handle that mask message. A non exhaustive list includes ``lr-add-pmask`` [#lr-add-pmask]_, ``pkgdev mask`` [#pkgdev-mask]_,
    and ``soko`` [#soko-mask]_. Those tools have different purposes, filing a new mask message with all relevant information, and showin