micropeak: Construct linux install script
authorKeith Packard <keithp@keithp.com>
Sun, 16 Feb 2014 23:53:50 +0000 (15:53 -0800)
committerKeith Packard <keithp@keithp.com>
Sun, 16 Feb 2014 23:53:50 +0000 (15:53 -0800)
Uses the same script as altosui, just edits the final path name

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/linux-install.sh
micropeak/.gitignore
micropeak/Makefile.am
micropeak/micropeak.desktop.in [new file with mode: 0644]

index d7ec9517316e23520dde9e5efc04d1330f713a1e..957b1aadf985ca2d7d19b5538a50bdf6bc0a04ad 100644 (file)
@@ -141,13 +141,15 @@ esac
 
 BIN="$target_abs"/AltOS
 
-desktop="$target"/AltOS/altos.desktop
-
-rm -f "$desktop"
-sed -e "s;%bindir%;$BIN;" -e "s;%icondir%;$BIN;" "$target"/AltOS/altos.desktop.in > "$desktop"
+for infile in "$target"/AltOS/*.desktop.in; do
+    desktop="$target"/AltOS/`basename "$infile" .in`
+    rm -f "$desktop"
+    sed -e "s;%bindir%;$BIN;" -e "s;%icondir%;$BIN;" "$infile" > "$desktop"
+    chmod +x "$desktop"
+done
 
 #
-# Figure out where to install the .desktop file. If we can, write it
+# Figure out where to install the .desktop files. If we can, write it
 # to the public /usr/share/applications, otherwise, write it to the
 # per-user ~/.local/share/applications
 #
@@ -172,9 +174,9 @@ case "$apps" in
     ;;
 esac
 
-echo -n "Installing .desktop file to $apps..."
+echo -n "Installing .desktop files to $apps..."
 
-cp "$desktop" "$apps"
+cp "$target"/AltOS/*.desktop "$apps"
 
 case "$?" in
 0)
@@ -189,7 +191,48 @@ esac
 # Install icon to desktop if desired
 #
 
+if [ -d $HOME/Desktop ]; then
+    default_desktop=n
+    if [ "$can_ask" = "y" ]; then
+       :
+    else
+       default_desktop=y
+    fi
+
+    answered=n
+    while [ "$answered" = "n" ]; do
+       echo -n "Install icons to desktop? [default: $default_desktop] "
+       if [ "$can_ask" = "y" ]; then
+           read do_desktop
+       else
+           echo
+           do_desktop=""
+       fi
+
+       case "$do_desktop" in
+           "")
+           do_desktop=$default_desktop
+           ;;
+       esac
 
+       case "$do_desktop" in
+       [yYnN]*)
+           answered=y
+           ;;
+       esac
+    done
+
+    echo -n "Installing desktop icons..."
+    case "$do_desktop" in
+    [yY]*)
+       for d in "$target"/AltOS/*.desktop; do
+           ln -f -s "$d" "$HOME/Desktop/"
+       done
+       ;;
+    esac
+
+    echo " done."
+fi
 
 finish 0
 
index 6a6475f0b02e83b4833df0588ff58c576bc594ce..f9a61359672ef4d4ce7f1730d8afe76e8a693893 100644 (file)
@@ -11,6 +11,7 @@ micropeak-windows.nsi
 MicroPeak-Linux-*
 MicroPeak-Mac-*
 MicroPeak-Windows-*
+micropeak.desktop
 *.dll
 *.dylib
 *.so
index 1a614cbdcac694719d9678d284572ecc2cb24e10..519fa8cfcb5f881fc88bad588ba5ebfc7824acb7 100644 (file)
@@ -73,6 +73,10 @@ ICONJAR= -C $(ICONDIR) micropeak-16.png \
 
 WINDOWS_ICON=$(ICONDIR)/micro-peak.ico
 
+desktopdir = $(datadir)/applications
+desktop_file = micropeak.desktop
+desktop_DATA = $(desktop_file)
+
 all-local: micropeak-test micropeak-jdb $(JAR)
 
 clean-local:
@@ -84,7 +88,13 @@ clean-local:
                micropeak micropeak-test micropeak-jdb macosx linux windows micropeak-windows.log \
                micropeak-windows.nsi
 
+EXTRA_DIST = $(desktop_file).in
+
+$(desktop_file): $(desktop_file).in
+       sed -e 's#%bindir%#@bindir@#' -e 's#%icondir%#$(datadir)/icons/hicolor/scalable/apps#' ${srcdir}/micropeak.desktop.in > $@
+
 LINUX_DIST=MicroPeak-Linux-$(VERSION).tar.bz2
+LINUX_SH=MicroPeak-Linux-$(VERSION).sh
 MACOSX_DIST=MicroPeak-Mac-$(VERSION).dmg
 WINDOWS_DIST=MicroPeak-Windows-$(VERSION_DASH).exe
 
@@ -94,8 +104,8 @@ DOC=$(MICROPEAK_DOC)
 
 FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS)
 
-LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC)
-LINUX_EXTRA=micropeak-fat
+LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) micropeak.desktop.in ../icon/micropeak.svg
+LINUX_EXTRA=micropeak-fat micropeak.desktop.in
 
 MACOSX_DRIVER_URL=http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_18.dmg
 MACOSX_DRIVER=FTDIUSBSerialDriver_v2_2_18.dmg
@@ -119,15 +129,20 @@ if FATINSTALL
 FATTARGET=$(FATDIR)/$(VERSION)
 
 LINUX_DIST_TARGET=$(FATTARGET)/$(LINUX_DIST)
+LINUX_SH_TARGET=$(FATTARGET)/$(LINUX_SH)
 MACOSX_DIST_TARGET=$(FATTARGET)/$(MACOSX_DIST)
 WINDOWS_DIST_TARGET=$(FATTARGET)/$(WINDOWS_DIST)
 
-fat: $(LINUX_DIST_TARGET) $(MACOSX_DIST_TARGET) $(WINDOWS_DIST_TARGET)
+fat: $(LINUX_DIST_TARGET) $(LINUX_SH_TARGET) $(MACOSX_DIST_TARGET) $(WINDOWS_DIST_TARGET)
 
 $(LINUX_DIST_TARGET): $(LINUX_DIST)
        mkdir -p $(FATTARGET)
        cp -p $< $@
 
+$(LINUX_SH_TARGET): $(LINUX_SH)
+       mkdir -p $(FATTARGET)
+       cp -p $< $@
+
 $(MACOSX_DIST_TARGET): $(MACOSX_DIST)
        mkdir -p $(FATTARGET)
        cp -p $< $@
@@ -137,7 +152,7 @@ $(WINDOWS_DIST_TARGET): $(WINDOWS_DIST)
        cp -p $< $@
 
 else
-fat: $(LINUX_DIST) $(MACOSX_DIST) $(WINDOWS_DIST)
+fat: $(LINUX_DIST) $(LINUX_SH) $(MACOSX_DIST) $(WINDOWS_DIST)
 endif
 
 micropeak: Makefile
@@ -230,6 +245,10 @@ $(LINUX_DIST): $(LINUX_FILES) $(LINUX_EXTRA)
        chmod +x linux/MicroPeak/micropeak
        tar cjf $@ -C linux MicroPeak
 
+$(LINUX_SH): $(LINUX_DIST) $(srcdir)/../altosui/linux-install.sh
+       sed 's/AltOS/MicroPeak/g' $(srcdir)/../altosui/linux-install.sh | cat - $(LINUX_DIST) > $@
+       chmod +x $@
+
 $(MACOSX_DIST): $(MACOSX_FILES)
        -rm -f $@
        -rm -rf macosx
diff --git a/micropeak/micropeak.desktop.in b/micropeak/micropeak.desktop.in
new file mode 100644 (file)
index 0000000..abdf286
--- /dev/null
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=MicroPeak
+GenericName=MicroPeak download and analysis
+Comment=View and log data from MicroPeak altimeters
+Icon=%icondir%/micropeak.svg
+Exec=%bindir%/micropeak %f
+Terminal=false
+MimeType=text/plain;
+Categories=Education;Electronics;Science;