summarylogtreecommitdiffstats
path: root/jdk.install
blob: 8c38f1ad48038a194b514213237cac7145576f02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
VERSION='<version>'
THIS_JAVA='java-${VERSION}-jdk'
NAME='JDK'

all_off="$(tput sgr0)"
bold="${all_off}$(tput bold)"
blue="${bold}$(tput setaf 4)"
yellow="${bold}$(tput setaf 3)"

note() {
    printf "${blue}::${yellow} archlinux-java:${bold} $1${all_off}\n"
}

note2() {
    printf "${blue}==>${yellow} NOTE:${bold} $1${all_off}\n"
}

post_install() {
    default=$(archlinux-java get)
    case ${default} in
        "")
            archlinux-java set ${THIS_JAVA}
            note "${NAME} ('${THIS_JAVA}') set as default Java environment."
            ;;
        ${THIS_JAVA})
            note "${NAME} ('${THIS_JAVA}') set as default Java environment."
            ;;
        *)
            note "Default Java environment already set to '${default}'.
                   To use ${NAME} ('${THIS_JAVA}'), run:
                     # archlinux-java set ${THIS_JAVA}
                   For status, use:
                     $ archlinux-java status"
            ;;
    esac

    if [[ ! -f /etc/ssl/certs/java/cacerts ]]; then
        update-ca-trust
    fi

    note2 "Since Oracle Java 9, some Qt 5 applications (such as the reader apps Zeal and
          GoldenDict) will crash due to the existance of the Java NPAPI plugin symlink
          (/usr/lib/mozilla/plugins/libnpjp2-jdk${VERSION}.so).
          
          See: 
          - https://github.com/zealdocs/zeal/issues/802
          - https://bbs.archlinux.org/viewtopic.php?id=231222"
}

post_upgrade() {
    post_install
}

pre_remove() {
    default=$(archlinux-java get)
    if [[ ${default} = ${THIS_JAVA} ]]; then
        archlinux-java unset
    fi
}

post_remove() {
    default=$(archlinux-java get) # reassign
    if [[ ${default} ]]; then
        note "Default Java environment is '${default}'."
    else
        archlinux-java fix
        default=$(archlinux-java get) # re-reassign
        if [[ ${default} ]]; then
            note "Default Java environment left as '${default}'."
        else
            note "Java environment unset."
        fi
    fi
}