Hi!

[ I was asked to mentor someone to complete this ITP, which prompted
  me to look into its current state. ]

It seems Jason's mail bounces, so this ITP should at least be turned
into an RFP most probably, and even perhaps be closed, see below.

On Tue, 2020-05-12 at 09:43:04 -0400, Jason Francis wrote:
> Package: wnpp
> Severity: wishlist
> Owner: Jason Francis <cycl...@tuta.io>
> 
> * Package name    : varlink
>   Version         : 19
>   Upstream Author : Kay Sievers <k...@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/>?

Thanks,
Guillem

Reply via email to