Migrated from java 8 to java 11. This step is required to upgrade certain packages, most important solr which will be migrated from 8.9 to 9.x

This commit is contained in:
Michael Peter Christen 2023-08-31 17:52:30 +02:00
parent 376bcfd54c
commit 6bd5f49c41
9 changed files with 28 additions and 14 deletions

View File

@ -61,7 +61,7 @@ All these have (YaCy) search functionality combining all these locations into on
## Dependencies? What other software do I need? ## Dependencies? What other software do I need?
You need Java 1.8 or later to run YaCy. (No Apache, Tomcat or MySQL or anything else) You need Java 11 or later to run YaCy. (No Apache, Tomcat or MySQL or anything else)
YaCy also runs on IcedTea 3. YaCy also runs on IcedTea 3.
See https://icedtea.classpath.org See https://icedtea.classpath.org
@ -178,7 +178,7 @@ git clone https://github.com/yacy/yacy_search_server
``` ```
Compiling YaCy: Compiling YaCy:
- You need Java 1.8 and ant - You need Java 11 and ant
- See `ant -p` for the available ant targets - See `ant -p` for the available ant targets
``` ```
ant clean dist ant clean dist

View File

@ -159,7 +159,7 @@ Section "check Java 8 installed" Sec_Java_id
Retry: Retry:
ReadRegStr $InstalledJREVersion HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" ReadRegStr $InstalledJREVersion HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
${If} $InstalledJREVersion != "1.8" ${If} $InstalledJREVersion != "11"
MessageBox MB_ICONEXCLAMATION|MB_YESNO "$(yacyNoJavaFoundOpenBrowser)" IDNO ContinueWithoutJava MessageBox MB_ICONEXCLAMATION|MB_YESNO "$(yacyNoJavaFoundOpenBrowser)" IDNO ContinueWithoutJava
ExecShell open "https://adoptium.net/de/temurin/releases/?version=8" ExecShell open "https://adoptium.net/de/temurin/releases/?version=8"

View File

@ -1,9 +1,9 @@
# defining some compiler arguments # defining some compiler arguments
javacSource=1.8 javacSource=11
javacTarget=1.8 javacTarget=11
# Release Configuration # Release Configuration
releaseVersion=1.926 releaseVersion=1.930
releaseFileParentDir=yacy releaseFileParentDir=yacy
privateKeyFile=private.key privateKeyFile=private.key

View File

@ -9,7 +9,7 @@
## build app ## build app
FROM eclipse-temurin:8-jdk-focal AS appbuilder FROM eclipse-temurin:11-jdk-jammy AS appbuilder
RUN apt-get update && apt-get install -yq ant git curl wkhtmltopdf imagemagick xvfb ghostscript && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -yq ant git curl wkhtmltopdf imagemagick xvfb ghostscript && rm -rf /var/lib/apt/lists/*
RUN java -version RUN java -version
@ -31,7 +31,7 @@ RUN sed -i "/adminAccountBase64MD5=/c\adminAccountBase64MD5=MD5:8cffbc0d66567a09
## build dist ## build dist
FROM eclipse-temurin:8-jre-focal FROM eclipse-temurin:11-jre-jammy
LABEL maintainer="Michael Peter Christen <mc@yacy.net>" LABEL maintainer="Michael Peter Christen <mc@yacy.net>"
RUN apt-get update && apt-get install -yq wkhtmltopdf imagemagick xvfb ghostscript && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -yq wkhtmltopdf imagemagick xvfb ghostscript && rm -rf /var/lib/apt/lists/*

View File

@ -1,14 +1,18 @@
FROM archlinux:latest FROM archlinux:latest
# update the system and clean up # update the system and clean up
RUN pacman -Syu --noconfirm && pacman -Scc --noconfirm RUN pacman -Syu --noconfirm && pacman -Scc --noconfirm
RUN pacman -Sy java-runtime-common wget --noconfirm && pacman -Scc --noconfirm RUN pacman -Sy java-runtime-common wget --noconfirm && pacman -Scc --noconfirm
# download latest version of graalvm and move it to /lib/jvm/java-{javaversion}-graalvm # download latest version of graalvm and move it to /lib/jvm/java-{javaversion}-graalvm
RUN bash <(curl -sL https://get.graalvm.org/jdk) --no-progress && \ RUN bash <(curl -sL https://get.graalvm.org/jdk) --no-progress && \
JAVAVERSION=$(ls ./ | grep graalvm | cut -d'-' -f3 | sed 's/java//g') && \ JAVAVERSION=$(ls ./ | grep graalvm | cut -d'-' -f3 | sed 's/java//g') && \
mv ./graalvm-ce-java$JAVAVERSION-$(ls ./ | grep graalvm | cut -d'-' -f4) /lib/jvm/java-$JAVAVERSION-graalvm && \ mv ./graalvm-ce-java$JAVAVERSION-$(ls ./ | grep graalvm | cut -d'-' -f4) /lib/jvm/java-$JAVAVERSION-graalvm && \
archlinux-java set java-$JAVAVERSION-graalvm archlinux-java set java-$JAVAVERSION-graalvm
# update the path variable # update the path variable
ENV PATH="/usr/lib/jvm/default/bin:${PATH}" ENV PATH="/usr/lib/jvm/default/bin:${PATH}"
# set the JAVA_HOME variable # set the JAVA_HOME variable
ENV JAVA_HOME="/usr/lib/jvm/default" ENV JAVA_HOME="/usr/lib/jvm/default"
WORKDIR /opt WORKDIR /opt
@ -24,11 +28,14 @@ sh build.sh -f fetch.xml -Ddest=optional && \
sh build.sh -Ddist.dir=/opt/ant dist && \ sh build.sh -Ddist.dir=/opt/ant dist && \
cd .. && \ cd .. && \
rm -rf ant-src rm -rf ant-src
# set the ANT_HOME variable # set the ANT_HOME variable
ENV ANT_HOME="/opt/ant" ENV ANT_HOME="/opt/ant"
# set the PATH variable # set the PATH variable
ENV PATH="/opt/ant/bin:${PATH}" ENV PATH="/opt/ant/bin:${PATH}"
RUN ant -f /opt/ant/fetch.xml -Ddest=system RUN ant -f /opt/ant/fetch.xml -Ddest=system
# install the latest version dependencies of Yacy (copied from the official Dockerfile) # install the latest version dependencies of Yacy (copied from the official Dockerfile)
RUN pacman -Sy imagemagick ruby qt5-tools qt5-doc gperf python xorg-server-xvfb ghostscript git qt5-svg qt5-xmlpatterns base-devel qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen hyphen-en hyphen-de woff2 cmake --noconfirm && \ RUN pacman -Sy imagemagick ruby qt5-tools qt5-doc gperf python xorg-server-xvfb ghostscript git qt5-svg qt5-xmlpatterns base-devel qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen hyphen-en hyphen-de woff2 cmake --noconfirm && \
pacman -Scc --noconfirm pacman -Scc --noconfirm
@ -36,26 +43,31 @@ RUN useradd --no-create-home --shell=/bin/false build && \
usermod -L build usermod -L build
USER build USER build
WORKDIR /tmp WORKDIR /tmp
# buid package for qt5-webkit from AUR # buid package for qt5-webkit from AUR
RUN git clone https://aur.archlinux.org/qt5-webkit.git && \ RUN git clone https://aur.archlinux.org/qt5-webkit.git && \
cd qt5-webkit && \ cd qt5-webkit && \
MAKEFLAGS="-j$(nproc)" makepkg --noconfirm && \ MAKEFLAGS="-j$(nproc)" makepkg --noconfirm && \
cd .. cd ..
USER root USER root
# install the package # install the package
RUN pacman -U --noconfirm /tmp/qt5-webkit/qt5-webkit*.pkg.tar.zst && \ RUN pacman -U --noconfirm /tmp/qt5-webkit/qt5-webkit*.pkg.tar.zst && \
rm -rf /tmp/qt5-webkit rm -rf /tmp/qt5-webkit
USER build USER build
# build package for wkhtmltopdf from AUR # build package for wkhtmltopdf from AUR
RUN git clone https://aur.archlinux.org/wkhtmltopdf.git && \ RUN git clone https://aur.archlinux.org/wkhtmltopdf.git && \
cd wkhtmltopdf && \ cd wkhtmltopdf && \
MAKEFLAGS="-j$(nproc)" makepkg --noconfirm --skippgpcheck && \ MAKEFLAGS="-j$(nproc)" makepkg --noconfirm --skippgpcheck && \
cd .. cd ..
USER root USER root
# install the package # install the package
RUN pacman -U --noconfirm /tmp/wkhtmltopdf/wkhtmltopdf*.pkg.tar.zst && \ RUN pacman -U --noconfirm /tmp/wkhtmltopdf/wkhtmltopdf*.pkg.tar.zst && \
rm -rf /tmp/wkhtmltopdf rm -rf /tmp/wkhtmltopdf
WORKDIR /opt WORKDIR /opt
# download the latest version of yacy # download the latest version of yacy
RUN curl "https://codeload.github.com/yacy/yacy_search_server/zip/refs/heads/master" --output yacy.zip && \ RUN curl "https://codeload.github.com/yacy/yacy_search_server/zip/refs/heads/master" --output yacy.zip && \
pacman -S unzip --noconfirm && \ pacman -S unzip --noconfirm && \
@ -66,10 +78,12 @@ mv yacy_search_server-master yacy && \
cd yacy && \ cd yacy && \
ant compile -f build.xml && \ ant compile -f build.xml && \
rm -rf /opt/yacy/.github rm -rf /opt/yacy/.github
# Set initial admin password: "yacy" (encoded with custom yacy md5 function net.yacy.cora.order.Digest.encodeMD5Hex()) # Set initial admin password: "yacy" (encoded with custom yacy md5 function net.yacy.cora.order.Digest.encodeMD5Hex())
RUN sed -i "/adminAccountBase64MD5=/c\adminAccountBase64MD5=MD5:8cffbc0d66567a0987a4aba1ec46d63c" /opt/yacy/defaults/yacy.init && \ RUN sed -i "/adminAccountBase64MD5=/c\adminAccountBase64MD5=MD5:8cffbc0d66567a0987a4aba1ec46d63c" /opt/yacy/defaults/yacy.init && \
sed -i "/adminAccountForLocalhost=/c\adminAccountForLocalhost=false" /opt/yacy/defaults/yacy.init && \ sed -i "/adminAccountForLocalhost=/c\adminAccountForLocalhost=false" /opt/yacy/defaults/yacy.init && \
sed -i "/server.https=false/c\server.https=true" /opt/yacy/defaults/yacy.init sed -i "/server.https=false/c\server.https=true" /opt/yacy/defaults/yacy.init
# add the yacy user # add the yacy user
RUN useradd --no-create-home --system yacy && \ RUN useradd --no-create-home --system yacy && \
usermod -L yacy && \ usermod -L yacy && \

View File

@ -1,6 +1,6 @@
# Build a docker image from latest YaCy sources # Build a docker image from latest YaCy sources
# Base image : latest Debian stable official jdk 8 image from Docker # Base image : latest Debian stable official jdk 17 image from Docker
FROM arm64v8/openjdk:17-buster FROM arm64v8/openjdk:17-buster
# Install needed packages not in base image # Install needed packages not in base image

View File

@ -1,7 +1,7 @@
# Build a docker image from latest YaCy sources on Alpine Linux # Build a docker image from latest YaCy sources on Alpine Linux
# Base image : latest stable official jdk 8 image from Docker based on Alpine Linux # Base image : latest stable official jdk 11 image from Docker based on Alpine Linux
FROM openjdk:8-alpine FROM openjdk:11-alpine
# trace java version # trace java version
RUN java -version RUN java -version

View File

@ -1,7 +1,7 @@
# Build a docker image from latest YaCy sources # Build a docker image from latest YaCy sources
# Base image : latest Debian stable official jdk 8 image from Docker # Base image : latest Debian stable official jdk 11 image from Docker
FROM arm32v7/openjdk:8-jdk FROM arm32v7/openjdk:11-jdk
# Install needed packages not in base image # Install needed packages not in base image
# (curl for sh scripts in /bin, and wkhtmltopdf,imagemagick,xvfb and ghostscript to enable PDF and image snapshot generation) # (curl for sh scripts in /bin, and wkhtmltopdf,imagemagick,xvfb and ghostscript to enable PDF and image snapshot generation)

View File

@ -20,7 +20,7 @@ cd yacy_search_server/docker
``` ```
Then according to the image type: Then according to the image type:
* `yacy/yacy_search_server:latest`: This image is based on latest stable official Debian stable [openjdk](https://hub.docker.com/_/openjdk/) 8 image provided by Docker. Embed Yacy compiled from latest git repository sources. * `yacy/yacy_search_server:latest`: This image is based on latest stable official Debian stable [openjdk](https://hub.docker.com/_/openjdk/) 11 image provided by Docker. Embed Yacy compiled from latest git repository sources.
``` ```
docker build -t yacy/yacy_search_server:latest -f Dockerfile ../ docker build -t yacy/yacy_search_server:latest -f Dockerfile ../