prrvchr / jdbcDriverOOo

The JDBC driver for LibreOffice
https://prrvchr.github.io/jdbcDriverOOo/
6 stars 0 forks source link

How to build #12

Open narc-Ontakac2 opened 2 months ago

narc-Ontakac2 commented 2 months ago

I am not finding a build system I know, actually I am not finding any build system.

Documentation on how to build would be nice.

prrvchr commented 2 months ago

Documentation on how to build would be nice.

I admit there is nothing for now.

In fact everything is built in Eclipse IDE for Java Developers Version 2022-09 (4.25.0) with the extensions:

narc-Ontakac2 commented 2 months ago

Does this mean that there is no way to do a command line build?

I thought about building a Debian package from this (if it is not too much effort). This does however require a command line build.

prrvchr commented 2 months ago

Does this mean that there is no way to do a command line build?

The only file to build from the source files is the Java archive jdbcDriverOOo.jar. I think LOEclipse uses a command line tool (but I don't know which one) to create this jar archive.

The jdbcDriverOOo.oxt file is just a compressed file and was produced by a bash script with the help of zip tool before any use of Eclipse and I think LOEclipse does the same thing.

I thought about building a Debian package from this (if it is not too much effort). This does however require a command line build.

What are you really trying to build and what are the benefits that a Debian package can bring?

narc-Ontakac2 commented 2 months ago

What are you really trying to build and what are the benefits that a Debian package can bring?

It can be configured to conflict with the 2 packages that need to be removed. In addition apt is to me "the" package manager. In this case packaging is however of minor importance. The libreoffice extensions are already packages. So I would only do packaging if is easy and this does not seem to be the case.

prrvchr commented 2 months ago

It can be configured to conflict with the 2 packages that need to be removed.

Are you talking about both packages?

If this is indeed the case, it is indeed urgent to replace these two packages which are almost 20 years old.

So I would only do packaging if is easy and this does not seem to be the case.

If needed I can try to set up a build script.

narc-Ontakac2 commented 2 months ago

If this is indeed the case, it is indeed urgent to replace these two packages which are almost 20 years old.

Two questions on this:

  1. Do you know why, lack of manpower?
  2. Why didn't you modify the libreoffice source? If I recall the bug report someone asked you to do that.
prrvchr commented 2 months ago

Do you know why, lack of manpower?

LibreOffice's concern has been to remove as much code as possible written in Java in order to make LibreOffice independent of Java. All this goes against a better integration of these two packages.

Why didn't you modify the libreoffice source? If I recall the bug report someone asked you to do that.

No, the success of jdbcDriverOOo is to be written in Java. LibreOffice is written in C and then I was never asked to integrate Java code into LibreOffice code.

narc-Ontakac2 commented 2 months ago

Thanks,I wasn't aware libreoffice is moving to C. This of course explains it.

narc-Ontakac2 commented 2 months ago

I have give up on Debian packaging. The dependency on libslf4j-java can not be satisfied with a Debian package because that is on version 1.7.32 (Fun fact: apache-log4j is quite recent).

Since Debian disallows including dependencies in a package (for security reasons, a vulnerable dependency can easily updated this way) I would have to update the libslf4j-java package. This exceeds my acceptable effort.

Since a documented way to build from source is something every open source project should have I leave the ticket open.

Thanks for the explanations.

prrvchr commented 2 months ago

I would have to update the libslf4j-java package. This exceeds my acceptable effort.

I am not able to create a Debian package. However, we can always wait for this dependency to be updated to be able to make available this package which would replace the two obsolete packages.

Since a documented way to build from source is something every open source project should have I leave the ticket open.

I will focus on writing a script capable of building from source files as Eclipse does with the LOEclipse extension, in order to make the build and use of Eclipse independent.

narc-Ontakac2 commented 2 months ago

I will focus on writing a script capable of building from source files as Eclipse does with the LOEclipse extension, in order to make the build and use of Eclipse independent.

I would recommend using one of the standard build systems (ant, gradle, maven). They are all in some way annoying, but documented and known to a lot of developers. If you are lucky Eclipse can create such a build script.