svn commit: r303457 - in head/Tools/scripts: . dialogwrapper

Eitan Adler eadler at FreeBSD.org
Sat Sep 1 02:56:50 UTC 2012


Author: eadler
Date: Sat Sep  1 02:56:50 2012
New Revision: 303457
URL: http://svn.freebsd.org/changeset/ports/303457

Log:
  By request, move dialogwrapper to the main folder and fix the readme.
  
  Additionally, document the wrapper in the main readme

Added:
  head/Tools/scripts/dialogwrapper.sh
     - copied unchanged from r303448, head/Tools/scripts/dialogwrapper/dialogwrapper.sh
  head/Tools/scripts/dialogwrapper.txt
     - copied, changed from r303448, head/Tools/scripts/dialogwrapper/readme.txt
Deleted:
  head/Tools/scripts/dialogwrapper/
Modified:
  head/Tools/scripts/README

Modified: head/Tools/scripts/README
==============================================================================
--- head/Tools/scripts/README	Sat Sep  1 02:52:46 2012	(r303456)
+++ head/Tools/scripts/README	Sat Sep  1 02:56:50 2012	(r303457)
@@ -19,6 +19,8 @@ chkorigin.sh - checks all ports in the t
 close-pr  - a slightly hacked version of edit-pr(1) to quickly close PR.
 de-pkg-comment - converts pkg-comment to COMMENT (will be obsoleted when
                  the mass conversion is finished)
+dialogwrapper.sh - a wrapper for dialog(1) which provides extra features
+			and compatability
 distclean - compare md5 sums of distfiles in ports/distfiles with currently
             installed ports collection in ports/* and prompt to remove
             unmatched entries

Copied: head/Tools/scripts/dialogwrapper.sh (from r303448, head/Tools/scripts/dialogwrapper/dialogwrapper.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/Tools/scripts/dialogwrapper.sh	Sat Sep  1 02:56:50 2012	(r303457, copy of r303448, head/Tools/scripts/dialogwrapper/dialogwrapper.sh)
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# $FreeBSD$
+
+# dialog wrapper script
+
+AWK="/usr/bin/awk"
+DIALOG="/usr/bin/dialog"
+ECHO="/bin/echo"
+SED="/usr/bin/sed"
+STTY="/bin/stty"
+
+# get terminal size
+size=$( ${STTY} size )
+visheight="${size%%[$IFS]*}"
+visheight=$(($visheight-3))
+listheight=$(($visheight-6))
+viswidth="${size#*[$IFS]}"
+viswidth=$(($viswidth-10))
+descwidth=$(($viswidth-22))
+
+# test for a minimum version of dialog(1)
+DIALOG_VER="0"
+DIALOG_MIN="1.1-20100428"
+dialogout=$( ${DIALOG} --print-version 2>&1 )
+if [ $? -eq 0 ]; then
+  DIALOG_VER=$( ${ECHO} "$dialogout" | ${SED} -e 's/^[^0-9]*//' )
+  # only newer versions of dialog have --item-help
+  HAS_ITEM_HELP="1"
+fi
+
+# escape the menu title
+TITLE=$( ${AWK} -v title="$2" \
+	'BEGIN { gsub(/'\''/, "'\''\\'\'\''", title); print title }' )
+
+cmdstr=""
+[ "${HAS_ITEM_HELP}" ] && cmdstr="--item-help"
+cmdstr="$cmdstr $1 '$2' $visheight $viswidth $listheight"
+shift 5
+
+menulist=$(
+  varlist=
+  _maxvarlen=0
+  while [ $# -gt 0 ]; do
+    var="$1"
+    [ ${#var} -gt $_maxvarlen ] && export _maxvarlen=${#var}
+    varlist="$varlist${varlist:+
+}$var"
+    # build hashed environment variables
+    export _${var}_desc="$2"
+    export _${var}_val="$3"
+    shift 3
+  done
+  ${ECHO} "$varlist" \
+  | ${AWK} -v hasitemhelp="${HAS_ITEM_HELP}" -v viswid="$viswidth" '
+  {
+    var  = $1
+    desc = ENVIRON["_" var "_desc"]
+    val  = ENVIRON["_" var "_val"]
+    descwid = viswid -(ENVIRON["_maxvarlen"] + 12)
+    extdesc = ""
+    if ( length(desc) > descwid ) {
+      extdesc = substr(desc, descwid)
+      gsub(/'\''/, "'\''\\'\'\''", extdesc)
+      desc = substr(desc, 1, descwid - 1) "+"
+    }
+    gsub(/'\''/, "'\''\\'\'\''", desc)
+    printf "'\''%s'\'' '\''%s'\'' '\''%s'\''", var, desc, val
+    if ( hasitemhelp ) printf " '\''%s'\''", extdesc
+    printf "\n"
+  } '
+)
+
+eval ${DIALOG} $cmdstr $menulist
+status="$?"
+echo
+exit $status

Copied and modified: head/Tools/scripts/dialogwrapper.txt (from r303448, head/Tools/scripts/dialogwrapper/readme.txt)
==============================================================================
--- head/Tools/scripts/dialogwrapper/readme.txt	Fri Aug 31 22:36:00 2012	(r303448, copy source)
+++ head/Tools/scripts/dialogwrapper.txt	Sat Sep  1 02:56:50 2012	(r303457)
@@ -29,17 +29,11 @@ more features:
 
 Installation
 
-Download http://www.wonkity.com/~wblock/dialogwrapper/dialogwrapper.sh
-to /usr/ports/Tools/scripts.
-
-Make it executable.
-
 Edit /etc/make.conf:
 
   DIALOG="/usr/ports/Tools/scripts/dialogwrapper.sh"
 
 
-
 Testing long descriptions
 
 Open a terminal window and resize it, making it narrower than the
@@ -65,8 +59,6 @@ Open a terminal window and resize it, ma
   # cd /usr/ports/print/ghostscript9
   # make config
 
-
-
 Work remaining to be done
 
 Cleanup of the code and additional comments.



More information about the svn-ports-all mailing list