[FFe] Remove remotelinux plugin and its dependencies from the QtC package

Bug #1302620 reported by Benjamin Zeller
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qtcreator (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

FFe for splitting the remotelinux plugin and its dependencies into new packages.
Also introduces a new abstract interface to allow derivation for plugins depending on the remotelinux plugin.

The new packages are developed at: lp:qtcreator-plugin-remotelinux and are a requirement
for the Ubuntu-SDK qtcreator-plugin which will improve the UX drastically for cmake based UbuntuSDK
projects.

This FFe is about patching the mentioned plugins out of the QtC package, so the
packages can be installed instead.

The patched QtCreator is in this branch: lp:~zeller-benjamin/kubuntu-packaging/qtcreator

Because of this breaking the ABI for QtC plugins deriving from remotelinux
and changing dependencies, this change needs to be landed together with the required changes to:
- qtcreator-plugin-cmake (lp:~zeller-benjamin/qtcreator-plugin-cmake/remotelinuxdeps)
- qtcreator-plugin-remotelinux ( lp:qtcreator-plugin-remotelinux)

Build log with the changes available from here:
https://launchpad.net/~ubuntu-sdk-team/+archive/tools-development/+build/5867520

The packages are already available from the ppa:
https://launchpad.net/~ubuntu-sdk-team/+archive/tools-development/+packages

Related branches

description: updated
Revision history for this message
Steve Langasek (vorlon) wrote :

As far as I understand from this bug report, the remotelinux plugin discussed here is still present upstream in qtcreator. Is there upstream agreement to remove this plugin from qtcreator in favor of the version being developed out of tree at lp:qtcreator-plugin-remotelinux? Or if not, are we losing any upstream functionality by substituting this version for the upstream one?

If this change is not approved by upstream, should we in fact be offering this as an alternative plugin (maybe under a different name in order to not conflict), rather than replacing the in-tree one?

(Especially since you say it breaks ABI, I have doubts about whether replacing the in-tree one is the best way.)

Provided we sort this issue out, I have no problem with the addition of the new remotelinux plugin, and to have the other plugins integrate with it. I just don't want us to be introducing a divergence from upstream at the last minute for 14.04 which may turn out to be a bad idea, leaving us no time to change direction again.

Changed in qtcreator (Ubuntu):
status: New → Incomplete
Revision history for this message
Benjamin Zeller (zeller-benjamin) wrote :

Ok, this is a temporary solution until we merge our additions to remotelinux upstream.
We had to add code that allows us to create own custom remotelinux runconfigurations
for the Ubuntu SDK.

The patch itself does remove any functionality it just adds a interface.
However we can not leave the "vanilla" remotelinux plugin in the QtC package
because they would conflict and QtC would load both plugins.

It breaks ABI because i added a new interface and had to derive one of the already existend
classes from that interface wich does the breakage. However all remotelinux dependend plugins
in QtC are exported as well into packages:
qtcreator-plugin-remotelinux
qtcreator-plugin-qnx
qtcreator-plugin-valgrind

Revision history for this message
Zoltan Balogh (bzoltan) wrote :

The change is partially structural. The plan is to provide separate source packages for the most used plugins. That will make the now huge QtC easier to trace, debug and so maintain.

We did the same with the cmake plugin and the process of upstreaming our changes are started.

The problem with upstreaming these changes is that Digia's contribution intake process is slow and heavy. This change is the first step to prove to the upstream that our contribution is viable.

So this separate remotelinux, cmake, etc plugin source package structure is going to stay.

Revision history for this message
Steve Langasek (vorlon) wrote :

After discussion on IRC, I understand that the long-term goal is to convince upstream to split these plugins out as separate tarball releases for ease of building/maintenance (since qtcreator itself is quite hefty to iterate on if you're only changing a single plugin), and that while upstream hasn't necessarily agreed to this, the individual plugins also have separate upstream source repositories. With this in mind, I'm willing to accept remotelinux as a separate source package instead of asking this to be a distro patch against the existing plugin sources in the qtcreator source package.

So eventually the remotelinux changes will (hopefully) be merged upstream, but when they are they will also hopefully continue to be made available as a separate source package.

Other than this, this appears to be a low-risk change; the plugin is self-contained and actively maintained by the SDK team, who will know better than anyone what's needed to make this useful for 14.04. FFe granted.

Changed in qtcreator (Ubuntu):
status: Incomplete → Confirmed
Changed in qtcreator (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers