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
> 

Reply via email to