Files
main/programming/language/java/java8-openjdk/actions.py
T
2026-06-04 10:35:33 +03:00

163 lines
8.1 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/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 get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
# 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")
jobs = subprocess.check_output("nproc 2>/dev/null", shell=True).decode("utf-8").rstrip("\n")
# jobs = "-j" + subprocess.check_output("nproc 2>/dev/null", shell=True).decode().strip()
shelltools.export("ALT_PARALLEL_COMPILE_JOBS", jobs)
shelltools.export("HOTSPOT_BUILD_JOBS", jobs)
shelltools.export("LC_ALL", "C")
def setup():
# 3.8.0 yama vurmak için openjdk yerine openjdk- dosyasına alındı geçici
# shelltools.system("sed -i 's|OPENJDK_CHANGESET) openjdk|OPENJDK_CHANGESET) openjdk-|g' Makefile.in")
shelltools.export("CFLAGS", "%s -std=gnu17 -fPIC -O3" % get.CFLAGS())
shelltools.export("CXXFLAGS", "%s -std=gnu++14 -fPIC -O3" % get.CXXFLAGS())
shelltools.export("CC", "gcc")
shelltools.export("CXX", "g++")
#shelltools.system('export DISTRIBUTION_PATCHES="patches/fontconfig-paths.diff \
#patches/openjdk7_nonreparenting-wm.diff"')
#patches/giflib_5.1.diff
# shelltools.move("icedtea8-*", "openjdk")
# shelltools.system("patch -p0 < openjdk-8-insantiate-arrayallocator.patch")
# shelltools.system("patch -p1 < openjdk-8.402_p06-0001-Fix-Wint-conversion.patch")
# shelltools.system("patch -p1 < openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch")
# shelltools.system("patch -p1 < openjdk-8.402_p06-0004-Fix-misc.-warnings.patch")
autotools.rawConfigure("\
--disable-tests \
--disable-Werror \
--with-parallel-jobs='%s' \
--enable-nss \
--disable-system-kerberos \
--disable-system-pcsc \
--disable-system-sctp \
--enable-bootstrap \
--with-jdk-home=/usr/lib/jvm/java-8-openjdk \
--with-ecj-jar=/usr/share/java/ecj.jar \
--with-vendor-name='PisiLinux' \
--with-pkgversion='PisiLinux build 8u.492_3.39.0' \
" % jobs.replace("-j", ""))
def build():
shelltools.system("make JOBS=%s" % jobs)
# autotools.make()
def check():
autotools.make("check -k")
def install():
jvmdir="/usr/lib/jvm/java-8-openjdk"
pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "HACKING", "README", "NEWS")
#cd main output directory
shelltools.cd("openjdk.build")
#---- install openjdk8-doc
pisitools.insinto("/usr/share/doc/openjdk8-doc", "docs/*")
#install openjdk8-src
pisitools.insinto(jvmdir, "images/j2sdk-image/src.zip")
#---- instal jdk8-openjdk
for d in ["include","lib","bin"]:
pisitools.insinto(jvmdir, "images/j2sdk-image/%s" % d)
for f in shelltools.ls("%s/usr/lib/jvm/java-8-openjdk/bin" % get.installDIR()):
if not f in ["java", "java-rmi.cgi", "keytool", "orbd",
"pack200", "policytool", "rmid", "rmiregistry",
"servertool", "tnameserv", "unpack200", "jjs", "clhsdb", "hsdb"]:
pisitools.dosym("/usr/lib/jvm/java-8-openjdk/bin/%s" % f, "/usr/bin/%s" % f)
#install man pages
for man in shelltools.ls("images/j2sdk-image/man/man1"):
pisitools.insinto("/usr/share/man/man1", "images/j2sdk-image/man/man1/%s" % man, "%s" % man)
for man in shelltools.ls("images/j2sdk-image/man/ja_JP.UTF-8/man1"):
pisitools.insinto("/usr/share/man/ja/man1", "images/j2sdk-image/man/ja_JP.UTF-8/man1/%s" % man, "%s" % man )
pisitools.insinto("/usr/share/applications", "../jconsole.desktop", "jconsole-jdk8.desktop")
shelltools.system("chmod go+r %s%s/lib/sa-jdi.jar" %(get.installDIR(), jvmdir))
#---- instal jre8-openjdk
pisitools.insinto("%s/jre/bin" % jvmdir , "images/j2sdk-image/jre/bin/*")
#pisitools.insinto("%s/jre/lib/amd64" % jvmdir , "j2sdk-image/jre/lib/amd64/xawt")
# for binfile in shelltools.ls("images/j2sdk-image/jre/bin"):
for binfile in shelltools.ls("%s/usr/lib/jvm/java-8-openjdk/jre/bin" % get.installDIR()):
pisitools.dosym("%s/jre/bin/%s" % (jvmdir, binfile), "/usr/bin/%s" % binfile)
pisitools.insinto("/usr/share/applications", "../policytool.desktop", "policytool-jdk8.desktop")
for size in [16, 24, 32, 48]:
fullsize = "%dx%d" % ((size, ) * 2)
pisitools.insinto("/usr/share/icons/hicolor/%s/apps/" % fullsize, "../openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon%d.png" % size, "java8.png")
#---- install jre8-openjdk-headless
pisitools.insinto("%s/jre/" % jvmdir , "images/j2sdk-image/jre/lib")
pisitools.insinto("%s/jre/bin" % jvmdir, "images/j2sdk-image/jre/bin/*")
#pisitools.rename("%s/jre/lib/fontconfig.Ubuntu.properties.src" % jvmdir , "fontconfig.properties")
#pisitools.rename("%s/jre/lib/fontconfig.Ubuntu.bfc" % jvmdir , "fontconfig.bfc")
#pisitools.remove("%s/jre/lib/fontconfig.*.bfc" % jvmdir)
#pisitools.remove("%s/jre/lib/fontconfig.*.properties.src" % jvmdir)
pisitools.domove("%s/jre/lib/*.properties*" % jvmdir,"/etc/java-8-openjdk/")
for propfile in shelltools.ls("%s/etc/java-8-openjdk/" % get.installDIR()):
pisitools.dosym("/etc/java-8-openjdk/%s" % propfile, "%s/jre/lib/%s" % (jvmdir, propfile))
pisitools.domove("%s/jre/lib/images/cursors/cursors.properties" % jvmdir,"/etc/java-8-openjdk/cursors/")
pisitools.dosym("/etc/java-8-openjdk/cursors/cursors.properties", "%s/jre/lib/images/cursors/cursors.properties" % jvmdir)
pisitools.rename("%s/jre/lib/management/jmxremote.password.template" % jvmdir , "jmxremote.password")
pisitools.rename("%s/jre/lib/management/snmp.acl.template" % jvmdir , "snmp.acl")
for f in ["management.properties", "jmxremote.access", "jmxremote.password", "snmp.acl"]:
pisitools.domove("%s/jre/lib/management/%s" % (jvmdir, f),"/etc/java-8-openjdk/management/")
pisitools.dosym("/etc/java-8-openjdk/management/%s" % f, "%s/jre/lib/management/%s" % (jvmdir, f))
for f in ["java.policy","java.security","nss.cfg"]:
pisitools.domove("%s/jre/lib/security/%s" % (jvmdir, f),"/etc/java-8-openjdk/security/")
pisitools.dosym("/etc/java-8-openjdk/security/%s" % f, "%s/jre/lib/security/%s" % (jvmdir, f))
#confs=os.listdir("%s/etc/java-8-openjdk/" % get.installDIR())
#for i in confs:
#shelltools.system("chmod 0644 %s/etc/java-8-openjdk/%s" % (get.installDIR, i))
#pisitools.domove("%s/jre/lib/fontconfig.bfc" % jvmdir,"/etc/java-8-openjdk/")
pisitools.domove("%s/jre/lib/amd64/jvm.cfg" % jvmdir,"/etc/java-8-openjdk/")
pisitools.dosym("/etc/java-8-openjdk/jvm.cfg" , "%s/jre/lib/amd64/jvm.cfg" % jvmdir)
for license in ["LICENSE", "THIRD_PARTY_README", "release", "ASSEMBLY_EXCEPTION"]:
pisitools.insinto("/usr/share/doc/jre8-openjdk-headless", "images/j2re-image/%s" % license)
pisitools.remove("%s/jre/lib/security/cacerts" % jvmdir)
#seems we need to add this symlink into ca-certificates-java package ?
pisitools.dosym("/etc/ssl/certs/java/cacerts", "%s/jre/lib/security/cacerts" % jvmdir)
pisitools.dosed("%s/usr/share/applications/policytool-jdk8.desktop" % get.installDIR(), "_JREBINDIR_", "/usr/lib/jvm/java-8-openjdk/jre/bin")
pisitools.dosed("%s/usr/share/applications/jconsole-jdk8.desktop" % get.installDIR(), "_SDKBINDIR_", "/usr/lib/jvm/java-8-openjdk/bin")
#icons
pisitools.dosed("%s/usr/share/applications/policytool-jdk8.desktop" % get.installDIR(), "Icon=java-1.8.0-openjdk", "Icon=java8-1.8.0-openjdk")
pisitools.dosed("%s/usr/share/applications/jconsole-jdk8.desktop" % get.installDIR(), "Icon=java-1.8.0-openjdk", "Icon=java8-1.8.0-openjdk")