0

Initial commit

This commit is contained in:
eleksir
2023-11-19 18:01:40 +03:00
commit 80ec8a7529
586 changed files with 29486 additions and 0 deletions

35
openjdk7/README Normal file
View File

@@ -0,0 +1,35 @@
OpenJDK 7 is an open source implementation of version 7 of the
Java Development Kit, Standard Edition. It includes tools for
developing, testing, and running programs written in Java.
This build requires gcc5.
Before installing this package please consider any other jdk's/jre's
that you have already installed as they may cause conflicts with the
PATH, JAVA_HOME and MANPATH variables.
After installing the package you will need to logout/login to your
machine as it will add new files to the /etc/profile.d folder.
This script may take a couple of hours to complete and will require
about 11 GB of disk space for its temporary directory. It defaults to
"/tmp/SBo" and you may redefine it like this:
TMP=/your/temporary/dir ./openjdk7.SlackBuild
The 'cacerts' binary is a TrustStore containing CA certificates which
are used by Java applications. It is taken from the CentOS package
'ca-certificates-2015.2.4-65.0.1.el6_6.noarch.rpm'.
NOTES
1. The apache-ant in SBo (1.10.x) is incompatible with openjdk7,
so the script now uses the previous version (1.9.x) to build.
2. Currently this will only build on 64-bit. On 32-bit, it need to
link with the libstdc++ in gcc5 but tries to link with the default
/usr/lib/libstc++ and errors out with the message:
/usr/bin/ld: /usr/lib/libstdc++.so.6: \
undefined reference to `__divmoddi4@GCC_7.0.0'
Any help with this issue would be GREATLY appreciated.

BIN
openjdk7/cacerts Normal file

Binary file not shown.

189
openjdk7/openjdk7.SlackBuild Executable file
View File

@@ -0,0 +1,189 @@
#!/bin/bash
# Slackware build script for OpenJDK
# Copyright 2020 Strahil Yordanov, Sofia, Bulgaria
# Copyright 2021 Lenard Spencer, Orlando, Florida, USA
# COPYRIGHT 2023 Sergei Fedosoff <s.fedosov@gmail.com>
#
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=openjdk7
VERSION=${VERSION:-7u321}
BUILD=${BUILD:-2}
TAG=${TAG:-_EXs}
PKGTYPE=${PKGTYPE:-tgz}
DVER=1.7.0_$(printf $VERSION | cut -du -f2)
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm; echo "Unsupported arch $ARCH"; exit 1;;
*) ARCH=$( uname -m ) ;;
esac
fi
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/EXs}
BUILD_DIR=$TMP/$PRGNAM
SBO_PATCH_DIR="${BUILD_DIR}/jdk-archive-patch"
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
. $CWD/$PRGNAM.info || exit 1
ICEDTEA=`echo $DOWNLOAD | awk '{print $1}' | awk -F / '{print $NF}'`
ANT=`echo $DOWNLOAD | awk '{print $9}' | awk -F / '{print $NF}'`
ANT_HOME=$BUILD_DIR/${ANT%-bin*} # this overrides the "official" ANT_HOME
if [ "$ARCH" = "x86_64" ]; then
LIB_ARCH=amd64
LIBDIRSUFFIX="64"
else
LIB_ARCH=i386
LIBDIRSUFFIX=""
fi
# Check for the gcc5 package, and abort if not found:
if [ ! -x /usr/bin/gcc-5 ]; then
echo "This requires the gcc5 package to build."
echo "Please install gcc5 and rerun this script."
exit 1
else
source /etc/profile.d/gcc5.sh # Set the environment
fi
BOOT_JAVA=/usr/lib${LIBDIRSUFFIX}/jvm
function createPatchedJdkArchive() {
mkdir -p ${SBO_PATCH_DIR} && cd ${SBO_PATCH_DIR}
tar xvf "${CWD}/jdk.tar.bz2"
cd jdk-*
cat << EOF | patch -d ./src/share/classes/sun/security/util Optional.java
diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/Optional.java openjdk-boot/jdk/src/share/classes/sun/security/util/Optional.java
--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/Optional.java 2019-10-20 11:57:14.258731932 +0300
+++ openjdk-boot/jdk/src/share/classes/sun/security/util/Optional.java 2019-10-20 11:59:48.600721516 +0300
@@ -193,7 +193,7 @@
if (!isPresent())
return empty();
else {
- return Optional.ofNullable(mapper.apply(value));
+ return (Optional<U>) Optional.ofNullable(mapper.apply(value));
}
}
EOF
# Remove the sys/sysctl.h includes (they weren't being used anyway)
sed -i '/sys\/sysctl.h/d' src/solaris/native/java/net/PlainDatagramSocketImpl.c
sed -i '/sys\/sysctl.h/d' src/solaris/native/java/net/PlainSocketImpl.c
cd ..
tar -cvjSf jdk.tar.bz2 jdk-*
}
function fixJdkArchiveChecksum() {
local newChecksum=$(sha256sum "${SBO_PATCH_DIR}/jdk.tar.bz2" | awk '{print $1}')
sed -r -i "s/^(\s*JDK_SHA256SUM\s*=\s*).*$/\1${newChecksum}/" Makefile
}
set -e
rm -rf $BUILD_DIR $PKG
mkdir -p $TMP $BUILD_DIR $PKG $OUTPUT
(createPatchedJdkArchive)
cd $BUILD_DIR
tar -xvf $CWD/${ANT}
tar -xvf $CWD/${ICEDTEA}
mkdir icedtea-build
cd icedtea-build
# Set JAVA_HOME in order to avoid conflicts with other already installed JVMs.
JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$ANT_HOME/bin:$PATH ../${ICEDTEA%.tar*}/configure \
--disable-docs \
--disable-downloading \
--with-jdk-home=${BOOT_JAVA} \
--without-rhino \
--disable-system-kerberos \
--disable-system-pcsc \
--disable-system-sctp \
--disable-system-zlib \
--disable-compile-against-syscalls \
--with-cacerts-file="$CWD/cacerts" \
$(
# cacerts is taken from this CentOS package:
#+ http://mirror.centos.org/centos/6/os/x86_64/Packages/ca-certificates-2015.2.4-65.0.1.el6_6.noarch.rpm
# You can list its contents with this command (after you install this package:)
#+ 'keytool -v -list -keystore ./cacerts -storepass changeit'
# It's old and some certificates inside have already expired but without it some java programs
#+ may throw exceptions. It is meant as a dummy placehoder file.
) \
--with-openjdk-src-zip="$CWD/openjdk.tar.bz2" \
--with-corba-src-zip="$CWD/corba.tar.bz2" \
--with-jaxp-src-zip="$CWD/jaxp.tar.bz2" \
--with-jaxws-src-zip="$CWD/jaxws.tar.bz2" \
--with-jdk-src-zip="${SBO_PATCH_DIR}/jdk.tar.bz2" \
--with-langtools-src-zip="$CWD/langtools.tar.bz2" \
--with-hotspot-src-zip="$CWD/hotspot.tar.bz2"
fixJdkArchiveChecksum
JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH LOG=trace make -j$(nproc)
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
cd $PKG/usr/lib${LIBDIRSUFFIX}
cp -av $BUILD_DIR/icedtea-build/openjdk.build/j2sdk-image/ $PRGNAM
ln -sf $PRGNAM ${PRGNAM}${DVER}
ln -sf $PRGNAM/jre/lib/${LIB_ARCH}/server/libjvm.so .
chown -R root.root $PKG
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 {} \;
mkdir -p $PKG/etc/profile.d
for file in $(ls "$CWD/profile.d/${PRGNAM}"*) ; do
cat $file | sed -e "s#lib/openjdk#lib${LIBDIRSUFFIX}/openjdk#" \
> $PKG/etc/profile.d/$(basename $file)
done
chmod 755 $PKG/etc/profile.d/*
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/{THIRD_PARTY_README,LICENSE,ASSEMBLY_EXCEPTION} \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE

26
openjdk7/openjdk7.info Normal file
View File

@@ -0,0 +1,26 @@
PRGNAM="openjdk7"
VERSION="7u321"
HOMEPAGE="https://openjdk.java.net"
DOWNLOAD="https://icedtea.classpath.org/download/source/icedtea-2.6.28.tar.xz \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/openjdk.tar.bz2 \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/corba.tar.bz2 \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/jaxp.tar.bz2 \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/jaxws.tar.bz2 \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/jdk.tar.bz2 \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/langtools.tar.bz2 \
https://icedtea.classpath.org/download/drops/icedtea7/2.6.28/hotspot.tar.bz2 \
https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.16-bin.tar.bz2"
MD5SUM="11663b88a06f3461607c026510dd733a \
bcd48aa756a108cb437f07ed291436f9 \
5c16e53e461cf640842cec44f9a6264a \
9fe804632cfd4a47423a58a0171bc420 \
01120ce5103a1f1f8b79ad4f8ae1511d \
c4332b8442e438ac498f206c8851f68c \
ebbc311a2aa8afdf1dd4e3d2b7f55aba \
c168159cc98db90a5d14b077e2c49ae9 \
2a1ef0230e673b6da876a8fc9744b9a1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gcc5"
MAINTAINER="Sergei Fedosoff"
EMAIL="eleksir@gmail.com"

View File

@@ -0,0 +1,4 @@
#!/bin/csh
setenv JAVA_HOME /usr/lib/openjdk7
setenv MANPATH ${MANPATH}:${JAVA_HOME}/man
setenv PATH ${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin

View File

@@ -0,0 +1,4 @@
#!/bin/sh
export JAVA_HOME=/usr/lib/openjdk7
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"

19
openjdk7/slack-desc Normal file
View File

@@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
openjdk7: openjdk7 (OpenJDK 7 -- Open Implementation of JDK)
openjdk7:
openjdk7: OpenJDK 7 is an open source implementation of version 7 of the
openjdk7: Java Development Kit, Standard Edition. It includes tools for
openjdk7: developing, testing, and running programs written in Java.
openjdk7:
openjdk7:
openjdk7:
openjdk7:
openjdk7:
openjdk7: