summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Peter Christen <mc@yacy.net>2023-08-31 17:52:30 +0200
committerMichael Peter Christen <mc@yacy.net>2023-08-31 17:52:30 +0200
commit6bd5f49c412be8edaadc5bc707dcd2a521207da5 (patch)
tree53869f51c21e5ae8d99ac18dbf352cb3b5bf524f
parent376bcfd54c08d4408fd8258fe702e60a9ac9cf8f (diff)
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
-rw-r--r--README.md4
-rw-r--r--build.nsi2
-rw-r--r--build.properties6
-rw-r--r--docker/Dockerfile4
-rw-r--r--docker/Dockerfile.ArchLinux14
-rw-r--r--docker/Dockerfile.aarch642
-rw-r--r--docker/Dockerfile.alpine4
-rw-r--r--docker/Dockerfile.armv74
-rw-r--r--docker/Readme.md2
9 files changed, 28 insertions, 14 deletions
diff --git a/README.md b/README.md
index a2e9921b1..cd7effafa 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ All these have (YaCy) search functionality combining all these locations into on
## 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.
See https://icedtea.classpath.org
@@ -178,7 +178,7 @@ git clone https://github.com/yacy/yacy_search_server
```
Compiling YaCy:
-- You need Java 1.8 and ant
+- You need Java 11 and ant
- See `ant -p` for the available ant targets
```
ant clean dist
diff --git a/build.nsi b/build.nsi
index cf21487be..b4badbb0e 100644
--- a/build.nsi
+++ b/build.nsi
@@ -159,7 +159,7 @@ Section "check Java 8 installed" Sec_Java_id
Retry:
ReadRegStr $InstalledJREVersion HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
- ${If} $InstalledJREVersion != "1.8"
+ ${If} $InstalledJREVersion != "11"
MessageBox MB_ICONEXCLAMATION|MB_YESNO "$(yacyNoJavaFoundOpenBrowser)" IDNO ContinueWithoutJava
ExecShell open "https://adoptium.net/de/temurin/releases/?version=8"
diff --git a/build.properties b/build.properties
index 28acc2ffb..940075c51 100644
--- a/build.properties
+++ b/build.properties
@@ -1,9 +1,9 @@
# defining some compiler arguments
-javacSource=1.8
-javacTarget=1.8
+javacSource=11
+javacTarget=11
# Release Configuration
-releaseVersion=1.926
+releaseVersion=1.930
releaseFileParentDir=yacy
privateKeyFile=private.key
diff --git a/docker/Dockerfile b/docker/Dockerfile
index b138ca764..28444c932 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -9,7 +9,7 @@
## 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 java -version
@@ -31,7 +31,7 @@ RUN sed -i "/adminAccountBase64MD5=/c\adminAccountBase64MD5=MD5:8cffbc0d66567a09
## build dist
-FROM eclipse-temurin:8-jre-focal
+FROM eclipse-temurin:11-jre-jammy
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/*
diff --git a/docker/Dockerfile.ArchLinux b/docker/Dockerfile.ArchLinux
index e1b637587..ea7d655d6 100644
--- a/docker/Dockerfile.ArchLinux
+++ b/docker/Dockerfile.ArchLinux
@@ -1,14 +1,18 @@
FROM archlinux:latest
+
# update the system and clean up
RUN pacman -Syu --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
RUN bash <(curl -sL https://get.graalvm.org/jdk) --no-progress && \
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 && \
archlinux-java set java-$JAVAVERSION-graalvm
+
# update the path variable
ENV PATH="/usr/lib/jvm/default/bin:${PATH}"
+
# set the JAVA_HOME variable
ENV JAVA_HOME="/usr/lib/jvm/default"
WORKDIR /opt
@@ -24,11 +28,14 @@ sh build.sh -f fetch.xml -Ddest=optional && \
sh build.sh -Ddist.dir=/opt/ant dist && \
cd .. && \
rm -rf ant-src
+
# set the ANT_HOME variable
ENV ANT_HOME="/opt/ant"
+
# set the PATH variable
ENV PATH="/opt/ant/bin:${PATH}"
RUN ant -f /opt/ant/fetch.xml -Ddest=system
+
# 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 && \
pacman -Scc --noconfirm
@@ -36,26 +43,31 @@ RUN useradd --no-create-home --shell=/bin/false build && \
usermod -L build
USER build
WORKDIR /tmp
+
# buid package for qt5-webkit from AUR
RUN git clone https://aur.archlinux.org/qt5-webkit.git && \
cd qt5-webkit && \
MAKEFLAGS="-j$(nproc)" makepkg --noconfirm && \
cd ..
USER root
+
# install the package
RUN pacman -U --noconfirm /tmp/qt5-webkit/qt5-webkit*.pkg.tar.zst && \
rm -rf /tmp/qt5-webkit
USER build
+
# build package for wkhtmltopdf from AUR
RUN git clone https://aur.archlinux.org/wkhtmltopdf.git && \
cd wkhtmltopdf && \
MAKEFLAGS="-j$(nproc)" makepkg --noconfirm --skippgpcheck && \
cd ..
USER root
+
# install the package
RUN pacman -U --noconfirm /tmp/wkhtmltopdf/wkhtmltopdf*.pkg.tar.zst && \
rm -rf /tmp/wkhtmltopdf
WORKDIR /opt
+
# download the latest version of yacy
RUN curl "https://codeload.github.com/yacy/yacy_search_server/zip/refs/heads/master" --output yacy.zip && \
pacman -S unzip --noconfirm && \
@@ -66,10 +78,12 @@ mv yacy_search_server-master yacy && \
cd yacy && \
ant compile -f build.xml && \
rm -rf /opt/yacy/.github
+
# 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 && \
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
+
# add the yacy user
RUN useradd --no-create-home --system yacy && \
usermod -L yacy && \
diff --git a/docker/Dockerfile.aarch64 b/docker/Dockerfile.aarch64
index b6f18a5b9..0f536c9a1 100644
--- a/docker/Dockerfile.aarch64
+++ b/docker/Dockerfile.aarch64
@@ -1,6 +1,6 @@
# 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
# Install needed packages not in base image
diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine
index e0b8d9600..627b5f0ef 100644
--- a/docker/Dockerfile.alpine
+++ b/docker/Dockerfile.alpine
@@ -1,7 +1,7 @@
# 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
-FROM openjdk:8-alpine
+# Base image : latest stable official jdk 11 image from Docker based on Alpine Linux
+FROM openjdk:11-alpine
# trace java version
RUN java -version
diff --git a/docker/Dockerfile.armv7 b/docker/Dockerfile.armv7
index 5b02eebd0..7a3134eac 100644
--- a/docker/Dockerfile.armv7
+++ b/docker/Dockerfile.armv7
@@ -1,7 +1,7 @@
# Build a docker image from latest YaCy sources
-# Base image : latest Debian stable official jdk 8 image from Docker
-FROM arm32v7/openjdk:8-jdk
+# Base image : latest Debian stable official jdk 11 image from Docker
+FROM arm32v7/openjdk:11-jdk
# 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)
diff --git a/docker/Readme.md b/docker/Readme.md
index bdfae5b76..b40a2a73a 100644
--- a/docker/Readme.md
+++ b/docker/Readme.md
@@ -20,7 +20,7 @@ cd yacy_search_server/docker
```
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 ../