SF.net SVN: morphix: [2307] trunk/morph-scripts/morphix-rebrand.sh
[email protected] Mon, 12 Jun 2006 15:32:25 -0700
| Newsgroups | gmane.linux.morphix.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 2307
Author: bmsleight
Date: 2006-06-12 15:32:17 -0700 (Mon, 12 Jun 2006)
ViewCVS: http://svn.sourceforge.net/morphix/?rev=2307&view=rev
Log Message:
-----------
morphix-rebrand - work in progrss lots to do.
Added Paths:
-----------
trunk/morph-scripts/morphix-rebrand.sh
Added: trunk/morph-scripts/morphix-rebrand.sh
===================================================================
--- trunk/morph-scripts/morphix-rebrand.sh (rev 0)
+++ trunk/morph-scripts/morphix-rebrand.sh 2006-06-12 22:32:17 UTC (rev 2307)
@@ -0,0 +1,149 @@
+#!/bin/bash
+#
+# morphix-rebrand
+#
+# Copyleft (c) 2006 Brendan M. Sleight #
+# <bmsleight@barwap._REMOVE_SPAM_TRAP.com> #
+# #
+# This script is licensed under the GNU GPL v2 or later. #
+# #
+# On Debian systems, this license can be obtained via #
+# /usr/share/common-licenses/GPL #
+#
+
+get_global_variables ()
+{
+ TMP_DIR=/tmp/morphix-rebrand.$$
+ TMP_FILE=/tmp/morphix-rebrand.$$.tmp
+ OLD_IMAGE_DIR=$TMP_DIR/old_image
+ NEW_IMAGE_DIR=$TMP_DIR/new_image
+ mkdir -p $TMP_DIR
+ mkdir -p $NEW_IMAGE_DIR
+ mkdir -p $OLD_IMAGE_DIR
+ TITLE=$(basename $GRAPHIC .png)
+ echo "Title $TITLE"
+}
+
+mount_and_copy ()
+{
+echo "Mount old image and copying files for new Image"
+mount $STARTISO $OLD_IMAGE_DIR -o loop
+cp -av $OLD_IMAGE_DIR/* $NEW_IMAGE_DIR >/dev/null 2>&1
+umount $STARTISO
+echo "Copied old iso"
+OLD_TITLE=$(grep -e "title" -m 1 $NEW_IMAGE_DIR/boot/grub/menu.lst | sed s/title\ //g)
+LOWERCASE_OT=$(echo $OLD_TITLE | tr A-Z a-z)
+UPPERCASE_OT=$(echo $OLD_TITLE | tr a-z A-Z)
+
+echo "Old name " $OLD_TITLE $LOWERCASE_OT $UPPERCASE_OT
+}
+
+grub_title_boot_options ()
+{
+echo
+for TMP_GRUB_FILE in $NEW_IMAGE_DIR/boot/grub/*.lst
+do
+ sed "/title/s/$OLD_TITLE/$TITLE/g" $TMP_GRUB_FILE > $TMP_FILE
+ mv $TMP_FILE $TMP_GRUB_FILE
+done
+#Remove BOOT_IMAGE
+for TMP_GRUB_FILE in $NEW_IMAGE_DIR/boot/grub/*.lst
+do
+ sed "/kernel/s/BOOT_IMAGE=[A-z]*\ //g" $TMP_GRUB_FILE > $TMP_FILE
+ mv $TMP_FILE $TMP_GRUB_FILE
+done
+#BOOT_IMAGE
+mv $NEW_IMAGE_DIR/base/$LOWERCASE_OT $NEW_IMAGE_DIR/base/$TITLE
+
+#Remove old Username
+for TMP_GRUB_FILE in $NEW_IMAGE_DIR/boot/grub/*.lst
+do
+ sed "/kernel/s/username=[A-z]*\ //g" $TMP_GRUB_FILE > $TMP_FILE
+ mv $TMP_FILE $TMP_GRUB_FILE
+done
+
+#Remove old Hostname
+for TMP_GRUB_FILE in $NEW_IMAGE_DIR/boot/grub/*.lst
+do
+ sed "/kernel/s/hostname=[A-z]*\ //g" $TMP_GRUB_FILE > $TMP_FILE
+ mv $TMP_FILE $TMP_GRUB_FILE
+done
+
+#Add BOOT_IMAGE username and hostname
+for TMP_GRUB_FILE in $NEW_IMAGE_DIR/boot/grub/*.lst
+do
+ sed "/kernel/s/$/ BOOT_IMAGE=$TITLE hostname=$TITLE username=$TITLE /" $TMP_GRUB_FILE > $TMP_FILE
+# sed "/kernel/s/$/ hostname=$TITLE username=$TITLE /" $TMP_GRUB_FILE > $TMP_FILE
+ mv $TMP_FILE $TMP_GRUB_FILE
+done
+}
+
+kernel_image ()
+{
+echo "Kernel Image - to do"
+}
+
+bootsplash ()
+{
+echo "Boot Splash (Grub background) - to do"
+}
+
+linuxrc ()
+{
+cp $NEW_IMAGE_DIR/boot/miniroot.gz $TMP_DIR/
+cd $TMP_DIR/ && gunzip miniroot.gz
+mkdir $TMP_DIR/lxrc
+sync
+mount $TMP_DIR/miniroot $TMP_DIR/lxrc -o loop -t ext2
+sed "s/DERIVATE=.*/DERIVATE=\"$TITLE\"/g" $TMP_DIR/lxrc/linuxrc >$TMP_FILE
+mv $TMP_FILE $TMP_DIR/lxrc/linuxrc
+sed "s/$UPPERCASE_OT/$TITLE/g" $TMP_DIR/lxrc/linuxrc >$TMP_FILE
+sed "s/$LOWERCASE_OT/$TITLE/g" $TMP_FILE >$TMP_DIR/lxrc/linuxrc
+sed "s/$OLD_TITLE/$TITLE/g" $TMP_DIR/lxrc/linuxrc >$TMP_FILE
+mv $TMP_FILE $TMP_DIR/lxrc/linuxrc
+chmod a+x $TMP_DIR/lxrc/linuxrc
+ln -s /${OLD_TITLE}CD $TMP_DIR/lxrc/${TITLE}CD
+sync
+umount $TMP_DIR/miniroot
+cd $TMP_DIR/ && gzip miniroot
+cp $TMP_DIR/miniroot.gz $NEW_IMAGE_DIR/boot/
+echo "Images stored in linuxrc (bootsplas) - to do"
+}
+
+xbackground ()
+{
+echo "Xbackground - to do"
+}
+
+cleanup_and_make_iso ()
+{
+make-iso $NEW_IMAGE_DIR $ENDISO
+rm $TMP_DIR -R 2>/dev/null
+rm $TMP_FILE 2>/dev/null
+}
+
+
+#Main loop
+
+#Confirm parameters
+STARTISO=$1
+ENDISO=$2
+GRAPHIC=$3
+if [ -z "$STARTISO" -a -z "$ENDISO" -a -z "$GRAPHIC" ]; then
+ echo "Usage: $0 old.iso new.iso Rebrand.png"
+ echo
+ echo " This script Re-brands a Morphix CD image using the graphic Rebrand.png"
+ echo " taking Rebrand as the new title."
+ echo " Need to have be able to run the mount command, i.e. must be root"
+ exit
+fi
+
+
+get_global_variables
+mount_and_copy
+grub_title_boot_options
+kernel_image
+bootsplash
+linuxrc
+xbackground
+cleanup_and_make_iso
Property changes on: trunk/morph-scripts/morphix-rebrand.sh
___________________________________________________________________
Name: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.