Issue Details (XML | Word | Printable)

Key: DERBY-4024
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Rick Hillegas
Reporter: Rick Hillegas
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Derby

Replace felix.jar file with the felix sources

Created: 16/Jan/09 05:42 PM   Updated: 04/May/09 06:21 PM
Component/s: Build tools
Affects Version/s: 10.5.1.1
Fix Version/s: 10.5.1.1

Time Tracking:
Not Specified

File Attachments:
  Size
File Licensed for inclusion in ASF works derby-4024-01-aa-felixSources.diff 2009-01-16 05:56 PM Rick Hillegas 267 kB
File Licensed for inclusion in ASF works derby-4024-01-ab-felixSources.diff 2009-01-16 07:04 PM Rick Hillegas 269 kB
Issue Links:
Reference
 

Issue & fix info: Patch Available
Resolution Date: 26/Jan/09 08:57 PM
Labels:


 Description  « Hide
In order to bundle Derby with popular linux distributions like Debian and Ubuntu, it must be possible to build Derby from sources and existing linux components. By replacing Felix jar with the corresponding sources, we move another step closer to being able to bundle Derby with linux distributions.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Rick Hillegas added a comment - 16/Jan/09 05:56 PM
Attaching derby-4024-01-aa-felixSources.diff. This replaces felix.jar with the corresponding Felix sources. Touches the following files:

M build.xml
M tools/ant/properties/extrapath.properties
M tools/ant/properties/dirs.properties

Wire the Felix sources into the Derby build.


M NOTICE

Include the Felix NOTICE in Derby's NOTICE file.


D tools/java/felix.jar

Deprecate this jar file.


A java/stubs/felix
A java/stubs/felix/org
A java/stubs/felix/org/osgi
A java/stubs/felix/org/osgi/framework
A java/stubs/felix/org/osgi/framework/AllServiceListener.java
A java/stubs/felix/org/osgi/framework/FrameworkEvent.java
A java/stubs/felix/org/osgi/framework/Configurable.java
A java/stubs/felix/org/osgi/framework/AdminPermission.java
A java/stubs/felix/org/osgi/framework/ServiceEvent.java
A java/stubs/felix/org/osgi/framework/FrameworkListener.java
A java/stubs/felix/org/osgi/framework/PackagePermission.java
A java/stubs/felix/org/osgi/framework/ServiceListener.java
A java/stubs/felix/org/osgi/framework/ServicePermission.java
A java/stubs/felix/org/osgi/framework/Bundle.java
A java/stubs/felix/org/osgi/framework/BundleEvent.java
A java/stubs/felix/org/osgi/framework/InvalidSyntaxException.java
A java/stubs/felix/org/osgi/framework/Constants.java
A java/stubs/felix/org/osgi/framework/BundleContext.java
A java/stubs/felix/org/osgi/framework/BundleListener.java
A java/stubs/felix/org/osgi/framework/ServiceReference.java
A java/stubs/felix/org/osgi/framework/BundlePermission.java
A java/stubs/felix/org/osgi/framework/Filter.java
A java/stubs/felix/org/osgi/framework/Version.java
A java/stubs/felix/org/osgi/framework/BundleActivator.java
A java/stubs/felix/org/osgi/framework/BundleException.java
A java/stubs/felix/org/osgi/framework/ServiceFactory.java
A java/stubs/felix/org/osgi/framework/SynchronousBundleListener.java
A java/stubs/felix/org/osgi/framework/FrameworkUtil.java
A java/stubs/felix/org/osgi/framework/ServiceRegistration.java

Add the Felix sources.

Bryan Pendleton added a comment - 16/Jan/09 06:41 PM
Hi Rick, I'm not sure I understand. What is Felix, and why should its source be in the Derby repository?

Rick Hillegas added a comment - 16/Jan/09 06:56 PM
Hi Bryan,

Felix is the Apache OSGI implementation. Currently, we include the Felix binary, felix.jar, in tools/java so that we always build Derby's OSGI binding (EmbeddedActivator). We checked felix.jar into the Derby source tree as the solution to DERBY-1670.

Rick Hillegas added a comment - 16/Jan/09 07:04 PM
Attaching derby-4024-01-ab-felixSources.diff. This points the Netbeans project at the new location of the Felix classes. Touches the following additional file:

M tools/ide/netbeans/6.0/nbproject/project.xml

Myrna van Lunteren added a comment - 17/Jan/09 12:13 AM
I wonder, will there be any change in licensing details for Derby when we include the felix sources?

Myrna

Andrew McIntyre added a comment - 17/Jan/09 01:20 AM
I'm not sure that I understand the reasoning behind this change. felix.jar is a part of Derby's source distribution. Derby completely compiles from the source tarball today, easier than ever thanks to all your recent build work. What advantage is conferred by including the Felix source instead of the jar file in the source distribution, exactly?

Rick Hillegas added a comment - 20/Jan/09 01:52 PM
Hi Myrna,

As part of this patch, I have changed the NOTICE file to state that Derby includes work from the Felix project. I think that attribution should have been in the NOTICE file before but we overlooked that. I don't think that there are different licensing requirements if we bundle the source vs the binaries.

Hi Andrew,

The Debian lineage of linux distributions (including Ubuntu) have a rule that any software which they distribute must be buildable from source and other distributed packages. In order to build Derby from scratch, the Felix jar would have to satisfy one of the following requirements:

1) Be buildable from source in the Derby distribution (the change proposed here)

or

2) Be a separately distributed component of Ubuntu.

I don't know why an OSGI implementation isn't a component of Ubuntu today. But I can't find one. The first option seemed like a simpler solution. I think that being distributed as part of Ubuntu would be good for Derby.

Rick Hillegas added a comment - 23/Jan/09 03:06 PM
Committed derby-4024-01-ab-felixSources.diff at subversion revision 737043.