/[gentoo-x86]/eclass/java-vm-2.eclass
Gentoo

Diff of /eclass/java-vm-2.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.33 Revision 1.35
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/java-vm-2.eclass,v 1.33 2011/09/01 14:15:57 caster Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/java-vm-2.eclass,v 1.35 2011/10/29 14:36:34 caster Exp $
4 4
5# ----------------------------------------------------------------------------- 5# -----------------------------------------------------------------------------
6# @eclass-begin 6# @eclass-begin
7# @eclass-shortdesc Java Virtual Machine eclass 7# @eclass-shortdesc Java Virtual Machine eclass
8# @eclass-maintainer java@gentoo.org 8# @eclass-maintainer java@gentoo.org
22 22
23export WANT_JAVA_CONFIG=2 23export WANT_JAVA_CONFIG=2
24 24
25JAVA_VM_CONFIG_DIR="/usr/share/java-config-2/vm" 25JAVA_VM_CONFIG_DIR="/usr/share/java-config-2/vm"
26JAVA_VM_DIR="/usr/lib/jvm" 26JAVA_VM_DIR="/usr/lib/jvm"
27JAVA_VM_SYSTEM="/etc/java-config-2/current-system-vm"
27JAVA_VM_BUILD_ONLY="${JAVA_VM_BUILD_ONLY:-FALSE}" 28JAVA_VM_BUILD_ONLY="${JAVA_VM_BUILD_ONLY:-FALSE}"
28 29
29EXPORT_FUNCTIONS pkg_setup pkg_postinst pkg_prerm pkg_postrm 30EXPORT_FUNCTIONS pkg_setup pkg_postinst pkg_prerm pkg_postrm
30 31
31java-vm-2_pkg_setup() { 32java-vm-2_pkg_setup() {
35 VMHANDLE=${PN} 36 VMHANDLE=${PN}
36 fi 37 fi
37} 38}
38 39
39java-vm-2_pkg_postinst() { 40java-vm-2_pkg_postinst() {
40 # Set the generation-2 system VM, if it isn't set 41 # Set the generation-2 system VM, if it isn't set or the setting is invalid
41 if [[ -z "$(java-config-2 -f)" ]]; then 42 # Note that we cannot rely on java-config here, as it will silently recognize
43 # e.g. icedtea6-bin as valid system VM if icedtea6 is set but invalid (e.g. due
44 # to the migration to icedtea-6)
45 if [[ ! -L "${JAVA_VM_SYSTEM}" ]]; then
42 java_set_default_vm_ 46 java_set_default_vm_
47 else
48 local current_vm_path="$(readlink "${JAVA_VM_SYSTEM}")"
49 local current_vm="$(basename "${current_vm_path}")"
50 if [[ ! -L "${JAVA_VM_DIR}/${current_vm}" ]]; then
51 java_set_default_vm_
52 fi
43 fi 53 fi
44 54
45 java-vm_check-nsplugin 55 java-vm_check-nsplugin
46 java_mozilla_clean_ 56 java_mozilla_clean_
47 fdo-mime_desktop_database_update 57 fdo-mime_desktop_database_update
83 fi 93 fi
84 eselect java-nsplugin set ${extra_args} ${VMHANDLE} 94 eselect java-nsplugin set ${extra_args} ${VMHANDLE}
85} 95}
86 96
87java-vm-2_pkg_prerm() { 97java-vm-2_pkg_prerm() {
98 # Although REPLACED_BY_VERSION is EAPI=4, we shouldn't need to check EAPI for this use case
88 if [[ "$(java-config -f 2>/dev/null)" == "${VMHANDLE}" ]]; then 99 if [[ "$(java-config -f 2>/dev/null)" == "${VMHANDLE}" && -z "${REPLACED_BY_VERSION}" ]]; then
89 ewarn "It appears you are removing your system-vm!" 100 ewarn "It appears you are removing your system-vm!"
90 ewarn "Please run java-config -L to list available VMs," 101 ewarn "Please run java-config -L to list available VMs,"
91 ewarn "then use java-config -S to set a new system-vm!" 102 ewarn "then use java-config -S to set a new system-vm!"
92 fi 103 fi
93} 104}
113 124
114# TODO rename to something more evident, like install_env_file 125# TODO rename to something more evident, like install_env_file
115set_java_env() { 126set_java_env() {
116 debug-print-function ${FUNCNAME} $* 127 debug-print-function ${FUNCNAME} $*
117 128
118 has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" 129 if has ${EAPI:-0} 0 1 2 && ! use prefix ; then
130 ED="${D}"
131 EPREFIX=""
132 fi
119 133
120 local platform="$(get_system_arch)" 134 local platform="$(get_system_arch)"
121 local env_file="${ED}${JAVA_VM_CONFIG_DIR}/${VMHANDLE}" 135 local env_file="${ED}${JAVA_VM_CONFIG_DIR}/${VMHANDLE}"
122 local old_env_file="${ED}/etc/env.d/java/20${P}" 136 local old_env_file="${ED}/etc/env.d/java/20${P}"
123 if [[ ${1} ]]; then 137 if [[ ${1} ]]; then
154 local java_home=$(source "${env_file}"; echo ${JAVA_HOME}) 168 local java_home=$(source "${env_file}"; echo ${JAVA_HOME})
155 [[ -z ${java_home} ]] && die "No JAVA_HOME defined in ${env_file}" 169 [[ -z ${java_home} ]] && die "No JAVA_HOME defined in ${env_file}"
156 170
157 # Make the symlink 171 # Make the symlink
158 dodir "${JAVA_VM_DIR}" 172 dodir "${JAVA_VM_DIR}"
159 dosym ${java_home} ${JAVA_VM_DIR}/${VMHANDLE} \ 173 dosym ${java_home#${EPREFIX}} ${JAVA_VM_DIR}/${VMHANDLE} \
160 || die "Failed to make VM symlink at ${JAVA_VM_DIR}/${VMHANDLE}" 174 || die "Failed to make VM symlink at ${JAVA_VM_DIR}/${VMHANDLE}"
161} 175}
162 176
163# ----------------------------------------------------------------------------- 177# -----------------------------------------------------------------------------
164# @ebuild-function java-vm_revdep-mask 178# @ebuild-function java-vm_revdep-mask

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.35

  ViewVC Help
Powered by ViewVC 1.1.20