Bug 1126860

Summary: Port to vte-2.91
Product: [Fedora] Fedora Reporter: Debarshi Ray <debarshir>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: amit.shah, berrange, cfergeau, crobinso, debarshir, dwmw2, itamar, pachoramos1, pbonzini, rjones, scottt.tw, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-20 19:56:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
configure: Build against vte-2.91 none

Description Debarshi Ray 2014-08-05 13:24:14 UTC
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:
http://koji.fedoraproject.org/koji/taskinfo?taskID=7243508

Comment 1 Debarshi Ray 2014-08-05 13:27:37 UTC
Created attachment 924216 [details]
configure: Build against vte-2.91

Comment 2 Debarshi Ray 2014-08-05 13:35:36 UTC
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.

Comment 3 David Woodhouse 2014-08-05 16:06:49 UTC
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.

Comment 4 Debarshi Ray 2014-08-05 16:44:26 UTC
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.

Comment 5 Fedora End Of Life 2015-11-04 13:54:08 UTC
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'
of '21'.

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.

Comment 6 Cole Robinson 2015-12-24 18:02:54 UTC
(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)

Comment 7 Debarshi Ray 2015-12-31 12:28:08 UTC
(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:
 * vte-2.90.pc
 * vte-2.91.pc

> 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
> that)

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. :)

Comment 8 Jan Kurik 2016-02-24 13:15:44 UTC
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:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 9 Cole Robinson 2016-05-07 19:04:30 UTC
Patch sent upstream:

https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg00951.html

Comment 10 Cole Robinson 2016-05-20 19:56:47 UTC
Patches upstream now, they will be in rawhide with the next release in a few months

Comment 11 Debarshi Ray 2016-05-25 09:10:19 UTC
That is awesome! Thank you.