macosx: Update macosx install script
authorKeith Packard <keithp@keithp.com>
Tue, 1 Sep 2020 03:52:43 +0000 (20:52 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 26 Sep 2020 03:07:39 +0000 (20:07 -0700)
Use dialog engine to monitor progress and get sudo password

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/Makefile.am
altosui/ask-pass [new file with mode: 0755]
altosui/install-macosx
micropeak/Makefile.am
telegps/Makefile.am

index b172b0227603f235f3d11b9188ba82a4ce18e152..6d4ed1bca79e4bfb5b4a150390f104f2f23c4e9c 100644 (file)
@@ -183,7 +183,7 @@ LINUX_FILES=$(FAT_FILES) $(LINUX_LIBS) $(FIRMWARE) $(DOC) $(desktop_file).in $(L
 LINUX_EXTRA=altosui-fat
 
 MACOSX_INFO_PLIST=Info.plist
-MACOSX_INSTALL=install-macosx
+MACOSX_INSTALL=install-macosx ask-pass
 MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(DOC) ReadMe-Mac.rtf $(MACOSX_ICONS) $(MACOSX_INSTALL)
 MACOSX_EXTRA=$(FIRMWARE)
 
diff --git a/altosui/ask-pass b/altosui/ask-pass
new file mode 100755 (executable)
index 0000000..605ccb7
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/bash
+osascript -e 'display dialog "Password:" with hidden answer default answer "" with title "Password for '$USER'"' -e 'text returned of result'
index aced4ab9280748189f137f223b4b72cdb33fc3db..8f0067e5a030190d3fbb25656a8338361a4b57bf 100755 (executable)
@@ -1,37 +1,47 @@
 #!/bin/bash
 
+JVM=/Library/Java/JavaVirtualMachines
+dir=`dirname "$0"`
+
 case `id -u` in
     0)
     ;;
     *)
-       # Check for java
-       if [ ! -d /Library/Java/JavaVirtualMachines/ -o `ls /Library/Java/JavaVirtualMachine` == '' ]; then
-           open https://adoptopenjdk.net/
-           osascript -e 'display dialog "Install Java from https://adoptopenjdk.net then click OK" buttons {"Continue"}'
-       fi
-       sudo "$0" "$@"
+       SUDO_ASKPASS="${dir}/ask-pass" sudo -A "$0" "$@"
+       exit 0
        ;;
 esac
 
-dir=`dirname "$0"`
+# Check for java
+if ls "$JVM" | grep -q adopt; then
+    echo "Adopt OpenJDK already present"
+else
+    open https://adoptopenjdk.net/
+    osascript -e 'display dialog "Install Java from https://adoptopenjdk.net then click Continue" buttons {"Continue"} default button 1 with title "Install Java"' >/dev/null
+fi
+
 cd "$dir"
-APP=`echo *.app`
 LIBRARY=/Library/AltusMetrum
-APPLICATIONS=/Applications/
+APPLICATIONS=/Applications
+INSTALLED=
 for file in *; do
-    case "$i" in
+    echo 'Installing' "$file"
+    case "$file" in
        *.app)
-           mkdir -p "$(APPLICATIONS)"
-           if [ -d "$(APPLICATIONS)/$(APP)/." ]; then
-               rm -rf "$(APPLICATIONS)/$(APP)"
+           mkdir -p "${APPLICATIONS}"
+           if [ -d "${APPLICATIONS}/${file}" ]; then
+               rm -rf "${APPLICATIONS}/${file}"
            fi
-           cp -a "$i" "$(APPLICATIONS)/$(APP)"
-           chmod +w "$(APPLICATIONS)/$(APP)"/*
-           xattr -c "$(APPLICATIONS)/$(APP)"/*
+           cp -a "$file" "${APPLICATIONS}/${file}"
+           chmod -R +w "${APPLICATIONS}/${file}"
+           xattr -rc "${APPLICATIONS}/${file}"
+           APP=`basename "$file" .app`
+           INSTALLED="${INSTALLED} ${APP}"
            ;;
        *)
-           mkdir -p "$(LIBRARY)"
-           cp -a "$i" "$(LIBRARY)"
+           mkdir -p "${LIBRARY}"
+           cp -a "$file" "${LIBRARY}"
            ;;
     esac
 done
+osascript -e 'display dialog "Installation of'"${INSTALLED}"' complete" with title "Installation Complete" buttons {"OK"} default button 1' >/dev/null
index 23ec077ec4cda796c35f9b4d4970c2ec93621465..816dd4b3414ede0dae87e02efb540f57fd07f208 100644 (file)
@@ -137,7 +137,7 @@ MACOSX_DRIVERS=$(MACOSX_DRIVER_1) $(MACOSX_DRIVER_0)
 
 MACOSX_INFO_PLIST=Info.plist
 MACOSX_README=ReadMe-Mac.rtf
-MACOSX_INSTALL=../altosui/install-macosx
+MACOSX_INSTALL=../altosui/install-macosx ../altosui/ask-pass
 MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_DRIVERS) $(MACOSX_README) $(DOC) $(MACOSX_ICONS) $(MACOSX_INSTALL)
 
 $(MACOSX_DRIVER_0):
index 0e75abf1480996fadb88763f938a99d4d4173a2f..26e5dfb82d79ca1b7bcc4cc2a0f5e3c55268fd51 100644 (file)
@@ -153,7 +153,7 @@ LINUX_EXTRA=telegps-fat $(desktop_file).in
 
 MACOSX_INFO_PLIST=Info.plist
 MACOSX_README=ReadMe-Mac.rtf
-MACOSX_INSTALL=../altosui/install-macosx
+MACOSX_INSTALL=../altosui/install-macosx ../altosui/ask-pass
 MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_README) $(DOC) $(MACOSX_ICONS) $(MACOSX_INSTALL)
 MACOSX_EXTRA=$(FIRMWARE)