SF.net SVN: morphix: [2537] trunk/morph-scripts/mmorphix/ morphing-morphix-gui.sh

[email protected] Sun, 15 Jul 2007 07:35:03 -0700
Newsgroups gmane.linux.morphix.cvs
Message-ID <[email protected]>
Revision: 2537
          http://svn.sourceforge.net/morphix/?rev=2537&view=rev
Author:   bmsleight
Date:     2007-07-15 07:35:02 -0700 (Sun, 15 Jul 2007)

Log Message:
-----------
Work in progress

Modified Paths:
--------------
    trunk/morph-scripts/mmorphix/morphing-morphix-gui.sh

Modified: trunk/morph-scripts/mmorphix/morphing-morphix-gui.sh
===================================================================
--- trunk/morph-scripts/mmorphix/morphing-morphix-gui.sh	2007-07-15 14:33:27 UTC (rev 2536)
+++ trunk/morph-scripts/mmorphix/morphing-morphix-gui.sh	2007-07-15 14:35:02 UTC (rev 2537)
@@ -64,6 +64,9 @@
  SETTING_LOG_COMMANDS=~/mmscript.sh
  SETTING_MYMORPH="MyMorph.iso"
  SETTING_MYMORPH_MAIN="morphing-morphix.mod"
+ SETTING_CURRENT_BASE="http://surfnet.dl.sourceforge.net/sourceforge/morphix/MorphixBase-0.5-pre6.iso"
+ SETTING_CURRENT_MLK="http://www.barwap.com/morphix/livekiosk/MorphixLiveKiosk.mod"
+ SETTING_MY_MLK="MyMLK.iso"
  TMP_FILE=/tmp/mmorphix.$$
  TMP_FILE_2=/tmp/mmorphix_.$$
  TMP_SCRIPT=/tmp/mmorphix.$$.sh
@@ -233,8 +236,8 @@
 MESSAGE_HELP_TITLE="MorphingMorphix Help"
 MESSAGE_MAIN_MENU="Welcome to MorphingMorphix"
 MESSAGE_MAIN_MENU_1="Submenu [Configure MorphingMorphix]"
-MESSAGE_MAIN_MENU_2="Introduction to isomorph"
-MESSAGE_MAIN_MENU_3="Using isomorph to get a clean base"
+MESSAGE_MAIN_MENU_2="Submenu [Isomorph examples]"
+MESSAGE_MAIN_MENU_3="Building a Customized MorphixLiveKiosk"
 MESSAGE_MAIN_MENU_4="Submenu [MiniModules]"
 MESSAGE_MAIN_MENU_5="Submenu [MainModules]"
 MESSAGE_MAIN_MENU_6="Rebranding a Morphix LiveCD"
@@ -245,6 +248,9 @@
 MESSAGE_CONFIGURE_MENU="$MESSAGE_MAIN_MENU_1"
 MESSAGE_CONFIGURE_MENU_1="Configure MorphingMorphix"
 MESSAGE_CONFIGURE_MENU_2="Remove old CD Images then complete Configuration"
+MESSAGE_ISOMORPH_MENU="$MESSAGE_MAIN_MENU_2"
+MESSAGE_ISOMORPH_MENU_1="Introduction to isomorph"
+MESSAGE_ISOMORPH_MENU_2="Using isomorph to get a clean base"
 MESSAGE_MINIMODS_MENU="$MESSAGE_MAIN_MENU_4"
 MESSAGE_MINIMODS_MENU_1="Using a XML template to build a MiniModule"
 MESSAGE_MINIMODS_MENU_2="Saving the Home Directory to a MiniModule "
@@ -267,8 +273,10 @@
 ###########################################################
 MESSAGE_SETTING_MAKEISO="Setting up Morphing Morphix
 
-We need to make a iso image for us to morph
-We will use this CD and call the image MyMorph.iso"
+We need a base ISO as a starting point for morphing.
+The easiest way is to download one of the pre-build bases 
+available from Morphix.org.
+We will call the image MyMorph.iso"
 ###########################################################
 MESSAGE_SETTING_TMPFS="Setting up Morphing Morphix
 
@@ -293,6 +301,46 @@
 For example we will now run the command :-
 isomorph --list MyMorph.iso"
 ###########################################################
+MESSAGE_BUILD_MLK_1="Building MorphixLiveKiosk
+
+This morph is to build a new MorphixLiveKiosk
+
+It is a straight forward process. 
+ - Download the MainModule
+ - Make a MiniModule for the Kiosk Setting
+ - If required build the non-free MiniModules
+ - Add all of the above to the base
+ - Rebrand the ISO"
+###########################################################
+MESSAGE_BUILD_MLK_2="Building MorphixLiveKiosk
+
+Default homepage for MorphixLiveKiosk ?"
+###########################################################
+MESSAGE_BUILD_MLK_3="Building MorphixLiveKiosk
+
+Should the Navigation toolbar be visible ?"
+###########################################################
+MESSAGE_BUILD_MLK_4="Building MorphixLiveKiosk
+
+Do you want to build the non-Free MiniModules which 
+contains Non-GPL software; flash and java plugins ?"
+###########################################################
+MESSAGE_BUILD_MLK_5="Building MorphixLiveKiosk
+
+New step is to select a graphics file which will be used 
+for rebranding by changing the following:-
+ * Grub Titles - shown on booting
+ * Grub Background - shown on booting
+ * Username, Hostname
+ * Boot-up messages
+ * Boot-up backgrounds
+ * Main Wallpaper
+
+Any Graphic file will do. Rebrand.png, Rebrand.jpg or 
+Rebrand.gif The  name of the graphics file is important as 
+the script takes Rebrand as the new title for the part of 
+the LiveCD."
+###########################################################
 MESSAGE_MINIMORPH_1="MiniMorph Example
 
 The next Morph is making the MiniModule to auto run an 
@@ -323,26 +371,16 @@
 ###########################################################
 MESSAGE_REMOVE_MODS="Remove Modules
 
-We have now got our CD Image file, by copying this running 
-CD. As you have seen in the last example, this image 
-contains the MainModule and lots of MiniModules.  The easy 
-way to make a new LiveCD is to build new MiniModules and a 
-new MainModule.
+We can use the tool isomorph to add and remove parts of 
+LiveCD. 
 
-Hence the first task is to delete the MainModule and 
-MiniModules from the LiveCD image."
-MESSAGE_REMOVE_MODS_1="Remove Modules
+A simple example is to use isomorph remove all the 
+MainModules, MiniModules and other additions from the 
+LiveCD to get back to a nice clean base.
 
-We will again use isomorph
-
-isomorph --del-all main ./MyMorph.iso ./tmp.iso
+isomorph --del-all ./MyMorph.iso ./tmp.iso
 mv ./tmp.iso ./MyMorph.iso
-isomorph --del-all mini ./MyMorph.iso ./tmp.iso
-mv ./tmp.iso ./MyMorph.iso"
-MESSAGE_REMOVE_MODS_2="Remove Modules
-We can now choose option 2  (isomorph --list) and confirm 
-that the MainModule and MiniModules have been removed from 
-the LiveCD"
+isomorph --list ./MyMorph.iso"
 ###########################################################
 MESSAGE_MAKE_MINI="Saving files in /home/morph
 
@@ -780,10 +818,10 @@
 	    configure_mm_submenu;;
 	  2)
 	    log_file "main_menu selected $?"
-	    isomorph_intro;;
+	    isomorph_submenu;;
 	  3)
 	    log_file "main_menu selected $?"
-	    remove_main_and_minis;;
+	    custom_mlk;;
 	  4)
 	    log_file "main_menu selected $?"
 	    minimodules_submenu;;
@@ -821,7 +859,7 @@
 	1)
 	   set_up_mmorphix;;
 	2)
-	   
+	   remove_images
 	   set_up_mmorphix;;
 	3) 
 	   main_menu;;
@@ -835,6 +873,28 @@
 	esac	
 }
 
+isomorph_submenu ()
+{
+xdialog_menu "$MESSAGE_ISOMORPH_MENU" \
+	     '$MESSAGE_ISOMORPH_MENU_1' '$MESSAGE_ISOMORPH_MENU_2'\
+	     '$MESSAGE_MAIN_MENU_RETURN'
+	case $? in
+	1)
+	   isomorph_intro;;
+	2)
+	   remove_main_and_minis;;
+	3) 
+	   main_menu;;
+	254)
+	     xdialog_message "$MESSAGE_HELP"
+     	     xdialog_message "$MESSAGE_HELP_2"
+	     xdialog_message "$MESSAGE_HELP_3"
+	     configure_mm_submenu;;
+	255)
+	   closing_mmorphix "isomorph_submenu";;
+	esac	
+}
+
 minimodules_submenu ()
 {
 xdialog_menu "$MESSAGE_MINIMODS_MENU" \
@@ -944,11 +1004,8 @@
 	log_file "Images exist"
  else
 	xdialog_message "$MESSAGE_SETTING_MAKEISO"
-	log_and_do_command "sudo dd if=/dev/cdrom \
-	 of=$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH >$TMP_FILE 2>&1 &"
-	sleep 4
-	log_and_do_command_progress "while pidof dd >/dev/null; do sudo kill -USR1 $(pidof dd); \
-	 tail -n 1 $TMP_FILE; sleep 2; done"
+	log_and_do_command_progress_pause "wget --output-document=$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH \
+		 $SETTING_CURRENT_BASE"
  fi
  if [ "$MM_IS_SET_UP" = "" ]
 	then
@@ -987,7 +1044,7 @@
 
 remove_images ()
 {
-	log_and_do_command "rm -f $MNT_POINT/mmorphix/iso/*"
+	log_and_do_command_progress_pause "rm -f $MNT_POINT/mmorphix/iso/*"
 }
 
 is_mmorphix_set_up ()
@@ -1040,15 +1097,11 @@
  	log_file "remove_main_and_minis"
 	# MESSAGE_REMOVE_MODS
 	xdialog_message "$MESSAGE_REMOVE_MODS"
-	xdialog_message "$MESSAGE_REMOVE_MODS_1"
-	log_and_do_command_progress_pause "sudo isomorph --del-all main  
+	log_and_do_command_progress_pause "sudo isomorph --del-all  
 		$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
-	log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
-	log_and_do_command_progress_pause "sudo isomorph --del-all mini  
-		$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
-	log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
-	xdialog_message "$MESSAGE_REMOVE_MODS_2"
-
+	log_and_do_command_progress_pause "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
+	log_and_do_command_progress_pause "sudo isomorph --list  
+		$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH "
   fi
  main_menu
 }
@@ -1132,7 +1185,7 @@
 		0)
 		  log_and_do_command_progress_pause "sudo mmaker 
 		  /usr/share/morphing-morphix/morphing-morphix.xml 
-		  /tmp/$SETTING_MYMORPH_MAIN"
+		  /tmp/$"
 		  log_and_do_command_progress_pause "sudo isomorph --add main  
 		  /tmp/morphing-morphix.mod  
 		  $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
@@ -1322,6 +1375,90 @@
 
 ###########################################################
 #                                                         #
+#  SECTION 19 :  BUILD A CUSTOM MORPHIXLIVEKIOSK          #
+#                                                         #
+#  o Download, Build minis, pack - enjoy                  #
+#                                                         #
+###########################################################
+custom_mlk ()
+{
+is_mmorphix_set_up
+ if [ "$?" = "1" ]
+ then
+ 	log_file "custom_mlk"
+	xdialog_message "$MESSAGE_BUILD_MLK_1"
+	xdialog_input "$MESSAGE_BUILD_MLK" "$MESSAGE_BUILD_MLK_2" "www.morphix.org"
+	HOMEPAGE="$RETURN_VALUE"
+	xdialog_yes_no  "$MESSAGE_BUILD_MLK_3"
+		case $? in
+		0)
+		log_file "See nav toolbar"
+		ECOMMENT_OUT=""
+		COMMENT_OUT="";;
+		1)
+		log_file "Do not see nav toolbar"
+		ECOMMENT_OUT="-->"
+		COMMENT_OUT="\!--";;
+		255)
+		closing_mmorphix "custom_mlk";;
+	esac
+	xdialog_yes_no  "$MESSAGE_BUILD_MLK_4"
+		case $? in
+		0)
+		log_file "Non GPL MM"
+		NONFREEMM="YES";;
+		1)
+		log_file "They will never take our freedom"
+		NONFREEMM="";;
+		255)
+		closing_mmorphix "custom_mlk";;
+	esac
+	xdialog_file_select "$MESSAGE_BUILD_MLK_5" "$MNT_POINT"
+	REBRAND_GRAPHIC="$RETURN_VALUE"
+	log_and_do_command_progress_pause "wget --output-document=$MNT_POINT/mmorphix/morphed/MorphixLiveKiosk.mod \
+		 $SETTING_CURRENT_MLK"
+	sed -e s/ECOMMENTOUTNAVBAR/$ECOMMENTOUT/g /usr/share/morphing-morphix/MorphixMini-KioskSetting.xml.pre >$TMP_FILE
+	sed -e s/COMMENTOUTNAVBAR/$COMMENT_OUT/g $TMP_FILE >$TMP_FILE_2
+	sudo sed -e s/HOMEPAGE/$HOMEPAGE/g /usr/share/morphing-morphix/MorphixMini-KioskSetting.xml
+	log_and_do_command_progress_pause "sudo morphmini /usr/share/morphing-morphix/MorphixMini-KioskSetting.xml \
+		$MNT_POINT/mmorphix/morphed/MorphixMini-KioskSetting.mod"
+	if [ "$NONFREEMM" = "YES" ]
+	then
+		log_and_do_command_progress_pause "sudo morphmini /usr/share/morphing-morphix/MorphixMini-NonFree-FlashPlugin.xml \
+			$MNT_POINT/mmorphix/morphed/MorphixMini-NonFree-FlashPlugin.mod"
+		log_and_do_command_progress_pause "sudo morphmini /usr/share/morphing-morphix/MorphixMini-NonFree-Java.xml \
+			$MNT_POINT/mmorphix/morphed/MorphixMini-NonFree-Java.mod"
+	fi
+	log_and_do_command_progress_pause "sudo isomorph --add main  
+		  $MNT_POINT/mmorphix/morphed/MorphixLiveKiosk.mod
+		  $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
+	log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
+	log_and_do_command_progress_pause "sudo isomorph --add mini  
+		  $MNT_POINT/mmorphix/morphed/MorphixMini-KioskSetting.mod
+		  $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
+	log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
+		if [ "$NONFREEMM" = "YES" ]
+	then
+		log_and_do_command_progress_pause "sudo isomorph --add mini  
+			$MNT_POINT/mmorphix/morphed/MorphixMini-NonFree-FlashPlugin.mod
+			$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
+		log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
+		log_and_do_command_progress_pause "sudo isomorph --add mini  
+			$MNT_POINT/mmorphix/morphed/MorphixMini-NonFree-Java.mod
+			$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH /tmp/tmp.iso"
+		log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH"
+	fi
+	log_and_do_command_progress_pause "sudo morphix-rebrand  
+		$MNT_POINT/mmorphix/iso/$SETTING_MYMORPH
+		/tmp/tmp.iso
+		$REBRAND_GRAPHIC"
+	log_and_do_command "mv -f /tmp/tmp.iso $MNT_POINT/mmorphix/iso/$SETTING_MYMORPH" 
+  fi
+ main_menu
+}
+
+###########################################################
+#                                                         #
 #  SECTION 98 :  ABOUT MORPHING-MORPHIX                   #
 #                                                         #
 ###########################################################


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/