• Bug#960434: Bug#1026463: kanshi: Please ship kanshictl command and man

    From Guillem Jover@21:1/5 to Guillem Jover on Sun Feb 25 00:40:02 2024
    Hi!

    On Sat, 2024-01-13 at 15:36:09 +0100, Guillem Jover wrote:
    On Tue, 2020-05-12 at 09:43:04 -0400, Jason Francis wrote:
    Package: wnpp
    Severity: wishlist
    Owner: Jason Francis <cycl0ps@tuta.io>

    * Package name : varlink
    Version : 19
    Upstream Author : Kay Sievers <kay@vrfy.org>
    * URL : https://www.varlink.org/
    * License : Apache-2.0
    Programming Lang: C
    Description : point-to-point IPC protocol and interface description format

    Varlink is an interface description format and protocol that aims to make services accessible to both humans and machines in the simplest feasible way.

    A varlink interface combines the classic UNIX command line options, STDIN/OUT/ERROR text formats, man pages, service metadata and provides the equivalent over a single file descriptor, a.k.a. “FD3”.

    Varlink is plain-text, type-safe, discoverable, self-documenting, remotable,
    testable, easy to debug. Varlink is accessible from any programming environment.

    ---

    Submission Notes:
    Varlink is a small IPC protocol intended to be a very simple peer-to-peer alternative to D-Bus. A minimal implementation has already been adopted by the
    systemd project and integrated into their codebase; however I am submitting this ITP in order to package the official C reference implementation that includes a shared library and command line utility. Another package named "kanshi" that I contribute to upstream is looking at using this library, and it
    would be nice to have it ready in Debian for when a new version is published.
    I'm not sure what package team this would fall under, but I've been testing some Debian packaging already which is up on my github: https://github.com/cyclopsian/libvarlink/tree/debian-19/debian

    It looks like the upstream varlink project is dead or close to that.

    The last commit on the libvarlink project is from 2 years ago, and
    I think there's been no apparent interaction in MRs and issues for a
    long time. The Linux kernel module for longer. And that looks similar
    for the other bindings, except for the Rust ones which have seen a
    few commits 6 months ago.

    My memory was spotty about its popularity, so did some checking. It
    looks like podman gained varlink support but they then dropped it when varlink upstream told them they'd stop maintaining the project:

    https://podman.io/blogs/2020/12/11/remove-varlink-libpod-conf-notice
    https://podman.io/blogs/2020/08/01/deprecate-and-remove-varlink-notice

    It looks like the main user, as noted above, is systemd, which imported
    or implemented minimal varlink code into their tree and do not use the external reference implementation at all.

    Then also checked dependencies in Debian:

    - python3-varlink: 0 reverse depends
    - golang-github-varlink-go-dev: 0 build-depends

    A search for varlink.h across all Debian sources:

    https://codesearch.debian.net/search?q=varlink.h&literal=1

    shows only a handful of potential users. Searching instead of varlink
    gives way more hits, but I think the majority are unrelated, and instead
    are related to Java SWIG.


    The state of this upstream does not look very healthy, and from here
    it does not look like adding this to Debian might be entirely wise.
    For kanshi perhaps upstream should be looking into using something
    else, maybe Cap'n Proto <https://capnproto.org/>?

    I ended up submitting a request upstream [I] to switch away from varlink,
    which from my analysis above looks like a pretty dead project
    upstream, but kanshi upstream mentioned not being interested and did
    not give further insights about the varlink status or the effects of
    depending on it.

    [I] <https://todo.sr.ht/~emersion/kanshi/104>

    I don't think it would be wise to include varlink (as it is right now)
    into Debian, and thus enabling support for it in kanshi does not seem
    wise either to me, so I'll retract my request for this bug, thus
    closing it now.

    Thanks,
    Guillem

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