summaryrefslogtreecommitdiff
path: root/development/adoptopenjdk/adoptopenjdk.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/adoptopenjdk/adoptopenjdk.SlackBuild')
-rw-r--r--development/adoptopenjdk/adoptopenjdk.SlackBuild116
1 files changed, 76 insertions, 40 deletions
diff --git a/development/adoptopenjdk/adoptopenjdk.SlackBuild b/development/adoptopenjdk/adoptopenjdk.SlackBuild
index 8858c182ec..b72142f929 100644
--- a/development/adoptopenjdk/adoptopenjdk.SlackBuild
+++ b/development/adoptopenjdk/adoptopenjdk.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for adoptopenjdk
-# Copyright 2018 Sukma Wardana <sukma.wardana>
+# Copyright 2018 Sukma Wardana <sukma.wardana@mail.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software
# and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -21,61 +21,97 @@
# THE SOFTWARE.
PRGNAM=adoptopenjdk
-VERSION=${VERSION:-11+28}
+VERSION=${VERSION:-11.0.1+13}
BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
+ARCH=${ARCH:-$(uname -m)}
+TAG=${TAG:=_SBo} # Submission for SlackBuilds.org
+
+MAJORVER=${VERSION%+*}
+MINORVER=${VERSION#*+}
+
+# The name of openjdk provided by AdoptOpenJDK has structured :
+#
+# OpenJDK11-jdk_x64_linux_hotspot_11_28
+#
+# The extracted openjdk archive will show directory named :
+#
+# jdk-11+28
+
+TARNAM=OpenJDK11U-jdk_x64_linux_hotspot_${MAJORVER}_${MINORVER}.tar.gz
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
+PKG=${TMP}/package-${PRGNAM}
OUTPUT=${OUTPUT:-/tmp}
-if [ "${ARCH:-$(uname -m)}" != "x86_64" ]; then
+if [ "${ARCH}" != "x86_64" ]; then
echo "Architecture ${ARCH} is not supported."
exit 1
fi
LIBDIRSUFFIX="64"
+# Exit on most errors.
set -e
-MAJORVER=${VERSION%+*}
-MINORVER=${VERSION#*+}
+rm -rf ${PKG}
+mkdir -p ${TMP} ${PKG} ${OUTPUT}
-TARNAM=OpenJDK${MAJORVER}-jdk_x64_linux_hotspot_${MAJORVER}_${MINORVER}
+mkdir -p ${PKG}/usr/lib${LIBDIRSUFFIX}/${PRGNAM}${MAJORVER}
+# Extract start from sub-directory 1 level beneath
+cd ${PKG}/usr/lib${LIBDIRSUFFIX}/${PRGNAM}${MAJORVER}
+tar -xvzf ${CWD}/${TARNAM} --strip-components=1
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}${MAJORVER}
-cd $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}${MAJORVER}
-tar xvf $CWD/$TARNAM.tar.gz --strip-components=2
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-find ./man -type f -exec gzip -9 {} \;
-for i in $( find ./man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
-mkdir -p $PKG/etc/profile.d
-for SCRIPT in $PRGNAM.sh $PRGNAM.csh ; do
- sed -e "s;@MAJORVER@;$MAJORVER;" \
- < $CWD/${SCRIPT} \
- > $PKG/etc/profile.d/${SCRIPT}
- chmod 755 $PKG/etc/profile.d/${SCRIPT}
-done
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a release $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Define whether or not a symlink to libjvm.so library must
+# be created into /usr/lib${LIBDIRSUFFIX}. Can be set to "yes"
+# or "no". Default to "yes".
+if [ "${CREATE_LIBJVM_SYMLINK:-yes}" = "yes" ]; then
+ # Important Note:
+ # --------------
+ # This will create symlink under /usr/lib${LIBDIRSUFFIX}
+ cd ${PKG}/usr/lib${LIBDIRSUFFIX}
+ ln -sf ./${PRGNAM}${MAJORVER}/lib/server/libjvm.so \
+ ${PKG}/usr/lib${LIBDIRSUFFIX}/libjvm.so
+fi
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+# Add profile scripts.
+mkdir -p ${PKG}/etc/profile.d
+for SCRIPT in $(ls "${CWD}/profile.d/${PRGNAM}"*) ; do
+ sed -e "s;@MAJORVER@;${MAJORVER};" \
+ < ${SCRIPT} \
+ > ${PKG}/etc/profile.d/$(basename ${SCRIPT})
+ chmod 755 ${PKG}/etc/profile.d/*
+done
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+# Create documentation directory.
+mkdir -p ${PKG}/usr/doc/${PRGNAM}-${MAJORVER}
+# Copy documentation within OpenJDK binary.
+cd ${PKG}/usr/lib${LIBDIRSUFFIX}/${PRGNAM}${MAJORVER}
+cp -a release ${PKG}/usr/doc/${PRGNAM}-${MAJORVER}
+# Copy SlackBuild docfile.
+cat ${CWD}/${PRGNAM}.SlackBuild > \
+ ${PKG}/usr/doc/${PRGNAM}-${MAJORVER}/${PRGNAM}.SlackBuild
+
+# Create install directory.
+mkdir -p ${PKG}/install
+# Copy slack-desc into install directory.
+cat ${CWD}/slack-desc > ${PKG}/install/slack-desc
+
+# Strip some libraries and binaries
+(
+ cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Build the package.
+cd ${PKG}
+/sbin/makepkg -l y -c n ${OUTPUT}/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}