[jbosstools-dev] Packaging JBoss Tools for Fedora (issue & potential patches)
Mickael Istria
mistria at redhat.com
Mon Aug 20 04:10:31 EDT 2012
Hi Gerard,
On 08/19/2012 07:10 PM, Gerard Ryan wrote
> The current version of the usage plugin differs slightly depending on
> which version of Fedora, as it gets buit separately for each. Also,
> I've just noticed that there it's built twice for each, once for i686
> and once for x86_64 (I'm pretty should it should be done independently
> of architecture, I'll have to look back and see why it's not). So here
> are the versions for the current builds of the usage plugin:
> Fedora 17 i686: 1.1.0.v20120803-1433-Final
> Fedora 17 x86_64: 1.1.0.v20120803-1435-Final
> Fedora 18 i686: 1.1.0.v20120813-0307-Final Fedora 18 x86_64:
> 1.1.0.v20120813-0301-Final
> Fedora 19 (Rawhide) i686: 1.1.0.v20120813-0304-Final
> Fedora 19 (Rawhide) x86_84: 1.1.0.v20120813-0259-Final
> If I change the BUILD_ALIAS variable to Fedora in build/parent/pom.xml
> would that be better?
In general, you should choose the BUILD_ALIAS clear enough to quickly
understand whether a bundle comes from your build or ours. Something
line v20120813-0301-Fedora would be good for that.
>>> This "rebuild" stuff also makes me wonder how Eclipse p2 is to be used with this version of Eclipse/JBoss Tools ?
>>>
>>> i.e. SOA Tools users would need to use Eclipse p2 - what happens in this case where JBoss Tools bundles
>>> aren't the real JBoss Tools bundles ?
>>>
>>> It's still possible to install other bundles the usual way from the update sites. In this case, because it sees that the
>>> new bundles require different versions of the already installed bundles, it downloads them also.
>> No it doesn't - p2 works on version ranges so if your package falls within that it will use yours instead of the originals.
p2 is fine, but features are not: When you build a feature, the built
feature.xml contains fully specified (including qualifier) version of
bundles to install. So there may be some cases where version for what
you built differs from the version we ship in feature.xml. That will
lead to a conflict (in case bundle is a singleton) and may prevent from
installing a new feature.
However, we made some effort on replacing "includes" by "requirements"
on features wherever it makes sense. Version ranges work well for
requirements. The rule is that a feature only includes bundles that are
built in the same build, stuff coming from external sources (generally
dependencies) must be "require". So Max's use case should work, but be
aware we might have forgotten to apply this rule somewhere, and you
might have some installation conflicts because of 2 features providing
the same bundle with different qualifiers.
>>> When Eclipse is restarted
>>> and the new bundles are activated, the existing Fedora packaged versions of any stuff that duplicates were downloaded for
>>> always seems to 'win' - it's chosen over the newly downloaded version. This probably isn't what one would expect.
>> well, because the version is *higher* right?
> Ah ok, I wasn't aware why that was happening. I guess it would be
> 'higher' because of the build date in the qualifier, right?
That's it, but more generally, it happens be qualifier is higher, not
only date.
> How about
> if I force the date to be lower than the your build from the update
> site? That way, if one downloads from the eclipse marketplace, or
> somewhere else, then that would be used instead of the Fedora
> installed version. Am I right in thinking that?
Qualifier pattern for us is v<...>. If you want your build pattern to be
lower, don't deal with dates. You can change simply qualifier to
something like: f<...> or fedora-v<...>. Since 'f' < 'v' our bundles
will be preferred by p2 and OSGi independently of the date on so on. I
like the fedora-v<...> since it answers this issue and a previous one at
the same time.
Be aware that you are dealing with conventions here. You should strongly
document them and get other people working on them aware of them. It's
easy to have someone changing this pattern for a "better" one without
knowing such rules and then breaking it.
>>> Another aspect is what to do with our JBoss Central feature - which also relies on eclipse p2 to install additional features.
Did you change the JBoss Central feature to rely on yum instead of p2?
If yes, that's a different feature, and it modified bundles and features
probably requires a new name.
If no, then it means there is nothing to worry about. It will be
installed and will refer to our sites, and will work as always.
Cheers,
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat <http://www.jboss.org/tools>
My blog <http://mickaelistria.wordpress.com> - My Tweets
<http://twitter.com/mickaelistria>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20120820/617d9c49/attachment.html
More information about the jbosstools-dev
mailing list