On Wed, 14 Aug 2024 08:28:08 +0800 Sean Whitton <spwhit...@spwhitton.name> wrote:
Hello,

On Tue 13 Aug 2024 at 10:25pm +01, Ian Jackson wrote:

> I think we need to be a little careful about the distinctions between
>
>   1. dgit quilt mode
>   2. git branch and tree format
>   3. workflow
>
> These go from least to most specific.  The user probably needs to know
> 2, not 1 or 3.  For example, what if the package is maintained in
> git-debrebase ?
>
> We lack a good name for 2 but maybe we could fudge it and say
> "workflow" when we mean "workflow indistinguishability class under
> external examination".

Yeah, good, we do indeed want to provide (2), and (3) is a matter for
README.source.  So, perhaps this thing ought to be printing "unknown" if
there's the possibility of gdr, for example.

--
Sean Whitton

Hi

Just adding my two (and half) cents on this as I was requesting this feature.

I want all of this to be machine readable if it is something a user or packager need to know about. For me, it is only a question of how to expose this.

Ideally, we would have a single well-defined workflow. However, we, as a project, have continuously failed to agree on such a workflow and I doubt we will soon. Therefore, in my "fallback ideal" world, I want to have tool assistance here.

It should be something like:

    $ git clone .../my-project
    $ cd my-project
    $ explain-packaging-workflow
    Tools and policies specific to this package:

      * `gbp dch` to generate the changelog.
        Documentation: `man:gbp-dch(1)

      * Upload via `dgit push-source` or `dgit push-built`
        Documentation: `man:dgit-maint-debrebease(7)

      * The git workflow uses `dgit`'s `debrebase` and `quilt-mode=...`.
        Documentation: `man:dgit-maint-debrebease(7)

      * The repo uses DEP-14 branch layout
        Documentation: `https://dep.debian.net/deps/dep14`

      * Automatic reformatting of packaging files via `debputy reformat`
        Documentation: `man:debputy(1)`

      * The packaging aims at zero-change rebuild compatibility with
        Debian `${RELEASE}-backports` and Ubuntu `$RELEASE_NAME`

      * The package is a part of the Python packaging team.
        Documentation: `https://....debian.org/python-policy/`

      ...

With the goal of making the "common" cases for `debian/README.source` obsolete. Then add UX features like highlighting based which rules the packager has marked as "known" vs. rules they do not know, etc.

Obviously, I do not expect `dgit` to provide said tool nor all the information here. But the parts under `dgit`'s domain should be machine readable to enable us to write such a tool.


Ideally, I want this to be reverse engineer-able or machine discoverable rather than maintained by hand. That is because hand-maintained policies tend to get out of date as the team changes policies, while reverse engineering from the data looks at the current pattern. That said, I fully appreciate that some things are hard or even impossible to accurately reverse-engineer the common use-cases.

I hope that explains the context and scope for what I want machine readable. You are the domain experts for `dgit`, so you are in the best position to say what can and cannot be reversed engineered vs. what must be a "manually maintained" policy.

Best regards,
Niels

Reply via email to