From: Keith Packard Date: Sun, 16 Feb 2014 23:53:50 +0000 (-0800) Subject: micropeak: Construct linux install script X-Git-Tag: 1.3.2.2~183 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=c860d837a0c97a091c5f47fce91bdb8beb4602d3;ds=sidebyside micropeak: Construct linux install script Uses the same script as altosui, just edits the final path name Signed-off-by: Keith Packard --- diff --git a/altosui/linux-install.sh b/altosui/linux-install.sh index d7ec9517..957b1aad 100644 --- a/altosui/linux-install.sh +++ b/altosui/linux-install.sh @@ -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 diff --git a/micropeak/.gitignore b/micropeak/.gitignore index 6a6475f0..f9a61359 100644 --- a/micropeak/.gitignore +++ b/micropeak/.gitignore @@ -11,6 +11,7 @@ micropeak-windows.nsi MicroPeak-Linux-* MicroPeak-Mac-* MicroPeak-Windows-* +micropeak.desktop *.dll *.dylib *.so diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am index 1a614cbd..519fa8cf 100644 --- a/micropeak/Makefile.am +++ b/micropeak/Makefile.am @@ -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 index 00000000..abdf286f --- /dev/null +++ b/micropeak/micropeak.desktop.in @@ -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;