On 2026/01/28 23:59, Kurt Miller wrote:
> Update to 11.0.30+7-1 GA:
> * Contains upstream bug and security fixes:
> https://openjdk.org/groups/vulnerability/advisories/2026-01-20
> * Add @pkgpath devel/jdk/1.8 to PLIST to not leave behind jdk-1.8.0
> when people upgrade.
> * Rename PATCH_VER to BUILD_VER to match what upstream calls this
> part of the version.
> * Additional gcc 15 fixes from upstream unmerged pull request
>
> Note the addition of the @pkgpath. There was some discussion on
> icb about if this should be added so that people upgrading will
> not leave behind jdk-1.8.0. I will note that when we obsoleted
> prior jdk's we did add @pkgpath like this.
>
> Tested on all supported arch.
>
> ok?
personally I think the @pkgpath does make sense, I'd prefer the
changeover to be a managed clean break rather than "if you're relying
on the old version then it works until an unspecified time when kernel
ABI changes"
needs a little note in faq/current.html (people using the jdk for things
from outside of packages may need to update JAVA_HOME in scripts etc).
so, ok with me as-is.
I've mirrored the distfile. btw you could s/http:/https:/ in all the jdk
Makefiles (will need a bump for the HOMEPAGE change unless updating
anyway).
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/jdk/11/Makefile,v
> diff -u -p -u -r1.68 Makefile
> --- Makefile 19 Dec 2025 15:02:41 -0000 1.68
> +++ Makefile 28 Jan 2026 23:07:57 -0000
> @@ -4,19 +4,18 @@ USE_NOBTCFI= Yes
> DPB_PROPERTIES= parallel
>
> COMMENT= OpenJDK Software Development Kit v${VERSION_STR}
> -BASE_VER= 11.0.29
> -PATCH_VER= 7
> +BASE_VER= 11.0.30
> +BUILD_VER= 7
> BSD_PORT_REL= 1
> -VERSION_STR= ${BASE_VER}+${PATCH_VER}-${BSD_PORT_REL}
> -PACKAGE_VER= ${BASE_VER}.${PATCH_VER}.${BSD_PORT_REL}
> +VERSION_STR= ${BASE_VER}+${BUILD_VER}-${BSD_PORT_REL}
> +PACKAGE_VER= ${BASE_VER}.${BUILD_VER}.${BSD_PORT_REL}
> PKGNAME= jdk-${PACKAGE_VER}
> PKGSTEM= jdk-11
> EPOCH= 0
> -REVISION= 1
>
> DIST_SUBDIR= jdk
> DISTNAME= jdk-${VERSION_STR}
> -WRKDIST= ${WRKDIR}/jdk11u-jdk-${BASE_VER}-${PATCH_VER}-${BSD_PORT_REL}
> +WRKDIST= ${WRKDIR}/jdk11u-jdk-${BASE_VER}-${BUILD_VER}-${BSD_PORT_REL}
> BOOTJDK_DATE= 20251101
>
> CATEGORIES= devel/jdk java
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/devel/jdk/11/distinfo,v
> diff -u -p -u -r1.34 distinfo
> --- distinfo 3 Nov 2025 13:37:48 -0000 1.34
> +++ distinfo 28 Jan 2026 23:07:57 -0000
> @@ -1,9 +1,9 @@
> -SHA256 (jdk/jdk-11.0.29+7-1.tar.gz) =
> 7R/tCn1lceW/+aBycociWEUWQ7pnQcACqPWL39j8mAM=
> +SHA256 (jdk/jdk-11.0.30+7-1.tar.gz) =
> XJYjuQCJg/B0eALjWOACLFSX0chzfwZKNGqSEbLTgSQ=
> SHA256 (jdk/openjdk-jdk11u-bootjdk-aarch64-20251101.tar.gz) =
> jF/p65MhOSy/QnGZDXP+3syJLpZCc/gROV30O83L8Og=
> SHA256 (jdk/openjdk-jdk11u-bootjdk-amd64-20251101.tar.gz) =
> LEfkAvzVOqxLTXoOEU0216n3RZqhJruiqcHjWXsNK5s=
> SHA256 (jdk/openjdk-jdk11u-bootjdk-i386-20251101.tar.gz) =
> 6mXRDPKRR94o4uLgwVmC77Dc1+mqB2VoAKR2AtIx6Vc=
> SHA256 (jdk/openjdk-jdk11u-bootjdk-sparc64-20251101.tar.gz) =
> w6qLZo8QCLBZ69KTA4zCtWrzvkqEvGRyLSj4eXVtE8Q=
> -SIZE (jdk/jdk-11.0.29+7-1.tar.gz) = 116785204
> +SIZE (jdk/jdk-11.0.30+7-1.tar.gz) = 116813062
> SIZE (jdk/openjdk-jdk11u-bootjdk-aarch64-20251101.tar.gz) = 115132436
> SIZE (jdk/openjdk-jdk11u-bootjdk-amd64-20251101.tar.gz) = 115763330
> SIZE (jdk/openjdk-jdk11u-bootjdk-i386-20251101.tar.gz) = 104868595
> Index: patches/patch-make_lib_Awt2dLibraries_gmk
> ===================================================================
> RCS file: patches/patch-make_lib_Awt2dLibraries_gmk
> diff -N patches/patch-make_lib_Awt2dLibraries_gmk
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-make_lib_Awt2dLibraries_gmk 28 Jan 2026 23:07:57 -0000
> @@ -0,0 +1,18 @@
> +Apply unmerged pull request from upstream:
> +
> +8286562: GCC 12 reports some compiler warnings
> +https://github.com/openjdk/jdk11u-dev/pull/3091
> +
> +Index: make/lib/Awt2dLibraries.gmk
> +--- make/lib/Awt2dLibraries.gmk.orig
> ++++ make/lib/Awt2dLibraries.gmk
> +@@ -578,7 +578,8 @@ else
> + # noexcept-type required for GCC 7 builds. Not required for GCC 8+.
> + # expansion-to-defined required for GCC 9 builds. Not required for GCC
> 10+.
> + HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor
> strict-overflow \
> +- maybe-uninitialized class-memaccess unused-result extra
> noexcept-type expansion-to-defined
> ++ maybe-uninitialized class-memaccess unused-result extra
> use-after-free noexcept-type \
> ++ expansion-to-defined
> + HARFBUZZ_DISABLED_WARNINGS_clang := unused-value
> incompatible-pointer-types \
> + tautological-constant-out-of-range-compare int-to-pointer-cast \
> + undef missing-field-initializers deprecated-declarations
> c++11-narrowing range-loop-analysis
> Index: patches/patch-src_hotspot_share_oops_array_hpp
> ===================================================================
> RCS file: patches/patch-src_hotspot_share_oops_array_hpp
> diff -N patches/patch-src_hotspot_share_oops_array_hpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_hotspot_share_oops_array_hpp 28 Jan 2026 23:07:57
> -0000
> @@ -0,0 +1,62 @@
> +Apply unmerged pull request from upstream:
> +
> +8286562: GCC 12 reports some compiler warnings
> +https://github.com/openjdk/jdk11u-dev/pull/3091
> +
> +Index: src/hotspot/share/oops/array.hpp
> +--- src/hotspot/share/oops/array.hpp.orig
> ++++ src/hotspot/share/oops/array.hpp
> +@@ -1,5 +1,5 @@
> + /*
> +- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights
> reserved.
> ++ * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights
> reserved.
> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> + *
> + * This code is free software; you can redistribute it and/or modify it
> +@@ -94,7 +94,7 @@ class Array: public MetaspaceObj { (protected)
> + Array(int length, T init) : _length(length) {
> + assert(length >= 0, "illegal length");
> + for (int i = 0; i < length; i++) {
> +- _data[i] = init;
> ++ data()[i] = init;
> + }
> + }
> +
> +@@ -102,12 +102,22 @@ class Array: public MetaspaceObj { (protected)
> +
> + // standard operations
> + int length() const { return _length; }
> +- T* data() { return _data; }
> ++
> ++ T* data() {
> ++ return reinterpret_cast<T*>(
> ++ reinterpret_cast<char*>(this) + base_offset_in_bytes());
> ++ }
> ++
> ++ const T* data() const {
> ++ return reinterpret_cast<const T*>(
> ++ reinterpret_cast<const char*>(this) + base_offset_in_bytes());
> ++ }
> ++
> + bool is_empty() const { return length() == 0; }
> +
> + int index_of(const T& x) const {
> + int i = length();
> +- while (i-- > 0 && _data[i] != x) ;
> ++ while (i-- > 0 && data()[i] != x) ;
> +
> + return i;
> + }
> +@@ -115,9 +125,9 @@ class Array: public MetaspaceObj { (protected)
> + // sort the array.
> + bool contains(const T& x) const { return index_of(x) >= 0; }
> +
> +- T at(int i) const { assert(i >= 0 && i< _length, "oob:
> 0 <= %d < %d", i, _length); return _data[i]; }
> +- void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, "oob:
> 0 <= %d < %d", i, _length); _data[i] = x; }
> +- T* adr_at(const int i) { assert(i >= 0 && i< _length, "oob:
> 0 <= %d < %d", i, _length); return &_data[i]; }
> ++ T at(int i) const { assert(i >= 0 && i< _length, "oob:
> 0 <= %d < %d", i, _length); return data()[i]; }
> ++ void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, "oob:
> 0 <= %d < %d", i, _length); data()[i] = x; }
> ++ T* adr_at(const int i) { assert(i >= 0 && i< _length, "oob:
> 0 <= %d < %d", i, _length); return &data()[i]; }
> + int find(const T& x) { return index_of(x); }
> +
> + T at_acquire(const int which);
> Index: patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp
> ===================================================================
> RCS file: patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp
> diff -N patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_hotspot_share_utilities_globalDefinitions_cpp 28 Jan
> 2026 23:07:57 -0000
> @@ -0,0 +1,26 @@
> +Apply unmerged pull request from upstream:
> +
> +8286562: GCC 12 reports some compiler warnings
> +https://github.com/openjdk/jdk11u-dev/pull/3091
> +
> +Index: src/hotspot/share/utilities/globalDefinitions.cpp
> +--- src/hotspot/share/utilities/globalDefinitions.cpp.orig
> ++++ src/hotspot/share/utilities/globalDefinitions.cpp
> +@@ -199,6 +199,17 @@ const char* type2name_tab[T_CONFLICT+1] = {
> + "*narrowklass*",
> + "*conflict*"
> + };
> ++const char* type2name(BasicType t) {
> ++ if (t < ARRAY_SIZE(type2name_tab)) {
> ++ return type2name_tab[t];
> ++ } else if (t == T_ILLEGAL) {
> ++ return "*illegal*";
> ++ } else {
> ++ fatal("invalid type %d", t);
> ++ return "invalid type";
> ++ }
> ++}
> ++
> +
> +
> + BasicType name2type(const char* name) {
> Index: patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp
> ===================================================================
> RCS file: patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp
> diff -N patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_hotspot_share_utilities_globalDefinitions_hpp 28 Jan
> 2026 23:07:57 -0000
> @@ -0,0 +1,21 @@
> +Apply unmerged pull request from upstream:
> +
> +8286562: GCC 12 reports some compiler warnings
> +https://github.com/openjdk/jdk11u-dev/pull/3091
> +
> +Index: src/hotspot/share/utilities/globalDefinitions.hpp
> +--- src/hotspot/share/utilities/globalDefinitions.hpp.orig
> ++++ src/hotspot/share/utilities/globalDefinitions.hpp
> +@@ -681,9 +681,10 @@ inline BasicType char2type(char c) {
> + extern char type2char_tab[T_CONFLICT+1]; // Map a BasicType to a jchar
> + inline char type2char(BasicType t) { return (uint)t < T_CONFLICT+1 ?
> type2char_tab[t] : 0; }
> + extern int type2size[T_CONFLICT+1]; // Map BasicType to result
> stack elements
> +-extern const char* type2name_tab[T_CONFLICT+1]; // Map a BasicType to a
> jchar
> +-inline const char* type2name(BasicType t) { return (uint)t < T_CONFLICT+1 ?
> type2name_tab[t] : NULL; }
> ++extern const char* type2name_tab[T_CONFLICT+1]; // Map a BasicType to a
> char*
> + extern BasicType name2type(const char* name);
> ++
> ++const char* type2name(BasicType t);
> +
> + // Auxiliary math routines
> + // least common multiple
> Index: patches/patch-src_java_base_unix_native_libjli_java_md_common_c
> ===================================================================
> RCS file:
> /cvs/ports/devel/jdk/11/patches/patch-src_java_base_unix_native_libjli_java_md_common_c,v
> diff -u -p -u -r1.1 patch-src_java_base_unix_native_libjli_java_md_common_c
> --- patches/patch-src_java_base_unix_native_libjli_java_md_common_c 5 Dec
> 2025 22:00:14 -0000 1.1
> +++ patches/patch-src_java_base_unix_native_libjli_java_md_common_c 28 Jan
> 2026 23:07:57 -0000
> @@ -1,15 +1,32 @@
> -error: '%s' directive output may be truncated writing up to 1023 bytes into
> a region of size between 2 and 1025 [-Werror=format-truncation=]
> -note: 'snprintf' output between 2 and 2048 bytes into a destination of size
> 1026
> +Apply unmerged pull request from upstream:
> +
> +8286562: GCC 12 reports some compiler warnings
> +https://github.com/openjdk/jdk11u-dev/pull/3091
>
> Index: src/java.base/unix/native/libjli/java_md_common.c
> --- src/java.base/unix/native/libjli/java_md_common.c.orig
> +++ src/java.base/unix/native/libjli/java_md_common.c
> -@@ -125,7 +125,7 @@ ProgramExists(char *name)
> +@@ -1,5 +1,5 @@
> + /*
> +- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights
> reserved.
> ++ * Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights
> reserved.
> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> + *
> + * This code is free software; you can redistribute it and/or modify it
> +@@ -125,10 +125,13 @@ ProgramExists(char *name)
> static char *
> Resolve(char *indir, char *cmd)
> {
> - char name[PATH_MAX + 2], *real;
> -+ char name[PATH_MAX * 2], *real;
> ++ char name[PATH_MAX + 1], *real;
> ++ int snprintf_result;
>
> - if ((JLI_StrLen(indir) + JLI_StrLen(cmd) + 1) > PATH_MAX) return 0;
> - JLI_Snprintf(name, sizeof(name), "%s%c%s", indir, FILE_SEPARATOR, cmd);
> +- if ((JLI_StrLen(indir) + JLI_StrLen(cmd) + 1) > PATH_MAX) return 0;
> +- JLI_Snprintf(name, sizeof(name), "%s%c%s", indir, FILE_SEPARATOR, cmd);
> ++ snprintf_result = JLI_Snprintf(name, sizeof(name), "%s%c%s", indir,
> FILE_SEPARATOR, cmd);
> ++ if ((snprintf_result < 0) || (snprintf_result >= (int)sizeof(name))) {
> ++ return NULL;
> ++ }
> + if (!ProgramExists(name)) return 0;
> + real = JLI_MemAlloc(PATH_MAX + 2);
> + if (!realpath(name, real))
> Index:
> patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java
> ===================================================================
> RCS file:
> /cvs/ports/devel/jdk/11/patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java,v
> diff -u -p -u -r1.2
> patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java
> --- patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java
> 11 Mar 2022 18:50:14 -0000 1.2
> +++ patches/patch-src_java_desktop_share_classes_sun_print_PSPrinterJob_java
> 28 Jan 2026 23:07:57 -0000
> @@ -1,7 +1,12 @@
> +Apply unmerged pull request from upstream:
> +
> +8286562: GCC 12 reports some compiler warnings
> +https://github.com/openjdk/jdk11u-dev/pull/3091
> +
> Index: src/java.desktop/share/classes/sun/print/PSPrinterJob.java
> --- src/java.desktop/share/classes/sun/print/PSPrinterJob.java.orig
> +++ src/java.desktop/share/classes/sun/print/PSPrinterJob.java
> -@@ -1620,7 +1620,7 @@ public class PSPrinterJob extends RasterPrinterJob {
> +@@ -1621,7 +1621,7 @@ public class PSPrinterJob extends RasterPrinterJob {
>
> String osname = System.getProperty("os.name");
> if (osname.equals("Linux") || osname.contains("OS X") ||
> osname.endsWith("BSD")) {
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/devel/jdk/11/pkg/PLIST,v
> diff -u -p -u -r1.14 PLIST
> --- pkg/PLIST 30 Jul 2024 01:45:00 -0000 1.14
> +++ pkg/PLIST 28 Jan 2026 23:07:57 -0000
> @@ -2,6 +2,7 @@
> @option is-branch
> @conflict jdk->=11v0,<12v0
> @pkgpath devel/jdk/11
> +@pkgpath devel/jdk/1.8
> jdk-11/
> jdk-11/bin/
> @bin jdk-11/bin/jar
>