Add script to obtain bundled library versions from OpenJDK sources

Related: RHEL-103211
This commit is contained in:
Andrew Hughes 2025-07-08 22:38:23 +01:00
parent 743769933f
commit 4730944dfe
2 changed files with 87 additions and 0 deletions

View File

@ -2471,6 +2471,10 @@ exit 0
%endif
%changelog
* Wed Jul 09 2025 Antonio Vieiro <avieirov@redhat.com> - 1:21.0.8.0.1-0.1.ea
- Add script to obtain bundled library versions from OpenJDK sources
- Related: RHEL-103211
* Wed Jul 09 2025 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.8.0.1-0.1.ea
- Warn about bundled provide version bumps and backouts in openjdk_news.sh
- Related: RHEL-103211

83
scripts/get_bundle_versions.sh Executable file
View File

@ -0,0 +1,83 @@
#!/usr/bin/env sh
if [ $# -ne 1 ]; then
echo "Usage: $0 openjdk-root-directory"
exit 1
fi
JDKROOT=$1
#
# Freetype
#
FREETYPE=src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
if [ ! -f $JDKROOT/$FREETYPE ]; then
echo "freetype header not found!"
exit 2
fi
FREETYPE_VERSION=$(cat $JDKROOT/$FREETYPE | awk '/#define FREETYPE_MAJOR/ {MAJOR=$3} /#define FREETYPE_MINOR/ {MINOR=$3} /#define FREETYPE_PATCH/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}')
echo "# Version in ${FREETYPE}"
echo "Provides: bundled(freetype) = ${FREETYPE_VERSION}"
# giflib
GIFLIB=src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
if [ ! -f $JDKROOT/$GIFLIB ]; then
echo "giflib header not found!"
exit 2
fi
GIFLIB_VERSION=$(cat $JDKROOT/$GIFLIB| awk '/#define GIFLIB_MAJOR/ {MAJOR=$3} /#define GIFLIB_MINOR/ {MINOR=$3} /#define GIFLIB_RELEASE/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}')
echo "# Version in ${GIFLIB}"
echo "Provides: bundled(giflib) = ${GIFLIB_VERSION}"
# hatfbuzz
HARFBUZZ=src/java.desktop/share/native/libharfbuzz/hb-version.h
if [ ! -f $JDKROOT/$HARFBUZZ ]; then
echo "harfbuzz header not found!"
exit 2
fi
HARFBUZZ_VERSION=$(cat $JDKROOT/$HARFBUZZ | awk '/#define HB_VERSION_MAJOR/ {MAJOR=$3} /#define HB_VERSION_MINOR/ {MINOR=$3} /#define HB_VERSION_MICRO/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}')
echo "# Version in ${HARFBUZZ}"
echo "Provides: bundled(harfbuzz) = ${HARFBUZZ_VERSION}"
# lcms
LCMS=src/java.desktop/share/native/liblcms/lcms2.h
if [ ! -f $JDKROOT/$LCMS ]; then
echo "lcms header not found!"
exit 2
fi
LCMS_VERSION=$(cat $JDKROOT/$LCMS | awk '/#define LCMS_VERSION/ { MAJOR=int($3 / 1000); REST=$3 % 1000; MINOR=int(REST / 10); PATCH=REST % 10; } END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}')
echo "# Version in ${LCMS}"
echo "Provides: bundled(lcms2) = ${LCMS_VERSION}"
# jpeg
JPEG=src/java.desktop/share/native/libjavajpeg/jpeglib.h
if [ ! -f $JDKROOT/$JPEG ]; then
echo "jpeg header not found!"
exit 2
fi
JPEG_VERSION=$(cat $JDKROOT/$JPEG | awk '/#define JPEG_LIB_VERSION/ { VERSION=$3; MAJOR=int(VERSION / 10); MINOR=VERSION%10; } END {printf "%s.%c", MAJOR, (MINOR+96)}')
echo "# Version in ${JPEG}"
echo "Provides: bundled(libjpeg) = ${JPEG_VERSION}"
# png
PNG=src/java.desktop/share/native/libsplashscreen/libpng/png.h
if [ ! -f $JDKROOT/$PNG ]; then
echo "png header not found!"
exit 2
fi
PNG_VERSION=$(cat $JDKROOT/$PNG | awk '/#define PNG_LIBPNG_VER_STRING/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}')
echo "# Version in ${PNG}"
echo "Provides: bundled(libpng) = ${PNG_VERSION}"
# zlib
ZLIB=src/java.base/share/native/libzip/zlib/zlib.h
if [ ! -f $JDKROOT/$ZLIB ]; then
echo "zlib header not found!"
exit 2
fi
ZLIB_VERSION=$(cat $JDKROOT/$ZLIB | awk '/#define ZLIB_VERSION/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}')
echo "# Version in ${ZLIB}"
echo "Provides: bundled(zlib) = ${ZLIB_VERSION}"