Author: ewl-guest
Date: 2008-02-06 18:26:20 +0000 (Wed, 06 Feb 2008)
New Revision: 5616

Added:
   branches/freemind/BRANCH_0.8/debian/patches/54_better_freemind_sh.patch
Modified:
   branches/freemind/BRANCH_0.8/debian/freemind.sgml
Log:
Use a better freemind.sh script, with more DEBUG options.


Modified: branches/freemind/BRANCH_0.8/debian/freemind.sgml
===================================================================
--- branches/freemind/BRANCH_0.8/debian/freemind.sgml   2008-02-06 18:04:59 UTC 
(rev 5615)
+++ branches/freemind/BRANCH_0.8/debian/freemind.sgml   2008-02-06 18:26:20 UTC 
(rev 5616)
@@ -97,9 +97,11 @@
         <term><option>DEBUG</option>
         </term>
         <listitem>
-          <para>If  this environment variable is set, freemind gives more
-         information on how it finds its different elements, as well as some
-             other information.</para>
+          <para>If this environment variable is set and non-empty, freemind 
gives
+         more information on how it finds its different elements, as well as 
some
+          other information. If the variable contains 'exit', the script
+         exits without starting FreeMind, and if it contains 'script',
+         <command>set -x</command> is called.</para>
         </listitem>
       </varlistentry>
       <varlistentry>

Added: branches/freemind/BRANCH_0.8/debian/patches/54_better_freemind_sh.patch
===================================================================
--- branches/freemind/BRANCH_0.8/debian/patches/54_better_freemind_sh.patch     
                        (rev 0)
+++ branches/freemind/BRANCH_0.8/debian/patches/54_better_freemind_sh.patch     
2008-02-06 18:26:20 UTC (rev 5616)
@@ -0,0 +1,139 @@
+diff -Nur freemind-0.8.1/freemind/freemind.sh 
freemind-0.8.1.new/freemind/freemind.sh
+--- freemind-0.8.1/freemind/freemind.sh        2008-02-06 19:16:58.000000000 
+0100
++++ freemind-0.8.1.new/freemind/freemind.sh    2008-02-06 19:20:09.000000000 
+0100
+@@ -9,6 +9,18 @@
+ #             and enhance debug mode.
+ # 2005-11-08, adding commons-codec to classpath.
+ # 2005-11-09, add some dpkg/rpm information and check for Sun/Blackdown VM.
++# 2006-10-29, follow links to this script using readlink.
++# 2008-02-02, improve Java recognition, add lsb_release, fix -x which being 
empty
++#             add -Dgnu.java.awt.peer.gtk.Graphics=Graphics2D for non-Sun JREs
++# 2008-02-03, add debug values script and exit
++
++# we only want to test the script, not FreeMind itself
++if ( echo "${DEBUG}" | grep -qe "script" )
++then
++      set -x
++fi
++
++########## FUNCTIONS DEFINITIONS #######################################
+ 
+ _debug() {
+       if [ -n "${DEBUG}" ]
+@@ -64,22 +76,22 @@
+               then
+                       "$JAVACMD" -version >&2
+               fi
+-              if (! "${JAVACMD}" -version 2>&1 | grep -qe \
+-                      'Java(TM) 2 Runtime Environment, Standard Edition')
++              if (! "${JAVACMD}" -version 2>&1 | grep -qe 'Java(TM)')
+               then
+-                      _error "Your Java virtual machine is neither Sun nor 
Blackdown," \
++                      _error "Your Java is not a derivative from Sun's code," 
\
+                              "=======================================" \
+                              "FREEMIND WILL MOST PROBABLY *NOT* WORK," \
+                              "=======================================" \
+                              "define JAVACMD, JAVA_BINDIR, JAVA_HOME or PATH 
in order" \
+                              "to point to such a VM. See the manpage of 
freemind(1) for details."
+-                      return 0
++                      JAVA_TYPE=other
++              else
++                      JAVA_TYPE=sun
+               fi
+               return 0
+       else
+               _error "Couldn't find a java virtual machine," \
+-                     "define JAVACMD, JAVA_BINDIR, JAVA_HOME or PATH." \
+-                     "See the manpage of freemind(1) for details."
++                     "define JAVACMD, JAVA_BINDIR, JAVA_HOME or PATH."
+               return 1
+       fi
+ }
+@@ -92,26 +104,36 @@
+       fi
+ }
+ 
+-output_info() {
++output_debug_info() {
+       if [ -z "${DEBUG}" ]
+       then
+               return 0
+       fi
+       _debug "Freemind parameters are '[EMAIL PROTECTED]'."
+       _debug "$(uname -a)"
+-      if [ -x $(which dpkg) ]
++      if [ -x "$(which lsb_release 2>/dev/null)" ]
++      then
++              _debug "$(lsb_release -a)"
++      else
++              _debug "System is not LSB conform, 'lsb_release' does not 
exist."
++      fi
++      if [ -x "$(which dpkg 2>/dev/null)" ]
+       then
+               _debug "The following DEB packages are installed:"
+-              COLUMNS=132 dpkg -l \*freemind\* \*j\* | grep -v '<none>' >&2
+-      elif [ -x $(which rpm) ]
++              COLUMNS=132 dpkg -l | grep -i -e freemind >&2
++      elif [ -x "$(which rpm 2>/dev/null)" ]
+       then
+               _debug "The following RPM packages are installed:"
+-              rpm -qa | grep -i -e freemind -e j >&2
++              rpm -qa | grep -i -e freemind >&2
+       else
+               _debug "Neither dpkg nor rpm is installed."
+       fi
+ }
+ 
++########## START MAIN PART #############################################
++
++#--------- Put the environment together --------------------------------
++
+ _source /etc/freemind/freemindrc
+ _source ~/.freemind/freemindrc
+ 
+@@ -121,9 +143,18 @@
+       exit 1
+ fi
+ 
+-output_info
++output_debug_info
+ 
+-freepath=$(dirname "$0")
++if [ -L "$0" ] && [ -x $(which readlink) ]
++then # if the script is a link and we have 'readlink' to follow it
++      # -m should be faster and link does always resolve, else this script
++      # wouldn't be called, would it?
++      freefile=$(readlink -mn "$0")
++      _debug "Link '$0' resolved to '${freefile}'."
++else
++      freefile="$0"
++fi
++freepath=$(dirname "${freefile}")
+ freepath="${freepath%/bin}" # nothing happens if freemind is not installed
+                             # under something/bin
+ 
+@@ -156,6 +187,8 @@
+       cp /etc/freemind/patterns.xml ~/.freemind/patterns.xml
+ fi
+ 
++#--------- Call (at last) FreeMind -------------------------------------
++
+ # The CLASSPATH also lets one specify additional jars, which is good, if
+ # you want to add a new Look&Feel jar (the motif one is so ugly...).
+ # 
+@@ -172,5 +205,13 @@
+ /usr/share/java/relaxngDatatype.jar:\
+ /usr/share/java/commons-codec.jar:\
+ ${freedir}"
+-_debug "Calling: '${JAVACMD} -Dgnu.java.awt.peer.gtk.Graphics=Graphics2D 
-Dfreemind.base.dir=${freedir} -cp ${CLASSPATH} freemind.main.FreeMind  $@'."
+-"${JAVACMD}" -Dgnu.java.awt.peer.gtk.Graphics=Graphics2D 
-Dfreemind.base.dir="${freedir}" -cp "${CLASSPATH}" freemind.main.FreeMind "$@"
++if [ "${JAVA_TYPE}" = "sun" ]
++then
++      _debug "Calling: '${JAVACMD} -Dfreemind.base.dir=${freedir} -cp 
${CLASSPATH} freemind.main.FreeMindStarter  $@'."
++      ( echo "${DEBUG}" | grep -qe "exit" ) && exit 0 # do not start FreeMind
++      "${JAVACMD}" -Dfreemind.base.dir="${freedir}" -cp "${CLASSPATH}" 
freemind.main.FreeMindStarter "$@"
++else # non-Sun environments don't work currently.
++      _debug "Calling: '${JAVACMD} 
-Dgnu.java.awt.peer.gtk.Graphics=Graphics2D -Dfreemind.base.dir=${freedir} -cp 
${CLASSPATH} freemind.main.FreeMindStarter  $@'."
++      ( echo "${DEBUG}" | grep -qe "exit" ) && exit 0 # do not start FreeMind
++      "${JAVACMD}" -Dgnu.java.awt.peer.gtk.Graphics=Graphics2D 
-Dfreemind.base.dir="${freedir}" -cp "${CLASSPATH}" 
freemind.main.FreeMindStarter "$@"
++fi


_______________________________________________
pkg-java-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-java-commits

Reply via email to