Группа :: Engineering
Пакет: imagej
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: imagej-1.53r-unix-script.patch
Скачать
Скачать
diff -Naur old/imagej.sh new/imagej.sh
--- old/imagej.sh 2022-05-31 09:41:01.115425825 -0400
+++ new/imagej.sh 2022-05-31 11:03:48.189864410 -0400
@@ -9,6 +9,9 @@
# Last modified date: $Date: 2008-09-17 10:31:27 +0100 (Wed, 17 Sep 2008) $
# $Revision: 51 $
#
+# This version of the script was further modified by Fabien Georget for Fedora,
+# 2010-10-30, and then by Benjamin Beasley for Fedora, 2022-05-30.
+#
# INSTALLATION INSTRUCTIONS
#
### WARNING ###########################################################
@@ -29,27 +32,21 @@
############ SITE SPECIFIC VARIABLES #########################
# Trailing / is not required for path variables
# IMAGEJ PATH - production installation
-ij_path='/local/ImageJ'
+ij_path='@JAVADIR@'
# Path to ImageJ development installation
-ij_path_dev='/home/jjackson/ImageJ'
+# ij_path_dev='/home/jjackson/ImageJ'
+# Path to installed data files
+ij_data_path='@PKGDATADIR@'
+# User directory
+ij_user_path="${HOME}/.imagej"
# JAVA PATH
-# assumes executable is ${java_home}/bin/java
-# set java_home variables ='' to use JAVA_HOME environment variable
-if [[ -d /usr/java/jdk1.5 ]] ; then
- java_home='/usr/java/jdk1.5'
-else
- # Optionally specify java path for all available OS / architecture combinations
- java_home_Linux="${ij_path}/jre"
- java_home_Linux_x86_64="${ij_path}/jre64"
- java_home_SunOS="${ij_path}/jre64"
- #
-fi
-ijadmin=''
+JAVA_HOME=$(dirname $(dirname $(readlink /etc/alternatives/java)))
+ijadmin='https://bugzilla.redhat.com/enter_bug.cgi?format=guided&product=Fedora'
# DOCUMENTATION URL
doc_url='http://rsb.info.nih.gov/ij/'
# TEMP FOLDER
-ij_tmp='/tmp/imagej'
+ij_tmp="${HOME}/.imagej/tmp"
# LOG FILE
#ij_log="${ij_tmp}/log.txt"
# default behaviour when an ImageJ window is already open
@@ -84,44 +81,57 @@
declare -i max_mem
declare -i free_mem
-java_home="${java_home:-$JAVA_HOME}"
-
-if [[ "$OS" == 'SunOS' ]] ; then
- java_arch='-d64'
- JAVA_HOME="${java_home_SunOS:-$java_home}"
- max_mem=`vmstat | awk 'BEGIN{maxMem='$max_64bit'} NR == 3 {fmem=int($5 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
- free_mem="max_mem"
- mem=${free_mem}/2
+if [[ "$processor" == 'x86_64' ]] ; then
+java_arch='-d64'
+max_mem=`free | awk -v maxMem=$max_64bit 'NR == 2 {fmem=int($2 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
+ free_mem=`free | awk -v maxMem=$max_64bit 'NR == 3 {fmem=int($4 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
+ mem=${free_mem}/3*2
if (( $mem > $default_mem || $mem < $min_mem )) ; then mem=$default_mem ; fi
-elif [[ "$OS" == 'Linux' ]] ; then
- if [[ "$processor" == 'x86_64' ]] ; then
- java_arch='-d64'
- JAVA_HOME="${java_home_Linux_x86_64:-$java_home}"
- max_mem=`free | awk -v maxMem=$max_64bit 'NR == 2 {fmem=int($2 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
- free_mem=`free | awk -v maxMem=$max_64bit 'NR == 3 {fmem=int($4 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
- mem=${free_mem}/3*2
- if (( $mem > $default_mem || $mem < $min_mem )) ; then mem=$default_mem ; fi
- else
- java_arch='-d32'
- JAVA_HOME="${java_home_Linux:-$java_home}"
- max_mem=`free | awk -v maxMem=$max_32bit 'NR == 2 {fmem=int($2 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
- free_mem=`free | awk -v maxMem=$max_32bit 'NR == 3 {fmem=int($4 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
- mem=${free_mem}/3*2
- if (( $mem > $default_mem || $mem < $min_mem )) ; then mem=$default_mem ; fi
- fi
+else
+ java_arch='-d32'
+max_mem=`free | awk -v maxMem=$max_32bit 'NR == 2 {fmem=int($2 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
+ free_mem=`free | awk -v maxMem=$max_32bit 'NR == 3 {fmem=int($4 / 1024); if (fmem < maxMem) {print fmem} else {print maxMem}}'`
+ mem=${free_mem}/3*2
+ if (( $mem > $default_mem || $mem < $min_mem )) ; then mem=$default_mem ; fi
fi
-# if tools.jar is not in ${ij_path}/jre/lib/ext/ edit the 'tools=' line
-# to point to tools.jar. The -compile switch will load tools.jar into the
-# classpath and enable plugins to be compiled in imagej
+# Create plugins, macros, luts dirs
+mkdir -p $ij_user_path/plugins
+mkdir -p $ij_user_path/macros
+mkdir -p $ij_user_path/luts
-if [[ -f "${ij_path}/tools.jar" ]] ; then
- tools="${ij_path}/tools.jar"
-else
- tools=''
+if [[ ! -d "$ij_tmp" ]] ; then
+ mkdir -p "$ij_tmp"
fi
+# Make symbolic links from shared plugins, macros and luts
+for x in plugins macros luts
+do
+ # Add new symlinks
+ find "${ij_data_path}/${x}" -mindepth 1 -maxdepth 1 |
+ while read -r p
+ do
+ if [[ ! -e "${ij_user_path}/${x}/$(basename "${p}")" ]]
+ then
+ ln -vs "${p}" "${ij_user_path}/${x}/"
+ fi
+ done
+ # Clean up broken symlinks into the shared directory
+ find "${ij_user_path}/${x}" -mindepth 1 -maxdepth 1 -type l -printf '%p %l\n' |
+ while read -r p l
+ do
+ if [[ ! -e "${p}" ]] && \
+ [[ "$(dirname "${l}")" = "${ij_data_path}/${x}" ]]
+ then
+ rm -vf "${p}"
+ fi
+ done
+done
+
+# enable plugins to be compiled with imageJ
+tools="${JAVA_HOME}/../lib/tools.jar"
+
# End Site specific variables ---------------------------------------------------------
# other variables
@@ -320,7 +330,7 @@
# Resolving ij.jar path. If ij.jar is a symbolic link to ij_<version>.jar
# this allows updating ij.jar without crashing running sessions
-ij_jar_path=$(derefln ${ij_path}/ij.jar)
+ij_jar_path="$(derefln "${ij_path}/imagej.jar")"
for mod_jar in ${ij_path}/lib/*jar ; do
modules="${modules:-}${modules+:}$mod_jar"
@@ -470,9 +480,9 @@
fi
if (( $verbosity > 0 )) ; then
- echo ${JAVA_HOME}/bin/java ${java_arch} -mx${mem}m ${modules} ij.ImageJ -ijpath ${ij_path} -port${count} ${images} ${macrocmd} ${macroargs}
+ echo ${JAVA_HOME}/bin/java -mx${mem}m ${modules} ij.ImageJ -ijpath ${ij_user_path} -port${count} ${images} ${macrocmd} ${macroargs}
fi
cd "$dir"
-eval "${JAVA_HOME}/bin/java ${java_arch} -mx${mem}m ${modules} ij.ImageJ -ijpath ${ij_path} -port${count} ${images} ${macrocmd} ${macroargs} "
+eval "${JAVA_HOME}/bin/java -mx${mem}m ${modules} ij.ImageJ -ijpath ${ij_user_path} -port${count} ${images} ${macrocmd} ${macroargs} "
exit 0