Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to build #12

Open
narc-Ontakac2 opened this issue Jul 27, 2024 · 14 comments
Open

How to build #12

narc-Ontakac2 opened this issue Jul 27, 2024 · 14 comments
Assignees

Comments

@narc-Ontakac2
Copy link

narc-Ontakac2 commented Jul 27, 2024

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
Copy link
Owner

prrvchr commented Jul 27, 2024

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:

@prrvchr prrvchr self-assigned this Jul 27, 2024
@narc-Ontakac2
Copy link
Author

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
Copy link
Owner

prrvchr commented Jul 30, 2024

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
Copy link
Author

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
Copy link
Owner

prrvchr commented Jul 30, 2024

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

Are you talking about both packages?

  • libreoffice-sdbc-hsqldb
  • libhsqldb1.8.0-java

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
Copy link
Author

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
Copy link
Owner

prrvchr commented Jul 30, 2024

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
Copy link
Author

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

@narc-Ontakac2
Copy link
Author

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
Copy link
Owner

prrvchr commented Aug 2, 2024

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
Copy link
Author

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.

@prrvchr
Copy link
Owner

prrvchr commented Jan 2, 2025

I have made some progress, it will soon be possible to build from Ant.

However, I have not completely understood the problem posed by the use of the slf4j-api-2.0.6.jar archive. Could you tell me more, in order to be able to resolve this last problem.

@narc-Ontakac2
Copy link
Author

narc-Ontakac2 commented Jan 2, 2025

However, I have not completely understood the problem posed by the use of the slf4j-api-2.0.6.jar archive. Could you tell me more, in order to be able to resolve this last problem.

While it is technically possible an official Debian package must not contain dependencies or statically link libraries. This makes security updates easily doable and avoids bloat.

@narc-Ontakac2
Copy link
Author

I have submitted a wishlst bug on the Debian package libslf4j-java. For now I can package an inofficial package (provided no other obstruction occurs).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants