diff --git a/contrib/macos/create-pkg-gui.sh b/contrib/macos/create-pkg-gui.sh index d098fffa..03484fc2 100644 --- a/contrib/macos/create-pkg-gui.sh +++ b/contrib/macos/create-pkg-gui.sh @@ -47,11 +47,16 @@ cp meshctl pkgbuild/root/usr/local/bin cp mesh pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS cp mesh-ui pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS cp riv.icns pkgbuild/root/Applications/RiV-mesh.app/Contents/Resources -cp contrib/ui/mesh-ui/ui/index.html pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS -cp -r contrib/ui/mesh-ui/ui/assets pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS -cp -r contrib/ui/mesh-ui/ui/webfonts pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS +cp -r contrib/ui/mesh-ui/ui pkgbuild/root/Applications/RiV-mesh.app/Contents/Resources cp contrib/macos/mesh.plist pkgbuild/root/Library/LaunchDaemons +# Create open script +cat > pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/open-mesh-ui << EOF +#!/bin/sh + +/Applications/RiV-mesh.app/Contents/MacOS/mesh-ui /Applications/RiV-mesh.app/Contents/Resources/ui 1>/tmp/mesh-ui.stdout.log 2>/tmp/mesh-ui.stderr.log +EOF + # Create the postinstall script cat > pkgbuild/scripts/postinstall << EOF #!/bin/sh @@ -82,7 +87,7 @@ chmod 755 pkgbuild/scripts/postinstall chmod 755 pkgbuild/root/usr/local/bin/meshctl chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/mesh chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/mesh-ui -chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/index.html +chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/open-mesh-ui # Work out metadata for the package info PKGNAME=$(sh contrib/semver/name.sh) @@ -115,13 +120,9 @@ cat > pkgbuild/root/Applications/RiV-mesh.app/Contents/Info.plist << EOF CFBundleShortVersionString ${PKGVERSION} CFBundleExecutable - mesh-ui + open-mesh-ui CFBundleIdentifier io.github.RiV-mesh.pkg - StandardOutPath - /tmp/mesh-ui.stdout.log - StandardErrorPath - /tmp/mesh-ui.stderr.log EOF diff --git a/contrib/ui/mesh-ui/webview.go b/contrib/ui/mesh-ui/webview.go index a68b3acd..4be2ee38 100644 --- a/contrib/ui/mesh-ui/webview.go +++ b/contrib/ui/mesh-ui/webview.go @@ -96,26 +96,17 @@ func main() { if confui.IndexHtml == "" { confui.IndexHtml = "index.html" } - f, err := os.Create("/tmp/mesh-ui.log") - if err != nil { - defer f.Close() - } - var nopanic = func(err error) { - if f != nil { - fmt.Fprint(f, err.Error()) - } - } //Check is it URL already indexUrl, err := url.ParseRequestURI(confui.IndexHtml) if err != nil || len(indexUrl.Scheme) < 2 { // handling no scheme at all and windows c:\ as scheme detection confui.IndexHtml, err = filepath.Abs(confui.IndexHtml) if err != nil { - nopanic(errors.New("Index file not found: " + err.Error())) + panic(errors.New("Index file not found: " + err.Error())) } if stat, err := os.Stat(confui.IndexHtml); err != nil { - nopanic(errors.New(fmt.Sprintf("Index file %v not found or permissians denied: %v", confui.IndexHtml, err.Error()))) + panic(errors.New(fmt.Sprintf("Index file %v not found or permissians denied: %v", confui.IndexHtml, err.Error()))) } else if stat.IsDir() { - nopanic(errors.New(fmt.Sprintf("Index file %v not found", confui.IndexHtml))) + panic(errors.New(fmt.Sprintf("Index file %v not found", confui.IndexHtml))) } path_prefix := "" if indexUrl != nil && len(indexUrl.Scheme) == 1 { @@ -123,7 +114,7 @@ func main() { } indexUrl, err = url.ParseRequestURI("file://" + path_prefix + strings.ReplaceAll(confui.IndexHtml, "\\", "/")) if err != nil { - nopanic(errors.New("Index file URL parse error: " + err.Error())) + panic(errors.New("Index file URL parse error: " + err.Error())) } }