Skip to content

Instantly share code, notes, and snippets.

@stokito
Forked from simonswine/install-openjdk8-musl.sh
Last active October 10, 2024 22:01
Show Gist options
  • Save stokito/7dd425da5a12abce8b39dda1bd1106d7 to your computer and use it in GitHub Desktop.
Save stokito/7dd425da5a12abce8b39dda1bd1106d7 to your computer and use it in GitHub Desktop.

Revisions

  1. stokito revised this gist Aug 16, 2023. 1 changed file with 15 additions and 31 deletions.
    46 changes: 15 additions & 31 deletions install-openjdk8-musl.sh
    Original file line number Diff line number Diff line change
    @@ -1,37 +1,21 @@
    #!/bin/sh

    set -o errexit
    set -o nounset
    set -o pipefail
    set -x

    REVISION=8.212.04-r0
    URL=http://dl-cdn.alpinelinux.org/alpine/v3.10/community/armv7/
    # aarch64, armhf, armv7, ppc64le, s390x, x86, x86_64
    ARCH="armv7" # Turris Omnia
    REVISION="8.275.01-r0"
    DESTDIR="" # empty for root, you can set to /opt

    # Alpine v3.13 switched to musl v1.2.0 while TurrisOS 6.4.1 uses older musl v1.1.24
    # Use ldd command to see a musl version.
    # If it's newer then change the URL to https://dl-cdn.alpinelinux.org/alpine/edge/
    # You will also need to change the REVISION for the latest
    URL="https://dl-cdn.alpinelinux.org/alpine/v3.12/community/$ARCH"
    PACKAGES="openjdk8 openjdk8-jre openjdk8-jre-lib openjdk8-jre-base"

    old_pwd=$(pwd)
    tmp_dir=$(mktemp -d -t openjdk8-XXXXXXXXXX)
    trap "rm -rf $tmp_dir" EXIT

    cd "${tmp_dir}"

    for package in $PACKAGES; do
    curl -LO "${URL}/${package}-${REVISION}.apk"
    done

    # verify packages
    sha256sum -c <<EOF
    e2fce9ee7348e9322c542206c3c3949e40690716d65e9f0e44dbbfca95d59d8c openjdk8-8.212.04-r0.apk
    26ad786ff1ebeeb7cd24abee10bc56211a026a2d871cf161bb309563e1fcbabc openjdk8-jre-8.212.04-r0.apk
    947d5f72ed2dc367c97d1429158913c9366f9c6ae01b7311dd8546b10ded8743 openjdk8-jre-base-8.212.04-r0.apk
    c6a65402bf0a7051c60b45e1c6a8f4277a68a8b7e807078f20db17e0233dea8e openjdk8-jre-lib-8.212.04-r0.apk
    EOF

    for package in $PACKAGES; do
    tar xzf "${package}-${REVISION}.apk"
    # download and extract on the fly
    # apk files are just tar.gz with additional .PKGINFO and .SIGN.RSA files
    wget -q -O - "${URL}/${package}-${REVISION}.apk" | tar -xz -C "$DESTDIR" --exclude=.PKGINFO --exclude=.SIGN*
    done


    cd "${old_pwd}"

    mv $tmp_dir/usr/lib/jvm/java-1.8-openjdk /opt/java-1.8-openjdk
    export PATH="$PATH:$DESTDIR/usr/lib/jvm/java-8-openjdk/bin"
    echo "export PATH=\"$PATH:$DESTDIR/usr/lib/jvm/java-8-openjdk/bin\"" >> /etc/profile
  2. @simonswine simonswine created this gist Aug 11, 2019.
    37 changes: 37 additions & 0 deletions install-openjdk8-musl.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    #!/bin/sh

    set -o errexit
    set -o nounset
    set -o pipefail
    set -x

    REVISION=8.212.04-r0
    URL=http://dl-cdn.alpinelinux.org/alpine/v3.10/community/armv7/
    PACKAGES="openjdk8 openjdk8-jre openjdk8-jre-lib openjdk8-jre-base"

    old_pwd=$(pwd)
    tmp_dir=$(mktemp -d -t openjdk8-XXXXXXXXXX)
    trap "rm -rf $tmp_dir" EXIT

    cd "${tmp_dir}"

    for package in $PACKAGES; do
    curl -LO "${URL}/${package}-${REVISION}.apk"
    done

    # verify packages
    sha256sum -c <<EOF
    e2fce9ee7348e9322c542206c3c3949e40690716d65e9f0e44dbbfca95d59d8c openjdk8-8.212.04-r0.apk
    26ad786ff1ebeeb7cd24abee10bc56211a026a2d871cf161bb309563e1fcbabc openjdk8-jre-8.212.04-r0.apk
    947d5f72ed2dc367c97d1429158913c9366f9c6ae01b7311dd8546b10ded8743 openjdk8-jre-base-8.212.04-r0.apk
    c6a65402bf0a7051c60b45e1c6a8f4277a68a8b7e807078f20db17e0233dea8e openjdk8-jre-lib-8.212.04-r0.apk
    EOF

    for package in $PACKAGES; do
    tar xzf "${package}-${REVISION}.apk"
    done


    cd "${old_pwd}"

    mv $tmp_dir/usr/lib/jvm/java-1.8-openjdk /opt/java-1.8-openjdk