Thank you for understanding my reaction...

As for the Java side: what Eclipse does under the hood is simply invoking its own compiler and passing it a classpath and source files. It isn't difficult to manually compile the files using javac and the bundled libraries:
```
cd CIEID
java_sources=$(find src -name -type f '*.java')
libs=$(echo $(find lib -name -type f '*.jar') | tr ' ' ':')
javac -cp "${libs}" -d classes ${java_sources}
```
This creates a `classes` directory with the compiled classes using bundled libraries.

I took a look at the bundled libraries and some half of them are definitely packaged in Fedora (and maintained by us). The ones with capital letters are unknown to me though.

If the Java files were to be compiled using the system libraries, the ${libs} argument would have to be built by searching for standard locations for jars: (/usr/share/java/...).

On 18. 7. 2024 18:12, Cristian Le via devel wrote:
Hi Marian,

Thanks for the comments. We all had our turns being horrified by this project. The more you look at it the more you want to use bleach as eye-drops. Germano is trying to write an issue to at least try to steer the upstream project in a more sensible directions.

On the CMake side, I gave some comments on what are the minimal changes that are required. On Java side though, I don't know what the build process is. Vitaly mentioned that java environment is tricky with things like Kotlin compiler being removed, so that's why we are asking for some second-opinions on this. The project seems to use only plain java, and taking a quick look at the dependencies, it doesn't seem that they are all packaged, but are there among them any red flags that would be a complete deal-breaker?

Probably for the Java build it would be better to use Maven. Are there other pointers of what upstream developers should look into/implement on the Java side?

Re: Sergio, so far it seems all Italian, Portuguese and Estonian are using different infrastructures.

On 2024/07/18 17:31, Marián Konček wrote:
Hi, I am a member of Fedora Java package maintainers.

I see several problems with this project:
1. *.jar, *.a, *.o files not only do not belong into Fedora sources, they should not even be in *any* GitHub repository unless they are used for testing. Binary components are not sources. 2. Requiring graphical Eclipse to build some Java code is a heavy overkill, you should instead add a standard Java build system like Maven or add CMake targets to build Java code using standard tools like `javac` and `jar`. 3. generated files like *.d, *.mk should also not be in a source repository, unless there is a good reason for them. 4. You will do the others a great service if you use the English language in GitHub commits and READMEs. Open-source software is not there for you but for the whole world. 5. (minor) The project is missing a README information what it actually is about. All I could read about is that it is "some middleware for Linux".

You should really take a look at other more standard projects on GitHub, how they handle builds and library dependencies.

On 18. 7. 2024 16:42, Germano Massullo wrote:
Hello, I discussed the feasibility of packaging
https://github.com/italia/cie-middleware-linux
in Fedora devel Matrix channel with Cristian Le and xvitaly. With the help of Cristian Le I wrote the following [1] draft that will be used to open an upstream ticket to request various improvements to make it possible to include the software in the Fedora repository. We ended up needing the comment from Java package maintainers, if they see any other no-go. I am in particular concerned about https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#_pre_built_dependencies

Thank you

[1]: https://germano.fedorapeople.org/canc/cie_middleware.md

--
Marián Konček

--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to