You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Ludovic Hirlimann <lu...@hirlimann.net> on 2020/08/21 10:25:54 UTC
Presentation and Question
Hi,
I'm ludo; I'm far from being a Java coder , but I've decided to package
JOSM for fedora. One of the first dependency is Derby.
I've managed to compile the latest derby on my fedora32 VM. I'm now
trying to figure what the next steps are in order to be able to publish
a rpm. I've asked a question onf the java/fedora devel list and the
answer came back asĀ
<https://lists.fedoraproject.org/archives/list/java-devel@lists.fedoraproject.org/thread/QA3OGE4553TAYUTQ2K2RZJTK3DVB7LZF/>.
Where does one find version numbers of Lucene and Javacc that derbys is
happy to run with ?
eg https://src.fedoraproject.org/rpms/derby/pull-request/1#request_diff
contains 2 patches related to these projects ; I don't really understand
the scope of these patches (specially that I've built Derby without any
traces of Lucene on my systems). I'll happily read all documentation snt
to me in order for me to grasp concepts and things I clearly don't right
now.
Thanks in advance.
Ludo
--
https://www.hirlimann.net/Ludovic/carnet/
Re: Presentation and Question
Posted by Rick Hillegas <ri...@gmail.com>.
Hey Ludo,
Before over-rotating on the Lucene support, please keep the following in
mind:
* The Derby Lucene support is an optional feature. Derby runs fine
without Lucene jars on the classpath. The optional tools can be excluded
from your installation. In fact, you have to go out of your way to
include them.
* If you do want to use the Derby Lucene support, then use the Lucene
jars which are bundled in the Derby source distro. They are the ones
that have been tested. They can be found at the following location in
the source tree:
tools/java/lucene-analyzers-common.jar
tools/java/lucene-core.jar
tools/java/lucene-queryparser.jar
* More information on the Derby optional Lucene support can be found at
http://db.apache.org/derby/docs/10.15/tools/rtoolsoptlucene.html
* The Lucene 8 jars will almost certainly not work with Derby. Lucene
does not make the same backward compatibility guarantees as Derby does.
If your mission is to upgrade Derby to be able to use Lucene 8, then you
are signing up for the task of altering the Derby code as well. At this
point, you are not talking about an rpm package for Derby. You are
talking about an rpm package for your own forked version of Derby. If
you want to contribute these changes to the community, that would be
great, and I will be happy to coach you through the process. But we are
talking about a new Derby release here. I don't think that upgrading
Derby to support Lucene 8 is your ultimate goal. Please correct me if I
misunderstand your goal.
The same is true for javacc. Note that javacc is not used by the Derby
product. It is only used to compile Derby. There are issues involved in
upgrading javacc to a higher version. The higher versions produce parser
diagnostics which are harder to read. That is why we have not upgraded
to javacc 5.0.
When we went through the rpm exercise the last time, there were two
requirements:
* The rpm must install all the code needed to compile the package. This
should still be true. The Lucene jars and the javacc needed to compile
Derby are bundled in the Derby source distro. The build scripts
deliberately use the bundled Lucene jars and the bundled javacc. They do
not use the versions of Lucene or javacc installed elsewhere on the
platform.
* The executable code in the rpm must run on the Linux platform. This
also should still be true, provided that the Derby version is 10.15 and
the OS uses Java 9 or higher. If the operating system is at Java 8, then
you want Derby 10.14 instead.
The problems you are wrestling with sound more complicated than that.
Before forging ahead, I recommend that you verify that your goal really
includes all of this complexity.
Hope this helps,
-Rick
On 8/23/20 12:01 AM, Ludovic Hirlimann wrote:
> On 8/22/20 12:55 AM, Rick Hillegas wrote:
>> Hi Ludo,
>>
>> Derby bundles libraries for Lucene 4.7 and javacc 4.0.
>>
> So Lucene 8 ships within Fedora, So I probably have to patch what ships
> with derby to work properly with 8.
>
> And do the same thing with javacc.
>
> Ta
>
> Ludo
>
Re: Presentation and Question
Posted by Ludovic Hirlimann <lu...@hirlimann.net>.
On 8/22/20 12:55 AM, Rick Hillegas wrote:
> Hi Ludo,
>
> Derby bundles libraries for Lucene 4.7 and javacc 4.0.
>
So Lucene 8 ships within Fedora, So I probably have to patch what ships
with derby to work properly with 8.
And do the same thing with javacc.
Ta
Ludo
--
https://www.hirlimann.net/Ludovic/carnet/
Re: Presentation and Question
Posted by Rick Hillegas <ri...@gmail.com>.
Hi Ludo,
Derby bundles libraries for Lucene 4.7 and javacc 4.0.
Cheers,
-Rick
On 8/21/20 6:01 AM, Ludovic Hirlimann wrote:
> On 8/21/20 2:47 PM, Rick Hillegas wrote:
>> Hi Ludo,
>>
>> The instructions for building Derby can be found here:
>> http://svn.apache.org/viewvc/db/derby/code/trunk/BUILDING.html?view=co
>> The instructions say that you need Java 9, but any version from Java 9
>> on up should work. You don't need to download either javacc or Lucene.
>> Both tools are
> It builds find. I have no build issues.
>
Re: Presentation and Question
Posted by Ludovic Hirlimann <lu...@hirlimann.net>.
On 8/21/20 2:47 PM, Rick Hillegas wrote:
> Hi Ludo,
>
> The instructions for building Derby can be found here:
> http://svn.apache.org/viewvc/db/derby/code/trunk/BUILDING.html?view=co
> The instructions say that you need Java 9, but any version from Java 9
> on up should work. You don't need to download either javacc or Lucene.
> Both tools are
It builds find. I have no build issues.
--
https://www.hirlimann.net/Ludovic/carnet/
Re: Presentation and Question
Posted by Ludovic Hirlimann <lu...@hirlimann.net>.
On 8/21/20 2:47 PM, Rick Hillegas wrote:
> Hi Ludo,
>
> The instructions for building Derby can be found here:
> http://svn.apache.org/viewvc/db/derby/code/trunk/BUILDING.html?view=co
> The instructions say that you need Java 9, but any version from Java 9
> on up should work. You don't need to download either javacc or Lucene.
> Both tools are bundled in the Derby source code. The bundling of 3rd
> party assets in the Derby source distro satisfied the Linux package
> rules the last time that we went through this exercise. Maybe the
> rules have changed.
I'll go and chase hte information.
> I believe that the version of Lucene bundled inside Derby is the
> highest version we have tested against. That would be Lucene 4.9.0,
> according to
> http://db.apache.org/derby/docs/10.15/tools/rtoolsoptlucene.html. I
> will double-check that this weekend. If you're in a hurry, you can
> crack open the Lucene jars located in the Derby source tree under
> tools/java and look for the version number yourself.
I'm in no hurry. What counts is that I reach My goal and keep josm
floating in fedora/redhat land.
> I will also look up the javacc version which is bundled inside Derby.
> Again, you can crack open tools/java/javacc.jar to look up that
> information if you are in a hurry.
>
> Hope this helps,
>
It does; THANK YOU
--
https://www.hirlimann.net/Ludovic/carnet/
Re: Presentation and Question
Posted by Rick Hillegas <ri...@gmail.com>.
Hi Ludo,
The instructions for building Derby can be found here:
http://svn.apache.org/viewvc/db/derby/code/trunk/BUILDING.html?view=co
The instructions say that you need Java 9, but any version from Java 9
on up should work. You don't need to download either javacc or Lucene.
Both tools are bundled in the Derby source code. The bundling of 3rd
party assets in the Derby source distro satisfied the Linux package
rules the last time that we went through this exercise. Maybe the rules
have changed.
I believe that the version of Lucene bundled inside Derby is the highest
version we have tested against. That would be Lucene 4.9.0, according to
http://db.apache.org/derby/docs/10.15/tools/rtoolsoptlucene.html. I will
double-check that this weekend. If you're in a hurry, you can crack open
the Lucene jars located in the Derby source tree under tools/java and
look for the version number yourself.
I will also look up the javacc version which is bundled inside Derby.
Again, you can crack open tools/java/javacc.jar to look up that
information if you are in a hurry.
Hope this helps,
-Rick
On 8/21/20 3:25 AM, Ludovic Hirlimann wrote:
> Hi,
>
>
> I'm ludo; I'm far from being a Java coder , but I've decided to package
> JOSM for fedora. One of the first dependency is Derby.
>
> I've managed to compile the latest derby on my fedora32 VM. I'm now
> trying to figure what the next steps are in order to be able to publish
> a rpm. I've asked a question onf the java/fedora devel list and the
> answer came back as
> <https://lists.fedoraproject.org/archives/list/java-devel@lists.fedoraproject.org/thread/QA3OGE4553TAYUTQ2K2RZJTK3DVB7LZF/>.
>
>
> Where does one find version numbers of Lucene and Javacc that derbys is
> happy to run with ?
>
> eg https://src.fedoraproject.org/rpms/derby/pull-request/1#request_diff
> contains 2 patches related to these projects ; I don't really understand
> the scope of these patches (specially that I've built Derby without any
> traces of Lucene on my systems). I'll happily read all documentation snt
> to me in order for me to grasp concepts and things I clearly don't right
> now.
>
>
> Thanks in advance.
>
> Ludo
>