[Libguestfs] Cargo edition problem with Debian 11

Martin Kletzander mkletzan at redhat.com
Mon Jan 16 12:04:03 UTC 2023


On Fri, Jan 13, 2023 at 08:23:05PM +0000, Richard W.M. Jones wrote:
>On Fri, Jan 13, 2023 at 01:06:09PM -0700, alan somers wrote:
>> Which files get overwritten by libvirt-ci ?
>
>I think it's everything except ci/manifest.yml, possibly.
>Eric and Martin (CC'd) know more about this.
>
>The libvirt-ci page is:
>https://libvirt.org/ci.html
>
>And the command I use to regenerate everything is:
>../libvirt-ci/bin/lcitool manifest ci/manifest.yml
>

I came back, went through the thread and upstream MRs and here are some
things I came up with:

The predicates crate since version 1.0.4 do not support rust older than
1.60.0, so it should be decided whether nbdkit wants to support
Debian 11, whether nbdkit wants to support the rust plugin on systems
with older rust versions and so on.  Based on that decision there are
ways to fix this issue.

Not supporting Debian 11 is easy to achieve, of course, but probably not
wanted.

Not supporting older rust would just need disabling rust plugin builds
with old rust in configure.ac and then on those specific systems in CI.

If you want to make this work in all currently tested scenarios, then I
guess adding:

predicates-core = "=1.0.3"
predicates-tree = "=1.0.3"

to the [dev-dependencies] in Cargo.toml.  That would however be
applicable to all systems and necessitate future update(s).

If you want to do something in the CI then the easiest place is
ci/build.sh.  For Cirrus CI I think it could be erased since most of it
is also checked elsewhere, although not all things have been migrated to
the other CI solution, like clippy, if I am correct.

But another thing is, why is the minimum rust version in .cirrus.yml set
to rust 1.46.0?  Increasing that would clearly fix the cirrus version
issue.

During the adoption of libvirt-ci I knew a bit more about it, but it
also keeps changing faster than me keeping eye on it.  So I'm not sure
about most recent changes.  Hopefully what I documented in ci/ is either
still true or was updated together with an lcitool update.  But in
hindsight I think moving the build instructions into ci/build.sh was the
right choice.  What lcitool does really well is abstract lot of the
managing of distros, versions and package naming to make it consistent.

>Rich.
>
>-- 
>Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
>Read my programming and virtualization blog: http://rwmj.wordpress.com
>virt-top is 'top' for virtual machines.  Tiny program with many
>powerful monitoring features, net stats, disk stats, logging, etc.
>http://people.redhat.com/~rjones/virt-top
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20230116/cb0100ea/attachment.sig>


More information about the Libguestfs mailing list