diff --git a/programming/language/java/java-openjdk/actions.py b/programming/language/java/java-openjdk/actions.py
new file mode 100644
index 0000000000..aa2bc1e313
--- /dev/null
+++ b/programming/language/java/java-openjdk/actions.py
@@ -0,0 +1,110 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Licensed under the GNU General Public License, version 3.
+# See the file http://www.gnu.org/licenses/gpl.txt
+
+import subprocess
+from pisi.actionsapi import shelltools, pisitools, autotools
+from pisi.actionsapi import get
+from pisi.util import join_path
+
+_, _, _, update = get.srcVERSION().split('.')
+#jobs = "-j"+ subprocess.check_output("nproc 2>/dev/null", shell=True).rstrip("\n")
+jobs = subprocess.check_output("nproc 2>/dev/null", shell=True).rstrip("\n")
+
+jvm_dir = '/usr/lib/jvm/java-openjdk'
+img_dir = 'build/linux-%s-server-release/images' % get.ARCH()
+
+cflags = get.CFLAGS()
+cxxflags = get.CXXFLAGS()
+ldflags = get.LDFLAGS()
+
+pisitools.cflags.reset()
+pisitools.cxxflags.reset()
+pisitools.ldflags.reset()
+
+
+def setup():
+ shelltools.system(
+ 'bash configure \
+ --with-version-build="%s" \
+ --with-version-pre="" \
+ --with-version-opt="" \
+ --with-stdc++lib=dynamic \
+ --with-extra-cflags="%s -fcommon" \
+ --with-extra-cxxflags="%s -fcommon" \
+ --with-extra-ldflags="%s" \
+ --with-libjpeg=system \
+ --with-giflib=system \
+ --with-libpng=system \
+ --with-lcms=system \
+ --with-zlib=system \
+ --with-jvm-features=zgc \
+ --with-boot-jdk="%s" \
+ --enable-unlimited-crypto \
+ --disable-warnings-as-errors \
+ --with-num-cores="%s"' % (update, cflags, cxxflags, ldflags, jvm_dir, jobs)
+ )
+
+
+def build():
+ shelltools.system("make JOBS=%s images legacy-jre-image docs" % jobs)
+ shelltools.system("find '%s' -iname '*.so' -exec chmod +x {} \\;" % img_dir)
+
+
+# def check():
+# shelltools.system("make JOBS=%s -k check" % jobs)
+
+
+def install():
+ # Binaries
+ pisitools.insinto(jvm_dir, join_path(img_dir, 'jdk/bin'))
+
+ # Libraries
+ # pisitools.insinto(jvm_dir, join_path(img_dir, 'jre/lib'))
+ pisitools.insinto(jvm_dir, join_path(img_dir, 'jdk/lib'))
+
+ # Headers
+ pisitools.insinto(jvm_dir, join_path(img_dir, 'jdk/include'))
+
+ # Others
+ pisitools.insinto(jvm_dir, join_path(img_dir, 'jdk/release'))
+ pisitools.insinto(join_path(jvm_dir, 'lib'), join_path(img_dir, 'jdk/lib/modules'))
+ pisitools.insinto(jvm_dir, join_path(img_dir, 'jdk/demo'))
+ pisitools.insinto(jvm_dir, join_path(img_dir, 'jdk/jmods'))
+
+ # Configurations
+ pisitools.insinto('/etc/java-openjdk', join_path(img_dir, 'jre/conf/*'))
+ pisitools.dosym('/etc/java-openjdk', join_path(jvm_dir, 'conf'))
+
+ # Man pages
+ pisitools.doman(join_path(img_dir, 'jdk/man/man1/*'))
+
+ # Change man page file names to prevent conflict with other Java packages.
+ for man_file in shelltools.ls(join_path(get.installDIR(), 'usr/share/man/man1')):
+ pisitools.domove(
+ '/usr/share/man/man1/%s' % man_file,
+ '/usr/share/man/man1',
+ '%s-openjdk15.1' % man_file.replace('.1', '')
+ )
+
+ # Documentations
+ pisitools.insinto(join_path('/', get.docDIR(), 'java-openjdk'), join_path(img_dir, 'docs/*'))
+
+ # Licenses
+ pisitools.insinto('/usr/share/licenses/java-openjdk', join_path(img_dir, 'jre/legal/*'))
+ pisitools.dosym('/usr/share/licenses/java-openjdk', join_path(jvm_dir, 'legal'))
+
+ pisitools.remove("%s/lib/security/cacerts" % jvm_dir)
+ pisitools.dosym("/etc/ssl/certs/java/cacerts", "%s/lib/security/cacerts" % jvm_dir)
+
+ shelltools.system("rm -rf %s/%s/bin/*.debuginfo" %(get.installDIR(), jvm_dir))
+
+ # Icons
+ for size in [16, 24, 32, 48]:
+ pisitools.insinto(
+ "/usr/share/icons/hicolor/{size}x{size}/apps/".format(size=size),
+ "src/java.desktop/unix/classes/sun/awt/X11/java-icon%s.png" % size,
+ "java-openjdk.png"
+ )
diff --git a/programming/language/java/java-openjdk/comar/jdk_package.py b/programming/language/java/java-openjdk/comar/jdk_package.py
new file mode 100644
index 0000000000..1f5ab74dff
--- /dev/null
+++ b/programming/language/java/java-openjdk/comar/jdk_package.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+import os
+
+from pisi.util import join_path
+
+executables = (
+ 'jstatd', 'jshell', 'jarsigner', 'javap', 'jstack', 'javadoc', 'jdeprscan', 'jmap', 'jconsole',
+ 'jmod', 'jcmd', 'jar', 'javac', 'rmic', 'jps', 'serialver', 'jstat', 'jdb', 'jinfo', 'jhsdb',
+ 'jlink', 'jimage', 'jdeps'
+)
+bin_dir = '/usr/bin'
+jvm_dir = '/usr/lib/jvm/java-13-openjdk'
+
+
+def postInstall(fromVersion, fromRelease, toVersion, toRelease):
+ for executable in executables:
+ try:
+ os.system('update-alternatives --install %s %s %s 2' % (
+ join_path(bin_dir, executable), executable, join_path(jvm_dir, 'bin', executable)
+ ))
+ os.system('update-alternatives --auto %s' % executable)
+ except:
+ pass
+
+
+def postRemove():
+ for executable in executables:
+ try:
+ os.system('update-alternatives --remove %s %s' % (executable, join_path(jvm_dir, 'bin', executable)))
+ os.system('update-alternatives --auto %s' % executable)
+ except:
+ pass
diff --git a/programming/language/java/java-openjdk/comar/jre_package.py b/programming/language/java/java-openjdk/comar/jre_package.py
new file mode 100644
index 0000000000..8915889f64
--- /dev/null
+++ b/programming/language/java/java-openjdk/comar/jre_package.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python
+
+import os
+
+from pisi.util import join_path
+
+executables = (
+ 'jaotc', 'java', 'jfr', 'jjs', 'jrunscript', 'keytool', 'pack200', 'rmid', 'rmiregistry', 'unpack200'
+)
+bin_dir = '/usr/bin'
+jvm_dir = '/usr/lib/jvm/java-13-openjdk'
+
+
+def postInstall(fromVersion, fromRelease, toVersion, toRelease):
+ for executable in executables:
+ try:
+ os.system('update-alternatives --install %s %s %s 2' % (
+ join_path(bin_dir, executable), executable, join_path(jvm_dir, 'bin', executable)
+ ))
+ os.system('update-alternatives --auto %s' % executable)
+ except:
+ pass
+
+
+def postRemove():
+ for executable in executables:
+ try:
+ os.system('update-alternatives --remove %s %s' % (executable, join_path(jvm_dir, 'bin', executable)))
+ os.system('update-alternatives --auto %s' % executable)
+ except:
+ pass
diff --git a/programming/language/java/java-openjdk/files/freedesktop-java.desktop b/programming/language/java/java-openjdk/files/freedesktop-java.desktop
new file mode 100644
index 0000000000..c79f8b61e7
--- /dev/null
+++ b/programming/language/java/java-openjdk/files/freedesktop-java.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=OpenJDK Java Runtime
+Name[fi]=OpenJDK Java - ajonaikainen ympäristö
+Comment=OpenJDK Java Runtime
+Comment[fi]=OpenJDK Java - ajonaikainen ympäristö
+Keywords=java;runtime
+Exec=/usr/lib/jvm/java-openjdk/bin/java -jar
+Terminal=false
+Type=Application
+Icon=java-openjdk
+MimeType=application/x-java-archive;application/java-archive;application/x-jar;
+NoDisplay=true
diff --git a/programming/language/java/java-openjdk/files/freedesktop-jconsole.desktop b/programming/language/java/java-openjdk/files/freedesktop-jconsole.desktop
new file mode 100644
index 0000000000..7acb963f51
--- /dev/null
+++ b/programming/language/java/java-openjdk/files/freedesktop-jconsole.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=OpenJDK Java Console
+Name[fi]=OpenJDK Java - konsoli
+Comment=OpenJDK Java Monitoring & Management Console
+Comment[fi]=OpenJDK Java - valvonta- ja hallintakonsoli
+Keywords=java;console;monitoring
+Exec=/usr/lib/jvm/java-openjdk/bin/jconsole
+Terminal=false
+Type=Application
+Icon=java-openjdk
+Categories=Application;System;
diff --git a/programming/language/java/java-openjdk/files/freedesktop-jshell.desktop b/programming/language/java/java-openjdk/files/freedesktop-jshell.desktop
new file mode 100644
index 0000000000..4b54953d69
--- /dev/null
+++ b/programming/language/java/java-openjdk/files/freedesktop-jshell.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=OpenJDK Java Shell
+Comment=OpenJDK Java Shell
+Keywords=java;shell
+Exec=/usr/lib/jvm/java-openjdk/bin/jshell
+Terminal=true
+Type=Application
+Icon=java-openjdk
+Categories=Application;System;
diff --git a/programming/language/java/java-openjdk/pspec.xml b/programming/language/java/java-openjdk/pspec.xml
new file mode 100644
index 0000000000..1295f994f4
--- /dev/null
+++ b/programming/language/java/java-openjdk/pspec.xml
@@ -0,0 +1,281 @@
+
+
+
+
+ java-openjdk
+ https://openjdk.java.net/
+
+ Safa Arıman
+ safa@ariman.gen.tr
+
+ GPLv2
+ app:gui
+ OpenJDK Java development kit
+ OpenJDK is a development environment for building applications, applets, and components using the Java programming language.
+ https://hg.openjdk.java.net/jdk-updates/jdk15u/archive/jdk-15.0.3+0.tar.gz
+
+ cpio
+ zip
+ unzip
+ cups-devel
+ libX11-devel
+ libXrender-devel
+ libXtst-devel
+ libXt-devel
+ libXext-devel
+ libXrandr-devel
+ alsa-lib-devel
+ freetype-devel
+ libjpeg-turbo-devel
+ giflib-devel
+ libpng-devel
+ lcms2-devel
+ fontconfig-devel
+ jdk-openjdk
+
+
+
+
+ jre-openjdk-headless
+ OpenJDK Java headless runtime environment
+
+ lcms2
+ freetype
+ libjpeg-turbo
+
+
+ /usr/lib/jvm/java-openjdk/bin/jaotc
+ /usr/lib/jvm/java-openjdk/bin/java
+ /usr/lib/jvm/java-openjdk/bin/jfr
+ /usr/lib/jvm/java-openjdk/bin/jjs
+ /usr/lib/jvm/java-openjdk/bin/jrunscript
+ /usr/lib/jvm/java-openjdk/bin/keytool
+ /usr/lib/jvm/java-openjdk/bin/pack200
+ /usr/lib/jvm/java-openjdk/bin/rmid
+ /usr/lib/jvm/java-openjdk/bin/rmiregistry
+ /usr/lib/jvm/java-openjdk/bin/unpack200
+ /usr/lib/jvm/java-openjdk/conf
+ /etc/java-openjdk
+ /usr/share/licenses/java-openjdk/java.base*
+ /usr/share/licenses/java-openjdk/java.compiler*
+ /usr/share/licenses/java-openjdk/java.datatransfer*
+ /usr/share/licenses/java-openjdk/java.desktop*
+ /usr/share/licenses/java-openjdk/java.instrument*
+ /usr/share/licenses/java-openjdk/java.logging*
+ /usr/share/licenses/java-openjdk/java.management*
+ /usr/share/licenses/java-openjdk/java.naming*
+ /usr/share/licenses/java-openjdk/java.net.http*
+ /usr/share/licenses/java-openjdk/java.prefs*
+ /usr/share/licenses/java-openjdk/java.rmi*
+ /usr/share/licenses/java-openjdk/java.scripting*
+ /usr/share/licenses/java-openjdk/java.se*
+ /usr/share/licenses/java-openjdk/java.security*
+ /usr/share/licenses/java-openjdk/java.smartcardio*
+ /usr/share/licenses/java-openjdk/java.sql*
+ /usr/share/licenses/java-openjdk/java.transaction.xa*
+ /usr/share/licenses/java-openjdk/java.xml*
+ /usr/share/licenses/java-openjdk/jdk.accessibility*
+ /usr/share/licenses/java-openjdk/jdk.aot*
+ /usr/share/licenses/java-openjdk/jdk.charsets*
+ /usr/share/licenses/java-openjdk/jdk.crypto*
+ /usr/share/licenses/java-openjdk/jdk.dynalink*
+ /usr/share/licenses/java-openjdk/jdk.httpserver*
+ /usr/share/licenses/java-openjdk/jdk.internal*
+ /usr/share/licenses/java-openjdk/jdk.jdwp.agent*
+ /usr/share/licenses/java-openjdk/jdk.jfr*
+ /usr/share/licenses/java-openjdk/jdk.jsobject*
+ /usr/share/licenses/java-openjdk/jdk.localedata*
+ /usr/share/licenses/java-openjdk/jdk.management*
+ /usr/share/licenses/java-openjdk/jdk.naming*
+ /usr/share/licenses/java-openjdk/jdk.net*
+ /usr/share/licenses/java-openjdk/jdk.pack*
+ /usr/share/licenses/java-openjdk/jdk.scripting.nashorn*
+ /usr/share/licenses/java-openjdk/jdk.sctp*
+ /usr/share/licenses/java-openjdk/jdk.security*
+ /usr/share/licenses/java-openjdk/jdk.unsupported*
+ /usr/share/licenses/java-openjdk/jdk.xml.dom*
+ /usr/share/licenses/java-openjdk/jdk.zipfs*
+ /usr/lib/jvm/java-openjdk/legal
+ /usr/share/licenses/jre-openjdk-headless
+ /usr/lib/jvm/java-openjdk/man
+ /usr/lib/jvm/java-openjdk/release
+ /usr/lib/jvm/java-openjdk/lib/modules
+ /usr/lib/jvm/java-openjdk/lib/security
+ /usr/lib/jvm/java-openjdk/lib/server
+ /usr/lib/jvm/java-openjdk/lib/tzdb.dat
+ /usr/lib/jvm/java-openjdk/lib/jvm.cfg
+ /usr/lib/jvm/java-openjdk/lib/jrt-fs.jar
+ /usr/lib/jvm/java-openjdk/lib/classlist
+ /usr/lib/jvm/java-openjdk/lib/jexec*
+ /usr/lib/jvm/java-openjdk/lib/jfr*
+ /usr/lib/jvm/java-openjdk/lib/jspawnhelper*
+ /usr/lib/jvm/java-openjdk/lib/libawt.*
+ /usr/lib/jvm/java-openjdk/lib/libawt_headless.*
+ /usr/lib/jvm/java-openjdk/lib/libdtcket*
+ /usr/lib/jvm/java-openjdk/lib/libextnet*
+ /usr/lib/jvm/java-openjdk/lib/libfontmanager*
+ /usr/lib/jvm/java-openjdk/lib/libinstrument*
+ /usr/lib/jvm/java-openjdk/lib/libj2gss*
+ /usr/lib/jvm/java-openjdk/lib/libj2pcsc*
+ /usr/lib/jvm/java-openjdk/lib/libj2pkcs11*
+ /usr/lib/jvm/java-openjdk/lib/libjaas*
+ /usr/lib/jvm/java-openjdk/lib/libjava*
+ /usr/lib/jvm/java-openjdk/lib/libjavajpeg*
+ /usr/lib/jvm/java-openjdk/lib/libjdwp*
+ /usr/lib/jvm/java-openjdk/lib/libjimage*
+ /usr/lib/jvm/java-openjdk/lib/libjli*
+ /usr/lib/jvm/java-openjdk/lib/libjsig*
+ /usr/lib/jvm/java-openjdk/lib/liblcms*
+ /usr/lib/jvm/java-openjdk/lib/libmanagement*
+ /usr/lib/jvm/java-openjdk/lib/libmlib_image*
+ /usr/lib/jvm/java-openjdk/lib/libnet*
+ /usr/lib/jvm/java-openjdk/lib/libnio*
+ /usr/lib/jvm/java-openjdk/lib/libprefs*
+ /usr/lib/jvm/java-openjdk/lib/librmi*
+ /usr/lib/jvm/java-openjdk/lib/libsctp*
+ /usr/lib/jvm/java-openjdk/lib/libsunec*
+ /usr/lib/jvm/java-openjdk/lib/libunpack*
+ /usr/lib/jvm/java-openjdk/lib/libverify*
+ /usr/lib/jvm/java-openjdk/lib/libzip*
+ /usr/lib/jvm/java-openjdk/lib/psfont*
+ /usr/share/man/man1/jaotc-openjdk15.1
+ /usr/share/man/man1/java-openjdk15.1
+ /usr/share/man/man1/jfr-openjdk15.1
+ /usr/share/man/man1/jjs-openjdk15.1
+ /usr/share/man/man1/jrunscript-openjdk15.1
+ /usr/share/man/man1/keytool-openjdk15.1
+ /usr/share/man/man1/pack200-openjdk15.1
+ /usr/share/man/man1/rmid-openjdk15.1
+ /usr/share/man/man1/rmiregistry-openjdk15.1
+ /usr/share/man/man1/unpack200-openjdk15.1
+
+
+ freedesktop-java.desktop
+ freedesktop-jconsole.desktop
+ freedesktop-jshell.desktop
+
+
+ System.Package
+
+
+
+
+ jre-openjdk
+ OpenJDK Java full runtime environment
+
+ jre-openjdk-headless
+ libXi
+ giflib
+ libX11
+ libpng
+ libXext
+ libXtst
+ alsa-lib
+ libXrender
+ libjpeg-turbo
+
+
+ /usr/lib/jvm/java-openjdk/lib/libawt_xawt*
+ /usr/lib/jvm/java-openjdk/lib/libjawt*
+ /usr/lib/jvm/java-openjdk/lib/libjsound*
+ /usr/lib/jvm/java-openjdk/lib/libsplashscreen*
+
+
+
+
+ jdk-openjdk
+ OpenJDK Java development kit
+
+ jre-openjdk-headless
+
+
+ /usr/lib/jvm/java-openjdk/bin/jstatd
+ /usr/lib/jvm/java-openjdk/bin/jshell
+ /usr/lib/jvm/java-openjdk/bin/jarsigner
+ /usr/lib/jvm/java-openjdk/bin/javap
+ /usr/lib/jvm/java-openjdk/bin/jstack
+ /usr/lib/jvm/java-openjdk/bin/javadoc
+ /usr/lib/jvm/java-openjdk/bin/jdeprscan
+ /usr/lib/jvm/java-openjdk/bin/jmap
+ /usr/lib/jvm/java-openjdk/bin/jconsole
+ /usr/lib/jvm/java-openjdk/bin/jmod
+ /usr/lib/jvm/java-openjdk/bin/jcmd
+ /usr/lib/jvm/java-openjdk/bin/jar
+ /usr/lib/jvm/java-openjdk/bin/javac
+ /usr/lib/jvm/java-openjdk/bin/rmic
+ /usr/lib/jvm/java-openjdk/bin/jps
+ /usr/lib/jvm/java-openjdk/bin/jpackage
+ /usr/lib/jvm/java-openjdk/bin/serialver
+ /usr/lib/jvm/java-openjdk/bin/jstat
+ /usr/lib/jvm/java-openjdk/bin/jdb
+ /usr/lib/jvm/java-openjdk/bin/jinfo
+ /usr/lib/jvm/java-openjdk/bin/jhsdb
+ /usr/lib/jvm/java-openjdk/bin/jlink
+ /usr/lib/jvm/java-openjdk/bin/jimage
+ /usr/lib/jvm/java-openjdk/bin/jdeps
+ /usr/lib/jvm/java-openjdk/include
+ /usr/lib/jvm/java-openjdk/demo
+ /usr/lib/jvm/java-openjdk/jmods
+ /usr/lib/jvm/java-openjdk/lib/ct.sym
+ /usr/lib/jvm/java-openjdk/lib/libsaproc*
+ /usr/lib/jvm/java-openjdk/lib/libdt_socket*
+ /usr/lib/jvm/java-openjdk/lib/libattach*
+ /usr/share/man/man1/jstatd-openjdk15.1
+ /usr/share/man/man1/jshell-openjdk15.1
+ /usr/share/man/man1/jarsigner-openjdk15.1
+ /usr/share/man/man1/javap-openjdk15.1
+ /usr/share/man/man1/jstack-openjdk15.1
+ /usr/share/man/man1/javadoc-openjdk15.1
+ /usr/share/man/man1/jdeprscan-openjdk15.1
+ /usr/share/man/man1/jmap-openjdk15.1
+ /usr/share/man/man1/jconsole-openjdk15.1
+ /usr/share/man/man1/jmod-openjdk15.1
+ /usr/share/man/man1/jcmd-openjdk15.1
+ /usr/share/man/man1/jar-openjdk15.1
+ /usr/share/man/man1/javac-openjdk15.1
+ /usr/share/man/man1/rmic-openjdk15.1
+ /usr/share/man/man1/jps-openjdk15.1
+ /usr/share/man/man1/serialver-openjdk15.1
+ /usr/share/man/man1/jstat-openjdk15.1
+ /usr/share/man/man1/jdb-openjdk15.1
+ /usr/share/man/man1/jinfo-openjdk15.1
+ /usr/share/man/man1/jhsdb-openjdk15.1
+ /usr/share/man/man1/jlink-openjdk15.1
+ /usr/share/man/man1/jimage-openjdk15.1
+ /usr/share/man/man1/jdeps-openjdk15.1
+ /usr/share/man/man1/jpackage-openjdk15.1
+ /usr/share/icons
+ /usr/share/applications
+ /usr/share/licenses/java-openjdk
+
+
+ System.Package
+
+
+
+
+ openjdk-src
+ OpenJDK Java sources
+
+ /usr/lib/jvm/java-openjdk/lib/src.zip
+
+
+
+
+ openjdk-doc
+ OpenJDK Java documentation
+
+ /usr/share/doc
+
+
+
+ 5
+
+ 2021-03-10
+ 15.0.3.0
+ First release
+ Safa Arıman
+ safa@ariman.gen.tr
+
+
+
diff --git a/programming/language/java/java-openjdk/translations.xml b/programming/language/java/java-openjdk/translations.xml
new file mode 100644
index 0000000000..df2b7202f7
--- /dev/null
+++ b/programming/language/java/java-openjdk/translations.xml
@@ -0,0 +1,8 @@
+
+
+
+ java-openjdk
+ OpenJDK Java 13 development kit
+ OpenJDK is a development environment for building applications, applets, and components using the Java programming language.
+
+