Bug#833407: Please put adt-virt-* binaries back onto PATH

Martin Pitt mpitt at debian.org
Fri Aug 12 06:42:02 UTC 2016

Control: tag -1 pending

Hello Johannes and Ian,

Ian Jackson [2016-08-04  0:47 +0100]:
> I see that after installing a recent autopkgtest, I no longer have
> adt-virt-schroot, adt-virt-null, etc.  I would like to suggest that
> this change be reverted, for the following reasons:
> [...]

These are valid reasons for keeping the virt runners as separate
programs and keep the communication protocol stable. However, these do
not convince me as arguments that they have to be in $PATH. IMHO these
are not programs which *users* would run on the command line -- I
think the possible confusion of "what the heck does this do" and
cluttering tab completion etc. is worse than the slight inconvenience
of calling these by full path for the three people in the world who
need to do that once a year.

As for third-party users of the backends: Using the Python API
(adt_testbed.py) is a lot easier and more robust than talking to the
backend servers directly, due to all the encoding/decoding, timeout
handling, environment passing etc. -- if the goal is to avoid code
duplication, then using the virt backends directly only goes half way.
I don't actually want to promote and recommend using virt/* directly
for these reasons.

> Otherwise the out-of-tree server has to go in
> /usr/share/autopkgtest/virt, which is not really its bailiwick.
> (And what if the virt server is a compiled machine executable and
> unsuitable for /usr/share?)

Both of these are only theoretical. Also, note that
/usr/share/autopkgtest/virt/ is only the default path, you can always
specify the full path to a virt server with autopkgtest(1).

> I suggest that:
>   - the virt servers should be moved back to /usr/bin/adt-virt-*

I committed
to add backwards compat symlinks, to unbreak sbuild. Indeed I was not
aware that other things used those, sorry for the hassle!

But over time I would like to get rid of those together with the other
adt* names, and have third-party users move to the private path. But
I'll follow up to the sbuild bug about that.

>   - autopkgtest(1) should treat hyphen-less virt server names
>     the same way as chroot does: prefix them with `adt-virt-'.

adt-virt* is an obsolete prefix -- it is still being tried if you
invoke autopkgtest as "adt-run", but this is legacy/backwards compat
shim only. In a private path there is little reason to prefix them
with anything.


Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)

More information about the autopkgtest-devel mailing list