aboutsummaryrefslogtreecommitdiffstats
path: root/tools/win-setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/win-setup.sh')
-rwxr-xr-xtools/win-setup.sh244
1 files changed, 0 insertions, 244 deletions
diff --git a/tools/win-setup.sh b/tools/win-setup.sh
deleted file mode 100755
index 023975f134..0000000000
--- a/tools/win-setup.sh
+++ /dev/null
@@ -1,244 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2013 Gerald Combs <gerald@wireshark.org>
-#
-# Wireshark - Network traffic analyzer
-# By Gerald Combs <gerald@wireshark.org>
-# Copyright 1998 Gerald Combs
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# The cygwin version of bash has an option to ignore the extra CR at
-# the end of a script line that would cause an error otherwise. Use this
-# option if supported.
-# Note: The following line must be the first non-comment line
-(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed as well
-
-err_exit () {
- echo ""
- echo "ERROR: $1"
- shift
- for str in "$@" ; do
- echo "$str"
- done
- echo ""
- exit 1
-}
-
-usage () {
- echo "Usage:"
- echo " $0 --appverify <appname> [<appname>] ..."
- echo " $0 --libverify <destination> <subdirectory> <package>"
- echo " $0 --download <destination> <subdirectory> <package> <tag> <platform>"
- echo " $0 --settag <destination> <tag>"
- echo " $0 --checktag <destination> <tag>"
- echo ""
- exit 1
-}
-
-# Try to find our proxy settings, and set http_proxy/use_proxy accordingly.
-find_proxy() {
- # Someone went to the trouble of configuring wget.
- if grep "^use_proxy *= *on" $HOME/.wgetrc > /dev/null 2>&1 ; then
- return
- fi
-
- # ...and wget can't fetch two registry keys because...?
- proxy_enabled=$(regtool get /HKCU/Software/Microsoft/Windows/CurrentVersion/Internet\ Settings/ProxyEnable 2>/dev/null | tr -d '\012')
- #
- # Bash's test command appears not to use short-circuit evaluation,
- # so
- #
- # -n "$proxy_enabled" -a "$proxy_enabled" -ne 0
- #
- # causes a complaint if "$proxy_enabled" is an empty string -
- # the first test fails, but the second test is done anyway,
- # and generates a complaint about the LHS of -ne not being
- # numeric. Therefore, we do the tests separately.
- #
- if [ -n "$proxy_enabled" ] ; then
- if [ "$proxy_enabled" -ne 0 ] ; then
- export http_proxy=$(regtool get /HKCU/Software/Microsoft/Windows/CurrentVersion/Internet\ Settings/ProxyServer 2>/dev/null)
- echo "Using Internet Explorer proxy settings."
- fi
- fi
-
- if [ -z "$http_proxy" -a -z "$HTTP_PROXY" ] ; then
- echo "No HTTP proxy specified (http_proxy and HTTP_PROXY are empty)."
- # a proxy might also be specified using .wgetrc, so don't switch off the proxy
- #use_proxy="-Y off"
- return
- fi
-
- # We found a proxy somewhere
- use_proxy="-Y on"
- if [ -z "$http_proxy" ] ; then
- echo "HTTP proxy ($HTTP_PROXY) has been specified and will be used."
- export http_proxy=$HTTP_PROXY
- else
- echo "HTTP proxy ($http_proxy) has been specified and will be used."
- fi
-}
-
-# Main
-TAG_FILE="current_tag.txt"
-if [ -z "$*" ] ; then
- usage
-fi
-case "$1" in
---appverify)
- shift
- if [ -z "$*" ] ; then
- usage
- fi
-
- echo "Checking for required applications:"
- which which > /dev/null 2>&1 || \
- err_exit "Can't find 'which'. Unable to proceed."
-
- MISSING_APPS=
- PATH_RE=""
- for APP in $* ; do
-
- case "$APP" in
- --windowsonly)
- PATH_RE="^/cygdrive/.*/"
- continue
- ;;
- --cygwinonly)
- PATH_RE="^/usr/.*/"
- continue
- ;;
- esac
-
- APP_PATH=$(cygpath --unix "$APP")
- if [ -x "$APP_PATH" -a ! -d "$APP_PATH" ] ; then
- APP_LOC="$APP_PATH"
- else
- APP_LOC=$(which "$APP_PATH" 2> /dev/null)
- fi
- echo "$APP_LOC" | grep "$PATH_RE" > /dev/null 2>&1
- IN_PATH=$?
- if [ "$APP_LOC" = "" -o $IN_PATH -ne 0 ] ; then
- MISSING_APPS="$MISSING_APPS $APP"
- else
- echo " $APP: $APP_LOC $res"
- fi
-
- PATH_RE=""
- done
-
- if [ -n "$MISSING_APPS" ]; then
- echo
- echo "Can't find: $MISSING_APPS"
- err_exit "These application(s) are either not installed or simply can't be found in the current PATH: $PATH." \
- "" "For additional help, please visit:" " http://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html"
- fi
- ;;
---libverify)
- if [ -z "$2" -o -z "$3" -o -z "$4" ] ; then
- usage
- fi
- DEST_PATH=$(cygpath "$2")
- PACKAGE_PATH=$4
- PACKAGE=$(basename "$PACKAGE_PATH")
- if [ ! -e "$DEST_PATH/$PACKAGE" ] ; then
- err_exit "Package $PACKAGE is needed but is apparently not downloaded; 'nmake -f ... setup' required ?"
- fi
- ;;
---download)
- if [ -z "$2" -o -z "$3" -o -z "$4" -o -z "$5" -o -z "$6" ] ; then
- usage
- fi
- DEST_PATH=$(cygpath "$2")
- DEST_SUBDIR=$3
- PACKAGE_PATH=$4
- DOWNLOAD_TAG=$5
- WIRESHARK_TARGET_PLATFORM=$6
-
- if [ -z "$WIRESHARK_TARGET_PLATFORM" ]; then
- err_exit "WIRESHARK_TARGET_PLATFORM not defined"
- fi
- # DOWNLOAD_PREFIX MUST be in the form
- # http://anonsvn.wireshark.org/wireshark-win32-libs/tags/<date>/packages
- # or
- # http://anonsvn.wireshark.org/wireshark-win64-libs/tags/<date>/packages
- # or
- # /packages to test uploads before creating the tag.
- #DOWNLOAD_PREFIX="http://anonsvn.wireshark.org/wireshark-$WIRESHARK_TARGET_PLATFORM-libs/trunk/packages"
- DOWNLOAD_PREFIX="http://anonsvn.wireshark.org/wireshark-$WIRESHARK_TARGET_PLATFORM-libs/tags/$DOWNLOAD_TAG/packages"
-
- PACKAGE=$(basename "$PACKAGE_PATH")
- echo ""
- echo "****** $PACKAGE ******"
- find_proxy
- echo "Downloading $4 into '$DEST_PATH', installing into $3"
- if [ ! -d "$DEST_PATH/$DEST_SUBDIR" ] ; then
- mkdir -p "$DEST_PATH/$DEST_SUBDIR" || \
- err_exit "Can't create '$DEST_PATH/$DEST_SUBDIR'"
- fi
- cd "$DEST_PATH" || err_exit "Can't find '$DEST_PATH'"
- PKG_PATH="$PWD"
- wget $use_proxy -nc "$DOWNLOAD_PREFIX/$PACKAGE_PATH" || \
- err_exit "Can't download $DOWNLOAD_PREFIX/$PACKAGE_PATH"
- cd "$DEST_SUBDIR" || err_exit "Can't find $DEST_SUBDIR"
- echo "Extracting '$PKG_PATH/$PACKAGE' into '$PKG_PATH/$DEST_SUBDIR'"
- if [[ "$PACKAGE" == *.zip ]] ; then
- unzip -oq "$PKG_PATH/$PACKAGE" ||
- err_exit "Couldn't unpack '$PKG_PATH/$PACKAGE'"
- echo "Verifying that the DLLs and EXEs in $DEST_SUBDIR are executable."
- # XX: Note that find will check *all* dlls/exes in DEST_SUBDIR and below
- # which may be more than those just unzipped depending upon DEST_SUBDIR.
- # This may cause extra repeated checks but will do no harm.
- for i in $(/usr/bin/find . \( -name '*\.dll' -o -name '*\.exe' \)) ; do
- if [ ! -x "$i" ] ; then
- echo "Changing file permissions (add executable bit) to:"
- echo "$i"
- chmod a+x "$i"
- fi
- done
- fi
- ;;
---settag)
- if [ -z "$2" -o -z "$3" ] ; then
- usage
- fi
- DEST_PATH=$(cygpath "$2")
- DOWNLOAD_TAG=$3
- echo "$DOWNLOAD_TAG" > "$DEST_PATH/$TAG_FILE"
- ;;
---checktag)
- if [ -z "$2" -o -z "$3" ] ; then
- usage
- fi
- DEST_PATH=$(cygpath "$2")
- WIN_PATH=$(cygpath --windows "$2")
- DOWNLOAD_TAG=$3
- LAST_TAG=$(cat "$DEST_PATH/$TAG_FILE" 2> /dev/null)
- if [ "$DOWNLOAD_TAG" != "$LAST_TAG" ] ; then
- if [ -z "$LAST_TAG" ] ; then
- LAST_TAG="(unknown)"
- fi
- err_exit \
- "The contents of '$WIN_PATH\\$TAG_FILE' is $LAST_TAG." \
- "It should be $DOWNLOAD_TAG."
- fi
- ;;
-*)
- usage
- ;;
-esac
-
-exit 0