Description of problem:
Current vte master that will eventually be a part of GNOME 3.14 and Fedora 21 has some API changes. Since qemu uses a very limited portion of the vte API, it is only a matter of switching the build to look for the vte-2.91.pc file.
Here is a scratch build for testing:
Created attachment 924216 [details]
configure: Build against vte-2.91
Forgot to mention that vte291-devel is the name of the new vte package until all packages have switched. After that we might replace it with vte3, which currently has the older API, to avoid shipping two versions of the widget for gtk3.
We also have vte, which is the widget for gtk2.
If the API and ABI for the functions we're using is compatible, then surely all that's required is for vte to use symbol versioning correctly? The functions which *changed* get a new version, but qemu should continue to work against both old and new libraries happily.
The new vte has a different *.pc file name because it is parallel installable with the old API. So we should atleast look for the new *.pc file otherwise it won't build on systems that only have the new API.
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora 'version'
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.
Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 21 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
(In reply to Debarshi Ray from comment #4)
> The new vte has a different *.pc file name because it is parallel
> installable with the old API. So we should atleast look for the new *.pc
> file otherwise it won't build on systems that only have the new API.
Is this stuff upstream, or just a side effect of how fedora chose to structure the compat packages? I want to work out a way to upstream the build system changes... your patch isn't acceptable as is because qemu maintains support for running on RHEL6 vintage systems
(seems bizarre to me that vte3 essentially became the compat package, and the latest bits are in vte291... took me 10 minutes to wrap my head around that)
(In reply to Cole Robinson from comment #6)
> (In reply to Debarshi Ray from comment #4)
> > The new vte has a different *.pc file name because it is parallel
> > installable with the old API. So we should atleast look for the new *.pc
> > file otherwise it won't build on systems that only have the new API.
> Is this stuff upstream, or just a side effect of how fedora chose to
> structure the compat packages?
The names of the pkgconfig files are the same as upstream. Namely:
> I want to work out a way to upstream the
> build system changes... your patch isn't acceptable as is because qemu
> maintains support for running on RHEL6 vintage systems
Yes, I understand. Thanks for your efforts to push it upstream!
> (seems bizarre to me that vte3 essentially became the compat package, and
> the latest bits are in vte291... took me 10 minutes to wrap my head around
It is quite confusing, indeed, and you are not the first one. :)
There are vte, vte3 and vte291 packages in Fedora:
* vte is the (ancient) GTK+ 2.x widget, which is unmaintained upstream.
* vte3 is the GTK+ 3.x widget with the vte-2.90 API/ABI. ie. the vte-0.36.x series of tarballs. It still receives bug-fixes.
* vte291 is the GTK+ 3.x widget with the vte-2.91 API/ABI. ie. everything newer than the vte-0.36.x series. It is under active development and bug-fixes.
I didn't come up with the Fedora package names, and I won't defend the choice of names either. They are positively horrendous. :)
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.
More information and reason for this action is here:
Patch sent upstream:
Patches upstream now, they will be in rawhide with the next release in a few months
That is awesome! Thank you.