Skip to content

dbeaver: 7.3.2 -> 7.3.5, build from source and add darwin build#108417

Merged
samueldr merged 6 commits intoNixOS:masterfrom
jojosch:dbeaver-source
Feb 16, 2021
Merged

dbeaver: 7.3.2 -> 7.3.5, build from source and add darwin build#108417
samueldr merged 6 commits intoNixOS:masterfrom
jojosch:dbeaver-source

Conversation

@jojosch
Copy link
Member

@jojosch jojosch commented Jan 4, 2021

Motivation for this change

I finally got around to building dbeaver from source (resolving #34182). Here one problem occurred: maven needs JDK 11 as the jdk dependency to fix:

error: org/eclipse/tycho/core/p2/P2ArtifactRepositoryLayout has been compiled 
by a more recent version of the Java Runtime (class file version 55.0), this version 
of the Java Runtime only recognizes class file versions up to 52.0

Using JDK < 15 also fixes the build because AlgorithmId.md5WithRSAEncryption_oid was removed with JDK 15 and #107547 did update the default JDK to version 15:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:2.0.0:compile (default-compile) on project org.jkiss.dbeaver.model: Compilation failure: Compilation failure:
[ERROR] /build/source/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/app/CertificateGenHelper.java:[69]
[ERROR] 	AlgorithmId algo = new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
[ERROR] 	                                               ^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] md5WithRSAEncryption_oid cannot be resolved or is not a field

In addition, I've included some modifications for a macOS build (resolving #98631), since I have access to a Mac for a short time.

Could someone more familiar with the macOS side of things check my changes?


Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS (nix-build and run the .../MacOS/dbeaver Mach-O exe) - idk how to add the resulting Application to "Applications"
    • other Linux distributions (Ubuntu 20.10)
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
/nix/store/7r66lj6a84c94m9rp1wmcnd562gg0f0f-dbeaver-ce-7.3.2	 1461069608 (from source)
/nix/store/y1gihgszwbn7g4mgs6lcz8rjgnkhsq0i-dbeaver-ce-7.3.2	 1463280536 (from tarball)
/nix/store/vcdjp7ihjl5928s6q9c82lf17aky5m56-dbeaver-ce-7.3.3	 1318132560 (from source)
/nix/store/yxgbd9nzibm5cc2ra8158az8dv0iq36l-dbeaver-ce-7.3.2	 403813864 (macOS)

@ofborg ofborg bot added 6.topic: darwin Running or building packages on Darwin 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jan 4, 2021
@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jan 15, 2021
@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Jan 18, 2021
@jojosch jojosch changed the title [WIP] dbeaver: build from source and add darwin build dbeaver: build from source and add darwin build Jan 18, 2021
@samueldr
Copy link
Member

Nice!

I did not test in depth, but ran it on the machine I used it previously, it picked up the old profile and worked just as expected.

Good work on figuring out a scheme to make the maven calls reproducible.

For fun I tried to run it on aarch64-linux, the maven artifacts were verified to fetch reproducibly, but a dependency isn't yet available for aarch64, so that didn't work for the time being. (dbeaver/dbeaver#7606)

I haven't taken the time to look at the changes in depth either, but as far as the end-product working, it seems to work just fine.

@jojosch
Copy link
Member Author

jojosch commented Feb 1, 2021

Updated to latest release https://dbeaver.io/2021/01/31/dbeaver-7-3-4/

@jojosch jojosch changed the title dbeaver: build from source and add darwin build dbeaver: 7.3.2 -> 7.3.4, build from source and add darwin build Feb 5, 2021
@jojosch jojosch changed the title dbeaver: 7.3.2 -> 7.3.4, build from source and add darwin build dbeaver: 7.3.2 -> 7.3.5, build from source and add darwin build Feb 16, 2021
@jojosch
Copy link
Member Author

jojosch commented Feb 16, 2021

Updated to latest release https://dbeaver.io/2021/02/14/dbeaver-7-3-5/

@aanderse
Copy link
Member

Any reason to wait on merging this? @samueldr want to press merge?

@samueldr
Copy link
Member

I was hoping that someone else who knew more about the Java ecosystem would chime in, or to have other approvals along the way... And I forgot about it after the initial look.

@samueldr samueldr merged commit bdb8db4 into NixOS:master Feb 16, 2021
@jojosch jojosch deleted the dbeaver-source branch February 16, 2021 07:33
@jojosch
Copy link
Member Author

jojosch commented Feb 16, 2021

@samueldr thanks for merging :)

The two linked issues (#34182, #98631) do not appear to have been automatically closed. Maybe because i used "resolving XX" instead of "resolves/fixes XX" in the PR description?

@samueldr
Copy link
Member

I'm not sure, but that's likely. Github tells you somewhere in the UI which issues will be closed, when the messages are formatted "correctly". I generally end-up making a list like what follows, otherwise Github sometimes doesn't do the right thing.

 - Fixes #xxx
 - Fixes #xxy

@jojosch jojosch mentioned this pull request Feb 28, 2021
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments