On Fri, Sep 30, 2022 at 12:56:40PM +0200, Laszlo Ersek wrote:> On 09/30/22 11:46, Daniel P. Berrang? wrote: > > On Fri, Sep 30, 2022 at 10:33:02AM +0100, Richard W.M. Jones wrote: > >> > >> Hmm, here's an interesting stackoverflow posting ... > >> > >> https://stackoverflow.com/questions/3301023/gtk-spinner-not-appearing > >> > >> The first point is "Make sure librsvg is installed". librsvg is _not_ > >> installed in the ISO. Laszlo, can you try building an ISO with this > >> package explicitly added to the deps? > > > > Yes, that could be it. The widget is rendered using CSS and the > > Adwaita CSS rule references "process-working-symbolic" as the > > icon, and that icon is only shipped in SVG format AFAICT. > > (1) sorry, I've been in write-only mode for a long while now. That's why > we've apparently arrived at nearly the same conclusions thus far, > duplicating (triplicating?) our efforts. That said, I'm glad we did > arrive at the same ideas. > > (2) A number of surprises: > > (2a) p2v already spells out icewm[-lite] as a depencency, just not when > the VM boot disk image / ISO image is based on Fedora (more precisely: > for SUSE). When building on Fedora, the WM included is Metacity instead > (and the launch script starts metacity vs. icewm accordingly.)It seems like SUSE developer C?dric Bosdonnat made that addition. He actually removed metacity and replaced it with icewm-lite (commit cebcf47f6) and then made the change to the launch script to select the right WM (commit 75c24c710). However he didn't make any corresponding change to Fedora so we now have both. icewm is available in RHEL 9. I don't know if there's any reason to prefer metacity over icewm. Usually when looking at virt-p2v dependencies, we tended to prefer, in order: - availability in RHEL - small size - functionality> (2b) There is a makefile dependency bug in virt-p2v; I'm going to post > the patch for that. > > > diff --git a/Makefile.am b/Makefile.am > > index 02ff1bb2eebd..2881fc947b24 100644 > > --- a/Makefile.am > > +++ b/Makefile.am > > @@ -328,7 +328,7 @@ $(BLANK_DISK): > > $(top_builddir)/run guestfish -N $@=part exit > > > > virt-p2v.img: \ > > - dependencies.m4 \ > > + $(dependencies_files) \ > > issue \ > > launch-virt-p2v \ > > p2v.service \ > > @@ -373,7 +373,7 @@ stamp-test-virt-p2v-pxe-data-files: \ > > touch $@ > > > > test-virt-p2v-pxe.img: \ > > - dependencies.m4 \ > > + $(dependencies_files) \ > > issue \ > > launch-virt-p2v \ > > p2v.service \Yes, seems like a mistake.> Namely, even after I modified "dependencies.m4", the disk image did not > get correctly regenerated for "run-virt-p2v-in-a-vm". While the image > *was* regenerated, the intermediate (OS-filtered) deps files were not, > and so the change I had made to "dependencies.m4" did not affect the > actual package installation command line.Is there another missing dep or did you track down the reason for that?> (2c) I learned about metacity already being present when I launched an > xterm window from the first dialog of p2v, and attempted to run icewm. > IceWM complained that another window manager was already present; that > was when I found metacity in the process list (pstree). > > (2d) I started icewm with "icewm --replace" (as recommended by the error > message from (2c)), and lo and behold, two changes had come into effect: > > - the spinner started workingThis is strange ..? Did librsvg get installed at some point?> - I actually got an actual Task Bar, where I could see all the windows: > virt-p2v, the GTK debug windows (plural), the XTerm window, and (in > the Tray area) even nm-applet! This is not a small improvement: QEMU > doesn't let me easily inject Alt-Tab, so switching between windows in > the VM environment has been a huge chore (made worse by the many GTK > debug windows).Yup.> (2e) That is, elaborating on the second bullet from (2d), not only is > metacity (or else, our setup/usage of metacity) bugged enough to break > the spinner, it even (i) does not offer a functional task bar, (b) does > not show nm-applet -- there is no tray area! > > I'm of the opinion that we should just get rid of metacity altogether, > and use icewm. I don't know why metacity is not working, but I consider > metacity a seriously substandard WM anyway, so let's just get rid of it?Sure. I don't think we have any particular affinity to metacity. It does however depend on icewm being and staying in RHEL long term. BTW we used to use matchbox (see commit 47a3518b28). Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com nbdkit - Flexible, fast NBD server with plugins https://gitlab.com/nbdkit/nbdkit
On Fri, Sep 30, 2022 at 01:11:50PM +0100, Richard W.M. Jones wrote:> On Fri, Sep 30, 2022 at 12:56:40PM +0200, Laszlo Ersek wrote: > > On 09/30/22 11:46, Daniel P. Berrang? wrote: > > > On Fri, Sep 30, 2022 at 10:33:02AM +0100, Richard W.M. Jones wrote: > > >> > > >> Hmm, here's an interesting stackoverflow posting ... > > >> > > >> https://stackoverflow.com/questions/3301023/gtk-spinner-not-appearing > > >> > > >> The first point is "Make sure librsvg is installed". librsvg is _not_ > > >> installed in the ISO. Laszlo, can you try building an ISO with this > > >> package explicitly added to the deps? > > > > > > Yes, that could be it. The widget is rendered using CSS and the > > > Adwaita CSS rule references "process-working-symbolic" as the > > > icon, and that icon is only shipped in SVG format AFAICT. > > > > (1) sorry, I've been in write-only mode for a long while now. That's why > > we've apparently arrived at nearly the same conclusions thus far, > > duplicating (triplicating?) our efforts. That said, I'm glad we did > > arrive at the same ideas. > > > > (2) A number of surprises: > > > > (2a) p2v already spells out icewm[-lite] as a depencency, just not when > > the VM boot disk image / ISO image is based on Fedora (more precisely: > > for SUSE). When building on Fedora, the WM included is Metacity instead > > (and the launch script starts metacity vs. icewm accordingly.) > > It seems like SUSE developer C?dric Bosdonnat made that addition. He > actually removed metacity and replaced it with icewm-lite > (commit cebcf47f6) and then made the change to the launch script to > select the right WM (commit 75c24c710). However he didn't make any > corresponding change to Fedora so we now have both. > > icewm is available in RHEL 9. I don't know if there's any reason to > prefer metacity over icewm. Usually when looking at virt-p2v > dependencies, we tended to prefer, in order:Only in EPEL-9, not in base RHEL-9 AFAIK.: # dnf list | grep icewm icewm.x86_64 2.9.9-1.el9 epel ... With 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 Fri, Sep 30, 2022 at 01:11:50PM +0100, Richard W.M. Jones wrote:> icewm is available in RHEL 9.Actually as Dan says, this isn't true. I checked and it comes from EPEL: # dnf install icewm Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Last metadata expiration check: 2:11:05 ago on Fri 30 Sep 2022 11:06:17 BST. Dependencies resolved. =============================================================================== Package Arch Version Repository Size ===============================================================================Installing: icewm x86_64 2.9.9-1.el9 epel 1.3M [...] As Dan also said, the fix seems possibly because librsvg was installed by some dependency. Can you try the simpler solution of just adding that dependency?> I don't know if there's any reason to > prefer metacity over icewm. Usually when looking at virt-p2v > dependencies, we tended to prefer, in order: > > - availability in RHELThis is really required, and moving icewm into RHEL isn't something that is easy to negotiate. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com nbdkit - Flexible, fast NBD server with plugins https://gitlab.com/nbdkit/nbdkit
On 09/30/22 14:11, Richard W.M. Jones wrote:> On Fri, Sep 30, 2022 at 12:56:40PM +0200, Laszlo Ersek wrote: >> On 09/30/22 11:46, Daniel P. Berrang? wrote: >>> On Fri, Sep 30, 2022 at 10:33:02AM +0100, Richard W.M. Jones wrote: >>>> >>>> Hmm, here's an interesting stackoverflow posting ... >>>> >>>> https://stackoverflow.com/questions/3301023/gtk-spinner-not-appearing >>>> >>>> The first point is "Make sure librsvg is installed". librsvg is _not_ >>>> installed in the ISO. Laszlo, can you try building an ISO with this >>>> package explicitly added to the deps? >>> >>> Yes, that could be it. The widget is rendered using CSS and the >>> Adwaita CSS rule references "process-working-symbolic" as the >>> icon, and that icon is only shipped in SVG format AFAICT. >> >> (1) sorry, I've been in write-only mode for a long while now. That's why >> we've apparently arrived at nearly the same conclusions thus far, >> duplicating (triplicating?) our efforts. That said, I'm glad we did >> arrive at the same ideas. >> >> (2) A number of surprises: >> >> (2a) p2v already spells out icewm[-lite] as a depencency, just not when >> the VM boot disk image / ISO image is based on Fedora (more precisely: >> for SUSE). When building on Fedora, the WM included is Metacity instead >> (and the launch script starts metacity vs. icewm accordingly.) > > It seems like SUSE developer C?dric Bosdonnat made that addition. He > actually removed metacity and replaced it with icewm-lite > (commit cebcf47f6) and then made the change to the launch script to > select the right WM (commit 75c24c710). However he didn't make any > corresponding change to Fedora so we now have both.[out of order]> BTW we used to use matchbox (see commit 47a3518b28).I ended up tracking down the same set of commits, with git-blame. In particular, 47a3518b28e0 says that matchbox was replaced with metacity because the latter supported multiple top-level windows; IceWM trivially supports those as well, and is also light-weight. (I guess I should just get the patches on the list, rather than rewrite the commit messages in emails, piecemeal :))> > icewm is available in RHEL 9. I don't know if there's any reason to > prefer metacity over icewm. Usually when looking at virt-p2v > dependencies, we tended to prefer, in order: > > - availability in RHELIceWM is in EPEL9.> > - small size > > - functionalityIceWM is small, and (IMO) much more functional than Metacity.> >> (2b) There is a makefile dependency bug in virt-p2v; I'm going to post >> the patch for that. >> >>> diff --git a/Makefile.am b/Makefile.am >>> index 02ff1bb2eebd..2881fc947b24 100644 >>> --- a/Makefile.am >>> +++ b/Makefile.am >>> @@ -328,7 +328,7 @@ $(BLANK_DISK): >>> $(top_builddir)/run guestfish -N $@=part exit >>> >>> virt-p2v.img: \ >>> - dependencies.m4 \ >>> + $(dependencies_files) \ >>> issue \ >>> launch-virt-p2v \ >>> p2v.service \ >>> @@ -373,7 +373,7 @@ stamp-test-virt-p2v-pxe-data-files: \ >>> touch $@ >>> >>> test-virt-p2v-pxe.img: \ >>> - dependencies.m4 \ >>> + $(dependencies_files) \ >>> issue \ >>> launch-virt-p2v \ >>> p2v.service \ > > Yes, seems like a mistake. > >> Namely, even after I modified "dependencies.m4", the disk image did not >> get correctly regenerated for "run-virt-p2v-in-a-vm". While the image >> *was* regenerated, the intermediate (OS-filtered) deps files were not, >> and so the change I had made to "dependencies.m4" did not affect the >> actual package installation command line. > > Is there another missing dep or did you track down the reason for that?I mean the above dependency updates are the fix.> >> (2c) I learned about metacity already being present when I launched an >> xterm window from the first dialog of p2v, and attempted to run icewm. >> IceWM complained that another window manager was already present; that >> was when I found metacity in the process list (pstree). >> >> (2d) I started icewm with "icewm --replace" (as recommended by the error >> message from (2c)), and lo and behold, two changes had come into effect: >> >> - the spinner started working > > This is strange ..? Did librsvg get installed at some point?Since Daniel is asking the same -- librsvg2 is not installed in the problematic build of the ISO (with metacity). I'm currently checking if, when using IceWM, it is present... Yes, it is! I still like IceWM much more -- I'm not a sworn enemy of Metacity, so we could just add the librsvg2 dependency explicitly, but it really irks me that with Metacity, there isn't *any* task bar-like widget on the screen; no Activities button in the upper left corner, no overview of windows -- honestly, even though I could move windows around by their captions (no WM decorations, of course), for the longest time I had believed that there was *no* WM at all in place. Laszlo> >> - I actually got an actual Task Bar, where I could see all the windows: >> virt-p2v, the GTK debug windows (plural), the XTerm window, and (in >> the Tray area) even nm-applet! This is not a small improvement: QEMU >> doesn't let me easily inject Alt-Tab, so switching between windows in >> the VM environment has been a huge chore (made worse by the many GTK >> debug windows). > > Yup. > >> (2e) That is, elaborating on the second bullet from (2d), not only is >> metacity (or else, our setup/usage of metacity) bugged enough to break >> the spinner, it even (i) does not offer a functional task bar, (b) does >> not show nm-applet -- there is no tray area! >> >> I'm of the opinion that we should just get rid of metacity altogether, >> and use icewm. I don't know why metacity is not working, but I consider >> metacity a seriously substandard WM anyway, so let's just get rid of it? > > Sure. I don't think we have any particular affinity to metacity. It > does however depend on icewm being and staying in RHEL long term. > > BTW we used to use matchbox (see commit 47a3518b28). > > Rich. >
On 09/30/22 14:11, Richard W.M. Jones wrote:> On Fri, Sep 30, 2022 at 12:56:40PM +0200, Laszlo Ersek wrote:>> (2d) I started icewm with "icewm --replace" (as recommended by the error >> message from (2c)), and lo and behold, two changes had come into effect: >> >> - the spinner started working > > This is strange ..? Did librsvg get installed at some point?So, "ldd `which icewm`" reports that icewm depends on librsvg-2.so.2; therefore it's not surprising that RPM generated the proper Requires: directive for the binary icewm package. I guess with Metacity, this is not the case -- which should be fine, if Metacity itself does not use librsvg2. So it looks like a package dependency bug somewhere in or around gtk3; I guess it has a kind of plugin architecture, and the SPEC file does not properly capture the (dynamic) dependency. Interestingly, in the usptream gtk repository, on the gtk-3-24 branch, the file ".gitlab-ci/fedora-gtk3.Dockerfile" spells out "librsvg2-common" and "librsvg2", from commit 81c4fa5d505ec (which is quite non-descript in this regard). So it is a *known* hidden dependency in a way. Sigh. Packaging bug then? :/ Laszlo