forked from openjdk/jdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
xtex edited this page Oct 25, 2024
·
20 revisions
https://github.com/openjdk/jdk
https://github.com/openjdk/jdkXXu
https://github.com/loongson/jdk
-
https://github.com/loongson/jdkXXu
(LTS Only) https://salsa.debian.org/openjdk-team/openjdk/tree/openjdk-XX
-
https://git.alpinelinux.org/aports/tree/community/openjdkXX
(LTS Only) https://github.com/AOSC-Tracking/jdk/tree/aosc/XX/XXXX
- default head
- https://wiki.openjdk.org/display/JDKUpdates
- https://github.com/openjdk/riscv-port-jdk11u
- 从上游拉取对应tag并创建对应分支
aosc/VER
- 拉取 loongson/jdk
loongarch-port
分支中,下一个版本的合并提交的第一父提交并squash合并 对于非LTS版本:对于LTS版本,直接在loongson对应的LTS仓库中寻找合并提交并挤压合并。git fetch [email protected]:loongson/jdk.git loongarch-port # 拉取移植上游 git merge-base FETCH_HEAD HEAD # 查找合并点 git log FETCH_HEAD --merges | grep -C20 86f9b3f52a06 # 查找合并提交 git merge 47b2742151965bfe073fba5fc22d2ae7a708a1dd --squash # 挤压合并 # 检查后提交,消息为 "FROM LOONGSON: loongarch port",请保留自动生成的 squash merge 消息 git log FETCH_HEAD --first-parent | grep -C150 47b2742 # 查找合并前后提交,一般会包括一些修复
- 检查上一版本的patch来源并重新apply上游更新,检查是否仍需要。
对于
FROM AOSC
的 patch,请手动判断是否需要并进行 cherry-pick - 检查 Debian 中是否有需要的patch(
https://salsa.debian.org/openjdk-team/openjdk/tree/openjdk-XX
) 请在patch前添加FROM DEBIAN:
前缀并在消息中使用Link:
tag 标记来源。 - 在 JDK BUG SYSTEM 翻找可能需要的patch(
https://bugs.openjdk.org/browse/JDK-8332724?jql=project%20%3D%20JDK%20AND%20statusCategory%20%3D%20Done%20AND%20affectedVersion%20~%2023%20AND%20type%20%3D%20Bug%20ORDER%20BY%20updated%20DESC
) 请在patch前添加FROM UPSTREAM:
前缀,由于 OpenJDK 上游提交均有 JDK BUG SYSTEM 的编号,故无需Link:
tag。 - 对于LTS版本,可查看 Alpine 的 patches (
https://git.alpinelinux.org/aports/tree/community/openjdkXX
) 请在patch前添加FROM ALPINE:
前缀并在消息中使用Link:
tag 标记来源。 - 更新 default branch
- 创建并推送 tag:
git tag aosc/XX/XX-ga/0 HEAD -fm 'openjdk-XX XX-ga-0'
优先使用。
- 将前一版本 OpenJDK 添加到
defines.stage2
的BUILDDEP
- 将
build.stage2
中的JDKBOOTDIR
设置为该 OpenJDK 的目录JDKBOOTDIR="/usr/lib/java"
- 修改
build.stage2
中的架构映射,并同步更改到build
外源JDK目前来源有:
- Temurin (Adoptium):
https://github.com/adoptium/temurinXX-binaries/releases/
BOOTSTRAP_ADOPTIUM
(JDK 版本),ADOPTIUM_ARCH
(架构映射) - LoongArchLinux: https://loongarchlinux.org/packages
BOOTSTRAP_LOONGARCH64_SUF
(包名后缀),BOOTSTRAP_LOONGARCH64
(该包的JDK大版本),LOONGARCH64_BOOT
(LoongArch架构标识) - Debian: https://packages.debian.org/sid/java/
BOOTSTRAP_DEBIAN
(Debian 版本,如sid
),DEBIAN_ARCH
(架构映射) - Alpine: https://pkgs.alpinelinux.org/packages
BOOTSTRAP_ALPINE
(Alpine 版本,如edge
),ALPINE_ARCH
(架构映射) 对于 Alpine 的 JDK,需要添加musl
作为构建依赖# needed for bootstraping from Alpine OpenJDK BUILDDEP__RISCV64="${BUILDDEP} musl"