Zum Inhalt springen

Verinice/Kompilieren

Aus Foxwiki

Vernice Client, Update-Site und Server kompilieren (für Windows, Mac und Linux)

Umgebung

Betriebssystem

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux bookworm/sid"

Java

$ java -version
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1, mixed mode, sharing)
$ echo $JAVA_HOME
/usr/lib/jvm/default-java/
$ ls -l /usr/lib/jvm/
lrwxrwxrwx 1 root root   25 30. Dez 2018  default-java -> java-1.11.0-openjdk-amd64
lrwxrwxrwx 1 root root   21 18. Okt 2019  java-1.11.0-openjdk-amd64 -> java-11-openjdk-amd64
drwxr-xr-x 7 root root 4096 27. Nov 19:20 java-11-openjdk-amd64

Umgebung bereinigen

$ rm -r ~/.m2/

Quellen bereitstellen

$ cd /usr/srv
$ git clone https://github.com/SerNet/verinice
Klone nach 'verinice'...
remote: Enumerating objects: 148244, done.
remote: Counting objects: 100% (6964/6964), done.
remote: Compressing objects: 100% (2221/2221), done.
remote: Total 148244 (delta 4588), reused 6150 (delta 4235), pack-reused 141280
Empfange Objekte: 100% (148244/148244), 1.23 GiB | 8.96 MiB/s, fertig.
Löse Unterschiede auf: 100% (95543/95543), fertig.
Aktualisiere Dateien: 100% (12390/12390), fertig.

Basisverzeichnis

$ cd verinice
$ ls
bouncycastle                               sernet.birt.feature                  sernet.thirdparty.feature
CODINGSTYLE.md                             sernet.client.service                sernet.verinice.app.feature
COPYRIGHT.md                               sernet.client.service.handlerrights  sernet.verinice.bp.importer
dependencies                               sernet.datatools.feature             sernet.verinice.desktop.integration
doc                                        sernet.eclipse.feature               sernet.verinice.extraresources.feature
gnumail                                    sernet.gs.db.fragment                sernet.verinice.extraresources.jre_linux_64
gui-test-runner                            sernet.gs.ehcache.fragment           sernet.verinice.extraresources.jre_macos_64
jbpm                                       sernet.gs.hibernate.fragment         sernet.verinice.extraresources.jre_win_64
Jenkinsfile                                sernet.gs.log4j.fragment             sernet.verinice.fei.rcp
Jenkinsfile.nightly                        sernet.gs.pax_web.fragment           sernet.verinice.fei.service
Jenkinsfile.rcptt-all-report-tests         sernet.gs.reveng                     sernet.verinice.kerberos
Jenkinsfile.rcptt-client-performance-test  sernet.gs.server                     sernet.verinice.lang.feature
Jenkinsfile.rcptt-client-test              sernet.gs.server.feature             sernet.verinice.oda.driver
Jenkinsfile.rcptt-product-report-test      sernet.gs.server.tests               sernet.verinice.releng.client.product
Jenkinsfile.rcptt-server-performance-test  sernet.gs.service                    sernet.verinice.releng.server.product
Jenkinsfile.server-rcptt-test              sernet.gs.service.tests              sernet.verinice.report.service
LICENSE                                    sernet.gs.springweb.fragment         sernet.verinice.samt.rcp
mvnw                                       sernet.gs.ui.rcp.main                sernet.verinice.samt.service
mvnw.cmd                                   sernet.gs.ui.rcp.main.tests          target-platform
notes                                      sernet.hui.common                    TCOracle.pdf
org.eclipse.e4.rcp.sernet                  sernet.hui.swtclient                 verinice-distribution
pom.xml                                    sernet.localdependencies             verinice-gui-tests
README.md                                  sernet.rcp.ui.feature                waffle
SECURITY.md                                sernet.springclient
HINWEIS
Dies ist das Basisverzeichnis für alle weiteren Befehle

Java integrieren

Folgen Verzeichnisse müssen existieren

sernet.verinice.extraresources.jre_linux_64/jre/bin
sernet.verinice.extraresources.jre_win_64/jre/bin 
sernet.verinice.extraresources.jre_macos_64/jre/bin 
sernet.verinice.extraresources.jre_macos_64/jre/lib/jspawnhelper
$ mkdir -p sernet.verinice.extraresources.jre_linux_64/jre/bin sernet.verinice.extraresources.jre_win_64/jre/bin sernet.verinice.extraresources.jre_macos_64/jre/bin sernet.verinice.extraresources.jre_macos_64/jre/lib/jspawnhelper

Linux

$ cp -Lr $JAVA_HOME* sernet.verinice.extraresources.jre_linux_64/jre/

$ ls sernet.verinice.extraresources.jre_linux_64/jre
bin  conf  docs  legal  lib  man  release

Windows

$ wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_windows-x64_bin.zip -P /tmp

$ unzip /tmp/openjdk-11.0.2_windows-x64_bin.zip -d /tmp/openjdk-11.0.2_windows-x64_bin 

$ cp -Lr /tmp/openjdk-11.0.2_windows-x64_bin/* sernet.verinice.extraresources.jre_win_64/jre

$ ls sernet.verinice.extraresources.jre_win_64/jre
bin  conf  include  jmods  legal  lib  release

Mac

$ wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_osx-x64_bin.tar.gz -P /tmp

$ mkdir /tmp/openjdk-11.0.2_osx-x64_bin; tar --directory=/tmp/openjdk-11.0.2_osx-x64_bin -xf /tmp/openjdk-11.0.2_osx-x64_bin.tar.gz

$ cp -Lr /tmp/openjdk-11.0.2_osx-x64_bin/jdk-11.0.2.jdk/Contents/Home/* sernet.verinice.extraresources.jre_macos_64/jre/

$ ls sernet.verinice.extraresources.jre_macos_64/jre/
bin  conf  include  jmods  legal  lib  release

Verinice 1.23.1

In der Datei sernet.gs.server/pom.xml alle <url>http: durch <url>https: ersetzen

$ sed -i 's/http:/https:/g' sernet.gs.server/pom.xml

Kompilieren

Client, Update-Site und Server

$ ./mvnw -Dtycho.disableP2Mirrors=true -DskipTests clean verify
[...]

[INFO] Reactor Summary: [INFO] [INFO] sernet.verinice.tycho.root 1.23.1-SNAPSHOT ......... SUCCESS [ 0.677 s] [INFO] target-platform 1.23.1-SNAPSHOT .................... SUCCESS [ 0.076 s] [INFO] bouncycastle 1.46.1 ................................ SUCCESS [ 4.642 s] [INFO] gnumail 1.0.0-SNAPSHOT ............................. SUCCESS [ 0.023 s] [INFO] jbpm 4.4.1 ......................................... SUCCESS [ 0.074 s] [INFO] org.eclipse.e4.rcp.sernet 1.6.100-SNAPSHOT ......... SUCCESS [ 7.346 s] [INFO] sernet.birt.feature 1.23.1-SNAPSHOT ................ SUCCESS [ 28.662 s] [INFO] sernet.datatools.feature 1.23.1-SNAPSHOT ........... SUCCESS [ 8.577 s] [INFO] sernet.eclipse.feature 1.23.1-SNAPSHOT ............. SUCCESS [ 10.606 s] [INFO] sernet.gs.db.fragment 1.3.0 ........................ SUCCESS [ 0.149 s] [INFO] sernet.gs.ehcache.fragment 1.1.1 ................... SUCCESS [ 0.069 s] [INFO] sernet.gs.hibernate.fragment 1.2.0 ................. SUCCESS [ 0.030 s] [INFO] sernet.gs.log4j.fragment 1.1.3 ..................... SUCCESS [ 0.015 s] [INFO] sernet.gs.pax_web.fragment 1.23.1-SNAPSHOT ......... SUCCESS [ 0.013 s] [INFO] sernet.gs.reveng 1.2.0-SNAPSHOT .................... SUCCESS [ 2.897 s] [INFO] sernet.hui.common 1.1.1-SNAPSHOT ................... SUCCESS [ 0.261 s] [INFO] sernet.gs.service 1.23.1-SNAPSHOT .................. SUCCESS [ 2.131 s] [INFO] sernet.hui.swtclient 1.1.2-SNAPSHOT ................ SUCCESS [ 0.180 s] [INFO] sernet.springclient 1.3.0-SNAPSHOT ................. SUCCESS [ 0.215 s] [INFO] sernet.gs.ui.rcp.main 1.23.1-SNAPSHOT .............. SUCCESS [ 1.828 s] [INFO] sernet.verinice.oda.driver 1.0.0-SNAPSHOT .......... SUCCESS [ 0.216 s] [INFO] sernet.verinice.samt.service 0.1.0-SNAPSHOT ........ SUCCESS [ 0.100 s] [INFO] sernet.verinice.report.service 1.0.0-SNAPSHOT ...... SUCCESS [ 0.263 s] [INFO] sernet.verinice.fei.service 1.0.0-SNAPSHOT ......... SUCCESS [ 0.072 s] [INFO] sernet.gs.server 1.23.1-SNAPSHOT ................... SUCCESS [ 34.629 s] [INFO] sernet.gs.server.feature 1.1.1-SNAPSHOT ............ SUCCESS [ 0.027 s] [INFO] sernet.gs.springweb.fragment 1.2.0 ................. SUCCESS [ 0.010 s] [INFO] sernet.localdependencies 1.23.1-SNAPSHOT ........... SUCCESS [ 0.012 s] [INFO] sernet.verinice.fei.rcp 1.0.0-SNAPSHOT ............. SUCCESS [ 0.166 s] [INFO] sernet.verinice.samt.rcp 0.1.0-SNAPSHOT ............ SUCCESS [ 0.159 s] [INFO] sernet.verinice.desktop.integration 1.23.1-SNAPSHOT SUCCESS [ 0.083 s] [INFO] waffle 1.7.4 ....................................... SUCCESS [ 0.112 s] [INFO] sernet.verinice.kerberos 1.23.1-SNAPSHOT ........... SUCCESS [ 0.121 s] [INFO] sernet.rcp.ui.feature 1.0.0-SNAPSHOT ............... SUCCESS [ 0.060 s] [INFO] sernet.thirdparty.feature 1.23.1-SNAPSHOT .......... SUCCESS [ 10.146 s] [INFO] sernet.verinice.lang.feature 1.23.1-SNAPSHOT ....... SUCCESS [07:32 min] [INFO] sernet.verinice.extraresources.jre_linux_64 1.23.1-SNAPSHOT SUCCESS [ 5.623 s] [INFO] sernet.verinice.extraresources.jre_win_64 1.23.1-SNAPSHOT SUCCESS [ 4.408 s] [INFO] sernet.verinice.extraresources.jre_macos_64 1.23.1-SNAPSHOT SUCCESS [ 4.489 s] [INFO] sernet.verinice.extraresources.feature 1.0.0-SNAPSHOT SUCCESS [ 0.051 s] [INFO] sernet.verinice.app.feature 1.23.1-SNAPSHOT ........ SUCCESS [ 0.051 s] [INFO] sernet.verinice.releng.client.product 1.23.1-SNAPSHOT SUCCESS [02:00 min] [INFO] sernet.verinice.releng.server.product 1.23.1-SNAPSHOT SUCCESS [ 25.695 s] [INFO] sernet.verinice.bp.importer 1.0.0-SNAPSHOT ......... SUCCESS [ 0.112 s] [INFO] sernet.gs.server.tests 1.23.1-SNAPSHOT ............. SUCCESS [ 0.135 s] [INFO] sernet.gs.service.tests 1.23.1-SNAPSHOT ............ SUCCESS [ 0.086 s] [INFO] sernet.gs.ui.rcp.main.tests 1.23.1-SNAPSHOT ........ SUCCESS [ 0.145 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 17:20 min [INFO] Finished at: 2021-12-28T13:26:38+01:00 [INFO] ------------------------------------------------------------------------

Links

Intern

Weblinks

  1. https://github.com/SerNet/verinice
  2. https://forum.verinice.com/t/1-23-0-kompilieren/1512/7