I rebased Martin's tree[1] on top of libvirt-ci head, and reran lcitool. There are several places where I changed the generated files in nbdkit.git and where those changes are overwritten (I didn't realise those files were generated). I think I can fix most of them. But a couple of larger problems I can see ... (a) lcitool wants to make this change: diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile index 7e0a8d25..d4409f87 100644 --- a/ci/containers/fedora-rawhide.Dockerfile +++ b/ci/containers/fedora-rawhide.Dockerfile @@ -6,10 +6,7 @@ FROM registry.fedoraproject.org/fedora:rawhide -RUN dnf update -y && \ - dnf install 'dnf-command(config-manager)' -y && \ - dnf config-manager -y --add-repo=http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo && \ - dnf update -y --nogpgcheck fedora-gpg-keys && \ +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ I added "dnf install 'dnf-command(config-manager)'" in: https://gitlab.com/nbdkit/nbdkit/-/commit/e359fab8c682436faff914591b5ff42e29e77b9c because the dnf config-manager command doesn't work. The dnf config-manager command in turn was added earlier in Martin's original commit. I don't know if Martin added that manually or if an earlier version of lcitool generated it, but it is necessary in order to use the nodebug kernel, and using the nodebug kernel is necessary to avoid performance problems, timeouts and out of memory problems when using libguestfs on Rawhide. (b) lcitool wants to remove my perl conditionalization changes: @@ -312,11 +309,10 @@ mingw32-fedora-35: - mingw32-fedora-35-container allow_failure: false variables: - NAME: fedora-35 CROSS: mingw32 - PERL: skip - RUST: skip GOLANG: skip + NAME: fedora-35 + RUST: skip which I added here: https://gitlab.com/nbdkit/nbdkit/-/commit/414ee371ee2b1a12c6d45466d041322b247723eb I'm not clear where I should have added those. The rust conditionalization stuff doesn't seem to be part of lcitool so I guess it's generated from another file somewhere. Be nice if original files were called "file.in" or something like that so we can tell what files are generated and what are originals. Rich. [1] https://gitlab.com/nertpinx/libvirt-ci/-/commits/_nbdkit2 -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v
On Mon, Mar 14, 2022 at 10:41:05AM +0000, Richard W.M. Jones wrote:> I rebased Martin's tree[1] on top of libvirt-ci head, and reran > lcitool. There are several places where I changed the generated files > in nbdkit.git and where those changes are overwritten (I didn't > realise those files were generated). I think I can fix most of them. > > But a couple of larger problems I can see ... > > (a) lcitool wants to make this change: > > diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile > index 7e0a8d25..d4409f87 100644 > --- a/ci/containers/fedora-rawhide.Dockerfile > +++ b/ci/containers/fedora-rawhide.Dockerfile > @@ -6,10 +6,7 @@ > > FROM registry.fedoraproject.org/fedora:rawhide > > -RUN dnf update -y && \ > - dnf install 'dnf-command(config-manager)' -y && \ > - dnf config-manager -y --add-repo=http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo && \ > - dnf update -y --nogpgcheck fedora-gpg-keys && \ > +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ > > > I added "dnf install 'dnf-command(config-manager)'" in: > https://gitlab.com/nbdkit/nbdkit/-/commit/e359fab8c682436faff914591b5ff42e29e77b9c > because the dnf config-manager command doesn't work. > > The dnf config-manager command in turn was added earlier in Martin's > original commit. I don't know if Martin added that manually or if an > earlier version of lcitool generated it, but it is necessary in order > to use the nodebug kernel, and using the nodebug kernel is necessary > to avoid performance problems, timeouts and out of memory problems > when using libguestfs on Rawhide.Ok, that need for an extra special repo for rawhide no-debug kerenl isn't something lcitool knows how to cope with right now. So must be been manually editted.> (b) lcitool wants to remove my perl conditionalization changes: > > @@ -312,11 +309,10 @@ mingw32-fedora-35: > - mingw32-fedora-35-container > allow_failure: false > variables: > - NAME: fedora-35 > CROSS: mingw32 > - PERL: skip > - RUST: skip > GOLANG: skip > + NAME: fedora-35 > + RUST: skip > > which I added here: > > https://gitlab.com/nbdkit/nbdkit/-/commit/414ee371ee2b1a12c6d45466d041322b247723eb > > I'm not clear where I should have added those. The rust > conditionalization stuff doesn't seem to be part of lcitool so I guess > it's generated from another file somewhere. > > Be nice if original files were called "file.in" or something like that > so we can tell what files are generated and what are originals.The only manually editted file is ci/manifest.yml. Everything else in the ci/ directory (the ci/gitlab.yml, ci/containers/* and ci/cirrus/*) is auto-generated from what's in the manifest.yml and shouldn't be touched. So you'll need to add the PERL=skip variable to manifest.yml Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Mon, Mar 14, 2022 at 10:41:05AM +0000, Richard W.M. Jones wrote:> (b) lcitool wants to remove my perl conditionalization changes: > > @@ -312,11 +309,10 @@ mingw32-fedora-35: > - mingw32-fedora-35-container > allow_failure: false > variables: > - NAME: fedora-35 > CROSS: mingw32 > - PERL: skip > - RUST: skip > GOLANG: skip > + NAME: fedora-35 > + RUST: skip > > which I added here: > > https://gitlab.com/nbdkit/nbdkit/-/commit/414ee371ee2b1a12c6d45466d041322b247723eb > > I'm not clear where I should have added those. The rust > conditionalization stuff doesn't seem to be part of lcitool so I guess > it's generated from another file somewhere.Fixed this by modifying ci/manifest.yml. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org