, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
\ No newline at end of file
Property changes on: branches/valv/GPL_V2_LICENSE
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Distribution
===================================================================
--- branches/valv/package/Distribution (revision 0)
+++ branches/valv/package/Distribution (revision 665)
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chameleon_title
+
+
Property changes on: branches/valv/package/Distribution
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/fdisk
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/valv/package/fdisk
___________________________________________________________________
Added: svn:executable
+
Added: svn:mime-type
+ application/octet-stream
Index: branches/valv/package/buildpkg
===================================================================
--- branches/valv/package/buildpkg (revision 0)
+++ branches/valv/package/buildpkg (revision 665)
@@ -0,0 +1,292 @@
+#!/bin/bash
+
+# $1 Path to store built package
+
+packagesidentity="org.chameleon"
+
+packagename="AnVAL"
+
+pkgroot="${0%/*}"
+
+#version=$( grep I386BOOT_CHAMELEONVERSION sym/i386/vers.h | awk '{ print $3 }' | tr -d '\"' )
+version=$( cat version )
+stage=${version##*-}
+revision=$( grep I386BOOT_CHAMELEONREVISION sym/i386/vers.h | awk '{ print $3 }' | tr -d '\"' )
+builddate=$( grep I386BOOT_BUILDDATE sym/i386/vers.h | awk '{ print $3,$4 }' | tr -d '\"' )
+timestamp=$( date -j -f "%Y-%m-%d %H:%M:%S" "${builddate}" "+%s" )
+
+distributioncount=0
+xmlindent=0
+
+indent[0]="\t"
+indent[1]="\t\t"
+indent[2]="\t\t\t"
+indent[3]="\t\t\t\t"
+
+main ()
+{
+
+# clean up the destination path
+
+ rm -R -f "${1}"
+
+ echo "Building $packagename Install Package v${version%%-*} $stage r$revision $builddate"
+
+ outline[$((outlinecount++))]="${indent[$xmlindent]}"
+
+# build core package
+
+ mkdir -p ${1}/Core/Root/usr/sbin
+ mkdir -p ${1}/Core/Root/usr/local/bin
+ mkdir -p ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/boot ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/boot0 ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/boot1f32 ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/boot1h ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/boot1he ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/boot1hp ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/cdboot ${1}/Core/Root/usr/standalone/i386
+ cp -f ${1%/*}/i386/chain0 ${1}/Core/Root/usr/standalone/i386
+ fixperms "${1}/Core/Root/"
+ cp -f ${pkgroot}/fdisk ${1}/Core/Root/usr/sbin
+ local coresize=$( du -hkc "${1}/Core/Root" | tail -n1 | awk {'print $1'} )
+ buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\""
+
+# build standard package
+
+ mkdir -p ${1}/Standard/Root
+ mkdir -p ${1}/Standard/Scripts/Tools
+ cp -f ${pkgroot}/Scripts/Standard/* ${1}/Standard/Scripts
+ ditto --arch i386 `which SetFile` ${1}/Standard/Scripts/Tools/SetFile
+ buildpackage "${1}/Standard" "/" "${coresize}" "start_enabled=\"true\" start_selected=\"upgrade_allowed()\" selected=\"exclusive(choices['EnhancedHFS']) && exclusive(choices['EnhancedFAT'])\""
+
+# build efi fat32 package
+
+ mkdir -p ${1}/EnhancedFAT/Root
+ mkdir -p ${1}/EnhancedFAT/Scripts/Tools
+ cp -f ${pkgroot}/Scripts/FAT/* ${1}/EnhancedFAT/Scripts
+ ditto --arch i386 `which SetFile` ${1}/EnhancedFAT/Scripts/Tools/SetFile
+ buildpackage "${1}/EnhancedFAT" "/" "${coresize}" "start_visible=\"systemHasGPT()\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['EnhancedHFS'])\""
+
+# build efi hfs package
+
+ mkdir -p ${1}/EnhancedHFS/Root
+ mkdir -p ${1}/EnhancedHFS/Scripts/Tools
+ cp -f ${pkgroot}/Scripts/HFS/* ${1}/EnhancedHFS/Scripts
+ ditto --arch i386 `which SetFile` ${1}/EnhancedHFS/Scripts/Tools/SetFile
+ buildpackage "${1}/EnhancedHFS" "/" "${coresize}" "start_visible=\"systemHasGPT()\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['EnhancedFAT'])\""
+
+# build options packages
+
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+ choices[$((choicescount++))]="\n\n"
+ ((xmlindent++))
+ packagesidentity="org.chameleon"
+ options=($( find "${pkgroot}/Scripts/Options" -type d -depth 1 -not -name '.svn' ))
+ for (( i = 0 ; i < ${#options[@]} ; i++ ))
+ do
+ mkdir -p "${1}/${options[$i]##*/}/Root"
+ mkdir -p "${1}/${options[$i]##*/}/Scripts"
+
+ ditto --noextattr --noqtn "${options[$i]}/postinstall" "${1}/${options[$i]##*/}/Scripts/postinstall"
+
+ buildpackage "${1}/${options[$i]##*/}" "/" "" "start_selected=\"false\""
+ done
+ ((xmlindent--))
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+
+# build theme packages
+
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+ choices[$((choicescount++))]="\n\n"
+ ((xmlindent++))
+ packagesidentity="org.chameleon.theme"
+ artwork="${1%/*}"
+ themes=($( find "${artwork%/*}/artwork/themes" -type d -depth 1 -not -name '.svn' ))
+ for (( i = 0 ; i < ${#themes[@]} ; i++ ))
+ do
+ theme=$( echo ${themes[$i]##*/} | awk 'BEGIN{OFS=FS=""}{$1=toupper($1);print}' )
+ mkdir -p "${1}/${theme}/Root/"
+ ditto --noextattr --noqtn "${themes[$i]}" "${1}/${themes[$i]##*/}/Root/${theme}"
+ find "${1}/${themes[$i]##*/}" -name '.DS_Store' -or -name '.svn' -exec rm -R {} \+
+ find "${1}/${themes[$i]##*/}" -type f -exec chmod 644 {} \+
+
+ buildpackage "${1}/${theme}" "/.Chameleon/Extra/Themes" ""
+ rm -R -f "${1}/${i##*/}"
+ done
+
+ ((xmlindent--))
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+ choices[$((choicescount++))]="\n\n"
+
+ ((xmlindent++))
+
+# build kext packages
+
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+ choices[$((choicescount++))]="\n\n"
+ ((xmlindent++))
+ packagesidentity="org.chameleon"
+ kexts=($( find "${pkgroot}/Kexts" -type d -name '*.kext' -depth 1 ))
+ for (( i = 0 ; i < ${#kexts[@]} ; i++ ))
+ do
+ filename="${kexts[$i]##*/}"
+ mkdir -p "${1}/${filename%.kext}/Root/"
+ ditto --noextattr --noqtn --arch i386 "${kexts[$i]}" "${1}/${filename%.kext}/Root/${filename}"
+ find "${1}/${filename%.kext}" -name '.DS_Store' -or -name '.svn' -exec rm -R -f {} \; 2>/dev/null
+ fixperms "${1}/${filename%.kext}/Root/"
+ chown 501:20 "${1}/${filename%.kext}/Root/"
+ buildpackage "${1}/${filename%.kext}" "/.Chameleon/Extra/Extensions" ""
+ rm -R -f "${1}/${filename%.kext}"
+ done
+
+ ((xmlindent--))
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+
+ ((xmlindent--))
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+
+# build post install package
+
+ mkdir -p ${1}/Post/Root
+ mkdir -p ${1}/Post/Scripts
+ cp -f ${pkgroot}/Scripts/Post/* ${1}/Post/Scripts
+ buildpackage "${1}/Post" "/" "" "start_visible=\"false\" start_selected=\"true\""
+ outline[$((outlinecount++))]="${indent[$xmlindent]}"
+
+# build meta package
+
+ makedistribution "${1}" "${2}" "${3}" "${4}" "${5}"
+
+# clean up
+
+ rm -R -f "${1}"
+
+}
+
+fixperms ()
+{
+ # $1 path
+ find "${1}" -type f -exec chmod 644 {} \;
+ find "${1}" -type d -exec chmod 755 {} \;
+ chown -R 0:0 "${1}"
+}
+
+buildpackage ()
+{
+# $1 Path to package to build containing Root and or Scripts
+# $2 Install Location
+# $3 Size
+# $4 Options
+
+if [ -d "${1}/Root" ] && [ "${1}/Scripts" ]; then
+
+ local packagename="${1##*/}"
+ local identifier=$( echo ${packagesidentity}.${packagename//_/.} | tr [:upper:] [:lower:] )
+ find "${1}" -name '.DS_Store' -delete
+ local filecount=$( find "${1}/Root" | wc -l )
+ if [ "${3}" ]; then
+ local installedsize="${3}"
+ else
+ local installedsize=$( du -hkc "${1}/Root" | tail -n1 | awk {'print $1'} )
+ fi
+ local header="\n\n"
+ header+="\t\n"
+ rm -R -f "${1}/Temp"
+
+ [ -d "${1}/Temp" ] || mkdir -m 777 "${1}/Temp"
+ [ -d "${1}/Root" ] && mkbom "${1}/Root" "${1}/Temp/Bom"
+
+ if [ -d "${1}/Scripts" ]; then
+ header+="\t\n"
+ for script in $( find "${1}/Scripts" -type f \( -name 'pre*' -or -name 'post*' \) )
+ do
+ header+="\t\t<${script##*/} file=\"./${script##*/}\"/>\n"
+ done
+ header+="\t\n"
+ chown -R 0:0 "${1}/Scripts"
+ pushd "${1}/Scripts" >/dev/null
+ find . -print | cpio -o -z -H cpio > "../Temp/Scripts"
+ popd >/dev/null
+ fi
+
+ header+=""
+ echo -e "${header}" > "${1}/Temp/PackageInfo"
+ pushd "${1}/Root" >/dev/null
+ find . -print | cpio -o -z -H cpio > "../Temp/Payload"
+ popd >/dev/null
+ pushd "${1}/Temp" >/dev/null
+
+ xar -c -f "${1%/*}/${packagename// /}.pkg" --compression none .
+
+ popd >/dev/null
+
+ outline[$((outlinecount++))]="${indent[$xmlindent]}\t"
+
+ if [ "${4}" ]; then
+ local choiceoptions="${indent[$xmlindent]}${4}\n"
+ fi
+ choices[$((choicescount++))]="\n\t#${packagename// /}.pkg\n\n"
+
+ rm -R -f "${1}"
+fi
+}
+
+makedistribution ()
+{
+ rm -f "${1%/*}/${packagename// /}"*.pkg
+
+ find "${1}" -type f -name '*.pkg' -depth 1 | while read component
+ do
+ mkdir -p "${1}/${packagename}/${component##*/}"
+ pushd "${1}/${packagename}/${component##*/}" >/dev/null
+ xar -x -f "${1%}/${component##*/}"
+ popd >/dev/null
+ done
+
+ ditto --noextattr --noqtn "${pkgroot}/Distribution" "${1}/${packagename}/Distribution"
+ ditto --noextattr --noqtn "${pkgroot}/Resources" "${1}/${packagename}/Resources"
+
+ find "${1}/${packagename}/Resources" -type d -name '.svn' -exec rm -R -f {} \; 2>/dev/null
+
+ for (( i=0; i < ${#outline[*]} ; i++));
+ do
+ echo -e "${outline[$i]}" >> "${1}/${packagename}/Distribution"
+ done
+
+ for (( i=0; i < ${#choices[*]} ; i++));
+ do
+ echo -e "${choices[$i]}" >> "${1}/${packagename}/Distribution"
+ done
+
+ echo "" >> "${1}/${packagename}/Distribution"
+
+ perl -i -p -e "s/%CHAMELEONVERSION%/${version%%-*}/g" `find "${1}/${packagename}/Resources" -type f`
+ perl -i -p -e "s/%CHAMELEONREVISION%/${revision}/g" `find "${1}/${packagename}/Resources" -type f`
+
+ stage=${stage/RC/Release Candidate }
+ stage=${stage/FINAL/2.0 Final}
+ perl -i -p -e "s/%CHAMELEONSTAGE%/${stage}/g" `find "${1}/${packagename}/Resources" -type f`
+
+ find "${1}/${packagename}" -name '.DS_Store' -delete
+ pushd "${1}/${packagename}" >/dev/null
+ xar -c -f "${1%/*}/${packagename// /}-${version}-r${revision}.pkg" --compression none .
+ popd >/dev/null
+
+ md5=$( md5 "${1%/*}/${packagename// /}-${version}-r${revision}.pkg" | awk {'print $4'} )
+ echo "MD5 (${packagename// /}-${version}-r${revision}.pkg) = ${md5}" > "${1%/*}/${packagename// /}-${version}-r${revision}.pkg.md5"
+}
+
+main "${1}" "${2}" "${3}" "${4}" "${5}"
+
Property changes on: branches/valv/package/buildpkg
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/smbios.plist
===================================================================
--- branches/valv/package/smbios.plist (revision 0)
+++ branches/valv/package/smbios.plist (revision 665)
@@ -0,0 +1,48 @@
+
+
+
+
+ SMbiosversion
+ MP31.88Z.00C1.B00.0802091544
+ SMmanufacter
+ Apple Inc.
+ SMproductname
+ MacPro3,1
+ SMsystemversion
+ 1.0
+ SMserial
+ W87234JHYA4
+ SMexternalclock
+ 333
+ SMmaximalclock
+ 3000
+ SMmemtype
+ 19
+ SMmemspeed
+ 800
+ SMmemmanufacter_1
+ 0xAD00000000000000
+ SMmemserial_1
+ 0x00001020
+ SMmempart_1
+ 0x48594D503131325336344350362D59352020
+ SMmemmanufacter_2
+ 0xAD00000000000000
+ SMmemserial_2
+ 0x00003021
+ SMmempart_2
+ 0x48594D503131325336344350362D59352020
+ SMmemmanufacter_3
+ 0xAD00000000000000
+ SMmemserial_3
+ 0x00003021
+ SMmempart_3
+ 0x48594D503131325336344350362D59352020
+ SMmemmanufacter_4
+ 0xAD00000000000000
+ SMmemserial_4
+ 0x00003021
+ SMmempart_4
+ 0x48594D503131325336344350362D59352020
+
+
Property changes on: branches/valv/package/smbios.plist
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/HFS/postinstall
===================================================================
--- branches/valv/package/Scripts/HFS/postinstall (revision 0)
+++ branches/valv/package/Scripts/HFS/postinstall (revision 665)
@@ -0,0 +1,252 @@
+#!/bin/bash
+
+diskloader="/usr/standalone/i386/boot0"
+partitionloader="/usr/standalone/i386/boot1h"
+filesystemloader="/usr/standalone/i386/boot"
+bootervolumename="EFI"
+booterextensions="Extra/Extensions"
+
+bootresources="${0%/*}"
+
+diskmicrocodetype[1]="GRUB,47525542"
+diskmicrocodetype[2]="LILO,4c494c4f"
+
+start ()
+{
+# $1 volume
+
+osxvolume="${@}"
+
+if [ -z "${osxvolume}" ]; then
+ echo
+ echo "Cannot find the volume. Exiting."
+ exit
+fi
+
+bootdev=$( df "${osxvolume}" | sed -n '2p' | awk '{print $1}' )
+
+if [ "${bootdev}" = "${bootdev#*disk*s}" ]; then
+ echo
+ echo "ERROR Volume does not use slices."
+ echo "Volume may be stored on a RAID array."
+ echo
+ exit
+fi
+
+partitiontable=$( dd 2>/dev/null if=${bootdev%s*} count=1 skip=1 | dd 2>/dev/null count=8 bs=1 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+if [ "${partitiontable:0:16}" == "4546492050415254" ]; then
+ partitiontable=$( dd 2>/dev/null if=${bootdev%s*} count=1 | dd 2>/dev/null count=64 bs=1 skip=446 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+ if [ "${partitiontable:8:2}" == "ee" ]; then
+ if [ "${partitiontable:40:2}" == "00" ] && [ "${partitiontable:72:2}" == "00" ] && [ "${partitiontable:104:2}" == "00" ]; then
+ partitiontable="GPT"
+ else
+ partitiontable="GPT/MBR"
+ fi
+ fi
+else
+ echo
+ echo "ERROR Volume is not on a GPT partitioned disc."
+ echo
+ exit
+fi
+
+echo "${partitiontable} found."
+
+echo "OS X Volume is ${osxvolume}"
+echo "OX X Volume device is ${bootdev}"
+
+bootvolume="/Volumes/$bootervolumename"
+bootdev=${bootdev%s*}s1
+bootrdev=${bootdev/disk/rdisk}
+bootdisk=${bootdev%s*}
+bootrdisk=${bootdisk/disk/rdisk}
+bootslice=${bootdev#*disk*s}
+
+echo "EFI Volume device is ${bootdev}"
+echo "EFI Volume raw device is ${bootrdev}"
+echo "EFI Volume slice is ${bootslice}"
+echo "Disk device is ${bootdisk}"
+echo "Disk raw device is ${bootrdisk}"
+echo "Disk loader is ${diskloader}"
+echo "Partition loader is ${partitionloader}"
+echo "Filesystem loader is ${filesystemloader}"
+
+}
+
+checkdiskmicrocodetype ()
+{
+diskmicrocode=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+diskmicrocodetypecounter=0
+while [ ${diskmicrocodetypecounter} -lt ${#diskmicrocodetype[@]} ]; do
+ diskmicrocodetypecounter=$(( ${diskmicrocodetypecounter} + 1 ))
+ diskmicrocodetypeid=${diskmicrocodetype[${diskmicrocodetypecounter}]#*,}
+ if [ ! "${diskmicrocode}" = "${diskmicrocode/${diskmicrocodetypeid}/}" ]; then
+ echo "${diskmicrocodetype[${diskmicrocodetypecounter}]%,*} found."
+ fi
+done
+}
+
+checkdiskmicrocode ()
+{
+# 1 action ( check or set )
+
+diskmicrocode=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+diskmicrocodemd5=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | md5 )
+
+if [ $( echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) = 874 ]; then
+ if [ "${1}" = "set" ]; then
+ echo "No disk microcode found. Updating."
+ diskupdate=true
+ else
+ echo "No disk microcode found."
+ fi
+else
+ if [ ${1} = set ]; then
+ echo "Disk microcode found. Preserving."
+ else
+ echo "Disk microcode found."
+ fi
+ echo "Disk microcode MD5 is ${diskmicrocodemd5}"
+fi
+}
+
+checkdisksignature ()
+{
+disksignature=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=4 bs=1 skip=440 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+if [ $( echo "${disksignature}" | awk -F0 '{print NF-1}' ) = 8 ]; then
+ echo "No disk signature found."
+else
+ echo "Disk signature found."
+ echo "Disk signature is 0x${disksignature}"
+fi
+}
+
+checkpartitionbootcode ()
+{
+# 1 action ( check or set )
+
+partitionbootcode=$( dd if=${bootrdev} count=1 2>/dev/null | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+partitionbootcodeextended=$( dd if=${bootrdev} count=1 skip=1 2>/dev/null | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+if [ $( echo "${partitionbootcode}" | awk -F0 '{print NF-1}' ) = 1024 ]; then
+ if [ "${1}" = "set" ]; then
+ echo "No partition bootcode found. Updating."
+ else
+ echo "No partition bootcode found."
+ fi
+else
+ if [ "${1}" = "set" ]; then
+ echo "Partition bootcode found. Overwriting."
+ else
+ echo "Partition bootcode found."
+ fi
+ if [ $( echo "${partitionbootcodeextended}" | awk -F0 '{print NF-1}' ) = 1024 ]; then
+ partitionbootcodemd5=$( dd 2>/dev/null if=${bootrdev} count=1 | md5 )
+ else
+ partitionbootcodemd5=$( dd 2>/dev/null if=${bootrdev} count=2 | md5 )
+ echo "Partition bootcode is dual sector."
+ fi
+ echo "Partition bootcode MD5 is ${partitionbootcodemd5}"
+fi
+}
+
+checkpartitionactive ()
+{
+partitionactive=$( fdisk -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}')
+
+if [ -n "${partitionactive}" ]; then
+ echo "Partition flagged active is ${partitionactive}"
+else
+ echo "No partition flagged active."
+fi
+
+}
+
+start ${3}
+
+if [ "$( df | grep ${bootdev} )" ]; then
+ umount -f ${bootdev}
+fi
+
+if ! [ "$( fstyp ${bootdev} | grep hfs )" ]; then
+ echo "${bootdev} isn't a HFS partition"
+ echo "Executing command: newfs_hfs -v ${bootervolumename} ${bootdev}"
+ newfs_hfs -v "${bootervolumename}" "${bootdev}"
+else
+ echo "${bootdev} is already a HFS partition (skipping)"
+fi
+
+diskupdate=false
+checkdiskmicrocodetype
+checkdiskmicrocode set
+checkdisksignature
+checkpartitionbootcode set
+checkpartitionactive
+
+if ${diskupdate}; then
+ echo "Executing command: fdisk -u -f ${diskloader} -y ${bootdisk}"
+ fdisk -u -f "${osxvolume}/${diskloader}" -y ${bootdisk}
+fi
+
+echo "Executing command: dd if=${partitionloader} of=${bootrdev}"
+dd if="${osxvolume}/${partitionloader}" of=${bootrdev}
+
+# If table is GPT make the first partition active (BadAxe compatibility).
+[ "${partitiontable}" = "GPT" ] && bootslice=1
+if [[ "${partitiontable}" = "GPT" ]]; then
+ fdisk -e ${bootdisk} <<-MAKEACTIVE
+ print
+ flag ${bootslice}
+ write
+ y
+ quit
+ MAKEACTIVE
+fi
+
+checkdiskmicrocode check
+checkdisksignature
+checkpartitionbootcode check
+checkpartitionactive
+
+[ -d "${bootvolume}" ] || mkdir -p "${bootvolume}"
+echo "Executing command: mount_hfs ${bootdev} ${bootvolume}"
+mount_hfs "${bootdev}" "${bootvolume}"
+
+echo "Executing command: cp ${osxvolume}${filesystemloader} ${bootvolume}/boot"
+cp "${osxvolume}${filesystemloader}" "${bootvolume}/boot"
+
+if ! [ -d "${bootvolume}/Extra/Extensions" ]; then
+ echo "Executing command: mkdir -p ${bootvolume}/Extra/Extensions"
+ mkdir -p "${bootvolume}/Extra/Extensions"
+fi
+# unpack any existing Extensions.mkext already on the booter volume
+if [ -e "${bootvolume}/Extra/Extensions.mkext" ]; then
+ echo "Executing command: mkextunpack -d ${bootvolume}/Extra/Extensions ${bootvolume}/Extra/Extensions.mkext"
+ mkextunpack -d "${bootvolume}/Extra/Extensions" "${bootvolume}/Extra/Extensions.mkext"
+ echo "Executing command: rm -R -f ${bootvolume}/Extra/Extensions.mkext"
+ rm -R -f "${bootvolume}/Extra/Extensions.mkext"
+fi
+
+# copy existing /Extra
+if [ -d "${2}/Extra" ]; then
+ [ -d "${bootvolume}/Extra/Extensions" ] || mkdir -p "${bootvolume}/Extra/Extensions"
+ echo "Executing command: find ${2}/Extra -name '*.plist' -depth 1 -exec cp -f {} ${bootvolume}/Extra \;"
+ find "${2}/Extra" -name '*.plist' -depth 1 -exec cp -f {} "${bootvolume}/Extra/" \;
+ if [ -f "${2}/Extra/Extensions.mkext" ]; then
+ echo "Executing command: mkextunpack -d ${2}/Extra/Extensions ${2}/Extra/Extensions.mkext"
+ mkextunpack -d "${bootvolume}/Extra/Extensions" "${2}/Extra/Extensions.mkext"
+ fi
+ if [ -d "${2}/Extra/Extensions" ]; then
+ echo "Executing command: find ${2}/Extra/Extensions -name '*.kext' -depth 1 -exec cp -R {} ${bootvolume}/Extra/Extensions \;"
+ find "${2}/Extra/Extensions" -name '*.kext' -depth 1 -exec cp -R {} "${bootvolume}/Extra/Extensions" \;
+ fi
+fi
+
+# setup link for extras
+[ -h "${2}/.Chameleon" ] && unlink "${2}/.Chameleon"
+echo "Executing command: ln -s /Volumes/${bootervolumename} ${2}/.Chameleon"
+ln -s "/Volumes/${bootervolumename}" "${2}/.Chameleon"
+
+exit
Property changes on: branches/valv/package/Scripts/HFS/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Standard/postinstall
===================================================================
--- branches/valv/package/Scripts/Standard/postinstall (revision 0)
+++ branches/valv/package/Scripts/Standard/postinstall (revision 665)
@@ -0,0 +1,220 @@
+#!/bin/bash
+
+
+diskloader="boot0"
+partitionloader="boot1h"
+filesystemloader="boot"
+
+diskmicrocodetype[1]="GRUB,47525542"
+diskmicrocodetype[2]="LILO,4c494c4f"
+
+start ()
+{
+# 1 volume
+
+bootvolume="${@}"
+bootresources="${0%/*}"
+
+if [ -z "${bootvolume}" ]; then
+ echo
+ echo "Cannot find the volume. Exiting."
+ echo
+ exit
+fi
+
+bootdev=$( df "${bootvolume}" | sed -n '2p' | awk '{print $1}' )
+bootrdev=${bootdev/disk/rdisk}
+
+if [ "${bootdev}" = "${bootdev#*disk*s}" ]; then
+ echo
+ echo "ERROR Volume does not use slices."
+ echo
+ exit
+fi
+
+bootdisk=${bootdev%s*}
+bootrdisk=${bootdisk/disk/rdisk}
+bootslice=${bootdev#*disk*s}
+
+echo "Volume is ${bootvolume}"
+echo "Volume device is ${bootdev}"
+echo "Volume raw device is ${bootrdev}"
+echo "Volume slice is ${bootslice}"
+echo "Disk device is ${bootdisk}"
+echo "Disk raw device is ${bootrdisk}"
+echo "Disk loader is ${diskloader}"
+echo "Partition loader is ${partitionloader}"
+echo "Filesystem loader is ${filesystemloader}"
+echo "Boot Resources is ${bootresources}"
+
+}
+
+checkdiskmicrocodetype ()
+{
+diskmicrocode=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+diskmicrocodetypecounter=0
+while [ ${diskmicrocodetypecounter} -lt ${#diskmicrocodetype[@]} ]; do
+ diskmicrocodetypecounter=$(( ${diskmicrocodetypecounter} + 1 ))
+ diskmicrocodetypeid=${diskmicrocodetype[${diskmicrocodetypecounter}]#*,}
+ if [ ! "${diskmicrocode}" = "${diskmicrocode/${diskmicrocodetypeid}/}" ]; then
+ echo "${diskmicrocodetype[${diskmicrocodetypecounter}]%,*} found."
+ fi
+done
+}
+
+checkdiskmicrocode ()
+{
+# 1 action ( check or set )
+
+diskmicrocode=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+diskmicrocodemd5=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | md5 )
+
+if [ $( echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) = 874 ]; then
+ if [ "${1}" = "set" ]; then
+ echo "No disk microcode found. Updating."
+ diskupdate=true
+ else
+ echo "No disk microcode found."
+ fi
+else
+ if [ ${1} = set ]; then
+ echo "Disk microcode found. Preserving."
+ else
+ echo "Disk microcode found."
+ fi
+ echo "Disk microcode MD5 is ${diskmicrocodemd5}"
+fi
+}
+
+checkdisksignature ()
+{
+disksignature=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=4 bs=1 skip=440 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+if [ $( echo "${disksignature}" | awk -F0 '{print NF-1}' ) = 8 ]; then
+ echo "No disk signature found."
+else
+ echo "Disk signature found."
+ echo "Disk signature is 0x${disksignature}"
+fi
+}
+
+checkpartitionbootcode ()
+{
+# 1 action ( check or set )
+
+partitionbootcode=$( dd if=${bootrdev} count=1 2>/dev/null | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+partitionbootcodeextended=$( dd if=${bootrdev} count=1 skip=1 2>/dev/null | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+if [ $( echo "${partitionbootcode}" | awk -F0 '{print NF-1}' ) = 1024 ]; then
+ if [ "${1}" = "set" ]; then
+ echo "No partition bootcode found. Updating."
+ else
+ echo "No partition bootcode found."
+ fi
+else
+ if [ "${1}" = "set" ]; then
+ echo "Partition bootcode found. Overwriting."
+ else
+ echo "Partition bootcode found."
+ fi
+ if [ $( echo "${partitionbootcodeextended}" | awk -F0 '{print NF-1}' ) = 1024 ]; then
+ partitionbootcodemd5=$( dd 2>/dev/null if=${bootrdev} count=1 | md5 )
+ else
+ partitionbootcodemd5=$( dd 2>/dev/null if=${bootrdev} count=2 | md5 )
+ echo "Partition bootcode is dual sector."
+ fi
+ echo "Partition bootcode MD5 is ${partitionbootcodemd5}"
+fi
+}
+
+checkpartitionactive ()
+{
+partitionactive=$( fdisk -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}')
+
+if [ -n "${partitionactive}" ]; then
+ echo "Partition flagged active is ${partitionactive}"
+else
+ echo "No partition flagged active."
+fi
+
+}
+
+start ${3}
+
+#partitiontable=$( diskutil list ${bootdisk} | sed -n '3p' | awk '{print $2}' )
+#[ "${partitiontable}" = "GUID_partition_scheme" ] && echo "GPT found."
+#[ "${partitiontable}" = "FDisk_partition_scheme" ] && echo "MBR found."
+#[ "${partitiontable}" = "Apple_partition_scheme" ] && echo "APT found." && exit
+
+partitiontable=$( dd 2>/dev/null if=${bootdisk} count=1 skip=1 | dd 2>/dev/null count=8 bs=1 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+if [ "${partitiontable:0:16}" == "4546492050415254" ]; then
+ partitiontable=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=64 bs=1 skip=446 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+ if [ "${partitiontable:8:2}" == "ee" ]; then
+ if [ "${partitiontable:40:2}" == "00" ] && [ "${partitiontable:72:2}" == "00" ] && [ "${partitiontable:104:2}" == "00" ]; then
+ partitiontable="GPT"
+ else
+ partitiontable="GPT/MBR"
+ fi
+ fi
+else
+ partitiontable="MBR"
+fi
+
+echo "${partitiontable} found."
+
+diskupdate=false
+
+checkdiskmicrocodetype
+checkdiskmicrocode set
+checkdisksignature
+checkpartitionbootcode set
+checkpartitionactive
+
+if ${diskupdate}; then
+ echo "Executing command: fdisk -u -f /usr/standalone/i386/${diskloader} -y ${bootdisk}"
+ fdisk -u -f "${bootvolume}/usr/standalone/i386/${diskloader}" -y ${bootdisk}
+fi
+
+echo "Executing command: dd if=/usr/standalone/i386/${partitionloader} of=${bootrdev}"
+dd if="${bootvolume}/usr/standalone/i386/${partitionloader}" of=${bootrdev}
+
+echo "Executing command: cp /usr/standalone/i386/${filesystemloader} ${bootvolume}"
+cp "${bootvolume}/usr/standalone/i386/${filesystemloader}" "${bootvolume}"
+
+echo "Executing command: ${bootresources}/Tools/SetFile -a V ${bootvolume}/${filesystemloader}"
+"${bootresources}/Tools/SetFile" -a V "${bootvolume}/${filesystemloader}"
+
+# If table is GPT make the first partition active (BadAxe compatibility).
+[ "${partitiontable}" = "GPT" ] && bootslice=1
+fdisk -e ${bootdisk} <<-MAKEACTIVE
+print
+flag ${bootslice}
+write
+y
+quit
+MAKEACTIVE
+
+checkdiskmicrocode check
+checkdisksignature
+checkpartitionbootcode check
+checkpartitionactive
+
+if ! [ -d "${bootvolume}/Extra/Extensions" ]; then
+ echo "Executing command: mkdir -p ${bootvolume}/Extra/Extensions"
+ mkdir -p "${bootvolume}/Extra/Extensions"
+fi
+# unpack any existing Extensions.mkext already on the booter volume
+if [ -f "${2}/Extra/Extensions.mkext" ]; then
+ echo "Executing command: mkextunpack -d ${2}/Extra/Extensions ${2}/Extra/Extensions.mkext"
+ mkextunpack -d "${2}/Extra/Extensions" "${2}/Extra/Extensions.mkext"
+ echo "Executing command: rm -R -f ${2}/Extra/Extensions.mkext"
+ rm -R -f "${2}/Extra/Extensions.mkext"
+fi
+
+# setup link for extras
+[ -h "${2}/.Chameleon" ] && unlink "${2}/.Chameleon"
+echo "Executing command: ln -s . ${2}/.Chameleon"
+ln -s "." "${2}/.Chameleon"
+
+exit
Property changes on: branches/valv/package/Scripts/Standard/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Post/postinstall
===================================================================
--- branches/valv/package/Scripts/Post/postinstall (revision 0)
+++ branches/valv/package/Scripts/Post/postinstall (revision 665)
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+temp="/tmp/Chameleon"
+
+# source com.apple.boot.plist
+if ! [ -f "${2}/.Chameleon/Extra/com.apple.Boot.plist" ]; then
+ if [ -f "${2}/Library/Preferences/SystemConfiguration/com.apple.Boot.plist" ]; then
+ cp -f "${2}/Library/Preferences/SystemConfiguration/com.apple.Boot.plist" "${2}/.Chameleon/Extra"
+ fi
+fi
+
+# fix kext permissions
+find "${2}/.Chameleon/Extra/Extensions" -type f -exec chmod 644 {} \;
+find "${2}/.Chameleon/Extra/Extensions" -type d -exec chmod 755 {} \;
+chown -R 0:0 "${2}/.Chameleon/Extra/Extensions"
+
+# build mkext for extras
+[ -d "${temp}" ] && rm -R -f "${temp}"
+mkdir -p "${temp}/Extensions"
+ditto --noextattr --noqtn --arch i386 "${2}/.Chameleon/Extra/Extensions" "${temp}/Extensions"
+find "${temp}" -type f -exec chmod 644 {} \;
+find "${temp}" -type d -exec chmod 755 {} \;
+chown -R 0:0 "${temp}"
+kextcache -m "${temp}/Extensions.mkext" "${temp}/Extensions"
+cp -f "${temp}/Extensions.mkext" "${2}/.Chameleon/Extra"
+rm -R -f "${temp}"
+
+# remove link for extras install
+unlink "${2}/.Chameleon"
+
+# umount efi partition
+if [ -d /Volumes/EFI ]; then
+ umount -f /Volumes/EFI
+ rm -R -f /Volumes/EFI
+fi
+
+exit 0
\ No newline at end of file
Property changes on: branches/valv/package/Scripts/Post/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/FAT/postinstall
===================================================================
--- branches/valv/package/Scripts/FAT/postinstall (revision 0)
+++ branches/valv/package/Scripts/FAT/postinstall (revision 665)
@@ -0,0 +1,265 @@
+#!/bin/bash
+
+diskloader="/usr/standalone/i386/boot0"
+partitionloader="/usr/standalone/i386/boot1f32"
+filesystemloader="/usr/standalone/i386/boot"
+bootervolumename="EFI"
+booterextensions="Extra/Extensions"
+
+bootresources="${0%/*}"
+
+diskmicrocodetype[1]="GRUB,47525542"
+diskmicrocodetype[2]="LILO,4c494c4f"
+
+start ()
+{
+# $1 volume
+
+osxvolume="${@}"
+
+if [ -z "${osxvolume}" ]; then
+ echo
+ echo "Cannot find the volume. Exiting."
+ exit
+fi
+
+bootdev=$( df "${osxvolume}" | sed -n '2p' | awk '{print $1}' )
+
+if [ "${bootdev}" = "${bootdev#*disk*s}" ]; then
+ echo
+ echo "ERROR Volume does not use slices."
+ echo "Volume may be stored on a RAID array."
+ echo
+ exit
+fi
+
+bootuuid=$( diskutil info "$bootdev" | grep Volume\ UUID | awk {'print $3'} )
+partitiontable=$( diskutil list ${bootdev%s*} | sed -n '3p' | awk '{print $2}' )
+
+if [ ${partitiontable} != "GUID_partition_scheme" ]; then
+ echo
+ echo "ERROR Volume is not on a GPT partitioned disc."
+ echo
+ exit
+fi
+
+echo "GPT found."
+
+echo "OS X Volume is ${osxvolume}"
+echo "OX X Volume device is ${bootdev}"
+echo "OS X Volume UUID is ${bootuuid}"
+
+
+bootvolume="/Volumes/$bootervolumename"
+bootdev=${bootdev%s*}s1
+bootrdev=${bootdev/disk/rdisk}
+bootdisk=${bootdev%s*}
+bootrdisk=${bootdisk/disk/rdisk}
+bootslice=${bootdev#*disk*s}
+
+echo "EFI Volume device is ${bootdev}"
+echo "EFI Volume raw device is ${bootrdev}"
+echo "EFI Volume slice is ${bootslice}"
+echo "Disk device is ${bootdisk}"
+echo "Disk raw device is ${bootrdisk}"
+echo "Disk loader is ${diskloader}"
+echo "Partition loader is ${partitionloader}"
+echo "Filesystem loader is ${filesystemloader}"
+
+}
+
+checkdiskmicrocodetype ()
+{
+diskmicrocode=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+diskmicrocodetypecounter=0
+while [ ${diskmicrocodetypecounter} -lt ${#diskmicrocodetype[@]} ]; do
+ diskmicrocodetypecounter=$(( ${diskmicrocodetypecounter} + 1 ))
+ diskmicrocodetypeid=${diskmicrocodetype[${diskmicrocodetypecounter}]#*,}
+ if [ ! "${diskmicrocode}" = "${diskmicrocode/${diskmicrocodetypeid}/}" ]; then
+ echo "${diskmicrocodetype[${diskmicrocodetypecounter}]%,*} found."
+ fi
+done
+}
+
+checkdiskmicrocode ()
+{
+# 1 action ( check or set )
+
+diskmicrocode=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+diskmicrocodemd5=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=1 bs=437 | md5 )
+
+if [ $( echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) = 874 ]; then
+ if [ "${1}" = "set" ]; then
+ echo "No disk microcode found. Updating."
+ diskupdate=true
+ else
+ echo "No disk microcode found."
+ fi
+else
+ if [ ${1} = set ]; then
+ echo "Disk microcode found. Preserving."
+ else
+ echo "Disk microcode found."
+ fi
+ echo "Disk microcode MD5 is ${diskmicrocodemd5}"
+fi
+}
+
+checkdisksignature ()
+{
+disksignature=$( dd 2>/dev/null if=${bootdisk} count=1 | dd 2>/dev/null count=4 bs=1 skip=440 | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+if [ $( echo "${disksignature}" | awk -F0 '{print NF-1}' ) = 8 ]; then
+ echo "No disk signature found."
+else
+ echo "Disk signature found."
+ echo "Disk signature is 0x${disksignature}"
+fi
+}
+
+checkpartitionbootcode ()
+{
+# 1 action ( check or set )
+
+partitionbootcode=$( dd if=${bootrdev} count=1 2>/dev/null | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+partitionbootcodeextended=$( dd if=${bootrdev} count=1 skip=1 2>/dev/null | perl -ne '@a=split"";for(@a){printf"%02x",ord}' )
+
+if [ $( echo "${partitionbootcode}" | awk -F0 '{print NF-1}' ) = 1024 ]; then
+ if [ "${1}" = "set" ]; then
+ echo "No partition bootcode found. Updating."
+ else
+ echo "No partition bootcode found."
+ fi
+else
+ if [ "${1}" = "set" ]; then
+ echo "Partition bootcode found. Overwriting."
+ else
+ echo "Partition bootcode found."
+ fi
+ if [ $( echo "${partitionbootcodeextended}" | awk -F0 '{print NF-1}' ) = 1024 ]; then
+ partitionbootcodemd5=$( dd 2>/dev/null if=${bootrdev} count=1 | md5 )
+ else
+ partitionbootcodemd5=$( dd 2>/dev/null if=${bootrdev} count=2 | md5 )
+ echo "Partition bootcode is dual sector."
+ fi
+ echo "Partition bootcode MD5 is ${partitionbootcodemd5}"
+fi
+}
+
+checkpartitionactive ()
+{
+partitionactive=$( fdisk -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}')
+
+if [ -n "${partitionactive}" ]; then
+ echo "Partition flagged active is ${partitionactive}"
+else
+ echo "No partition flagged active."
+fi
+
+}
+
+start ${3}
+
+if [ "$( df | grep ${bootdev} )" ]; then
+ umount -f ${bootdev}
+fi
+
+#if [[ `dd if=/dev/disk${1}s1 count=8 bs=1 skip=82 | uuencode -m -|head -n 2|tail -n 1` != "RkFUMzIgICA=" ]]; then
+# echo "${bootdev} isn't a FAT32 partition"
+# newfs_msdos -v "${bootervolumename}" "${bootdev}"
+#fi
+
+if ! [ "$( fstyp ${bootdev} | grep msdos )" ]; then
+ echo "${bootdev} isn't a FAT32 partition"
+ echo "Executing command: newfs_msdos -F 32 ${bootdev}"
+ newfs_msdos -F 32 "${bootdev}"
+else
+ echo "${bootdev} is already a FAT32 partition (skipping)"
+fi
+
+diskupdate=false
+checkdiskmicrocodetype
+checkdiskmicrocode set
+checkdisksignature
+checkpartitionbootcode set
+checkpartitionactive
+
+if ${diskupdate}; then
+ echo "Executing command: fdisk -u -f ${diskloader} -y ${bootdisk}"
+ fdisk -u -f "${osxvolume}/${diskloader}" -y ${bootdisk}
+fi
+
+#echo "Executing command: dd if=${partitionloader} of=${bootrdev}"
+#dd if="${osxvolume}/${partitionloader}" of=${bootrdev}
+
+echo "Stage 1"
+
+echo "Executing command: dd if=${bootrdev} count=1 bs=512 of=/tmp/origbs"
+dd if=${bootrdev} count=1 bs=512 of=/tmp/origbs
+
+echo "Executing command: cp ${osxvolume}/${partitionloader} /tmp/newbs"
+cp "${osxvolume}/${partitionloader}" /tmp/newbs
+
+echo "Executing command: dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc"
+dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
+
+echo "Executing command: dd of=${bootrdev} count=1 bs=512 if=/tmp/newbs"
+dd if=/tmp/newbs of=${bootrdev} count=1 bs=512
+
+# If table is MBR make the correct slice active. If table is GPT make the first partition active (BadAxe compatibility).
+[ "${partitiontable}" = "GUID_partition_scheme" ] && bootslice=1
+if [[ "${partitiontable}" = "FDisk_partition_scheme" || "${partitiontable}" = "GUID_partition_scheme" ]]; then
+ fdisk -e ${bootdisk} <<-MAKEACTIVE
+ print
+ flag ${bootslice}
+ write
+ y
+ quit
+ MAKEACTIVE
+fi
+
+checkdiskmicrocode check
+checkdisksignature
+checkpartitionbootcode check
+checkpartitionactive
+
+[ -d "${bootvolume}" ] || mkdir -p "${bootvolume}"
+echo "Executing command: mount_hfs ${bootdev} ${bootvolume}"
+mount_msdos -u 0 -g 0 "${bootdev}" "${bootvolume}"
+
+echo "Executing command: cp ${osxvolume}${filesystemloader} ${bootvolume}/boot"
+cp "${osxvolume}${filesystemloader}" "${bootvolume}/boot"
+
+if ! [ -d "${bootvolume}/Extra/Extensions" ]; then
+ echo "Executing command: mkdir -p ${bootvolume}/Extra/Extensions"
+ mkdir -p "${bootvolume}/Extra/Extensions"
+fi
+# unpack any existing Extensions.mkext already on the booter volume
+if [ -e "${bootvolume}/Extra/Extensions.mkext" ]; then
+ echo "Executing command: mkextunpack -d ${bootvolume}/Extra/Extensions ${bootvolume}/Extra/Extensions.mkext"
+ mkextunpack -d "${bootvolume}/Extra/Extensions" "${bootvolume}/Extra/Extensions.mkext"
+ echo "Executing command: rm -R -f ${bootvolume}/Extra/Extensions.mkext"
+ rm -R -f "${bootvolume}/Extra/Extensions.mkext"
+fi
+
+# copy existing /Extra
+if [ -d "${2}/Extra" ]; then
+ [ -d "${bootvolume}/Extra/Extensions" ] || mkdir -p "${bootvolume}/Extra/Extensions"
+ echo "Executing command: find ${2}/Extra -name '*.plist' -depth 1 -exec cp -f {} ${bootvolume}/Extra \;"
+ find "${2}/Extra" -name '*.plist' -depth 1 -exec cp -f {} "${bootvolume}/Extra/" \;
+ if [ -f "${2}/Extra/Extensions.mkext" ]; then
+ echo "Executing command: mkextunpack -d ${2}/Extra/Extensions ${2}/Extra/Extensions.mkext"
+ mkextunpack -d "${bootvolume}/Extra/Extensions" "${2}/Extra/Extensions.mkext"
+ fi
+ if [ -d "${2}/Extra/Extensions" ]; then
+ echo "Executing command: find ${2}/Extra/Extensions -name '*.kext' -depth 1 -exec cp -R {} ${bootvolume}/Extra/Extensions \;"
+ find "${2}/Extra/Extensions" -name '*.kext' -depth 1 -exec cp -R {} "${bootvolume}/Extra/Extensions" \;
+ fi
+fi
+
+# setup link for extras
+echo "Executing command: ln -s /Volumes/${bootervolumename} ${2}/.Chameleon"
+ln -s "/Volumes/${bootervolumename}" "${2}/.Chameleon"
+
+exit
Property changes on: branches/valv/package/Scripts/FAT/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/ForceHPET/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/ForceHPET/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/ForceHPET/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="ForceHPET"
+string="y"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp -f "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=y to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/ForceHPET/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/EHCIacquire/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/EHCIacquire/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/EHCIacquire/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="EHCIacquire"
+string="y"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=${string} to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/EHCIacquire/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/GUI/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/GUI/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/GUI/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="GUI"
+string="n"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=${string} to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/GUI/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/EthernetBuiltIn/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/EthernetBuiltIn/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/EthernetBuiltIn/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="EthernetBuiltIn"
+string="y"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp -f "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=y to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/EthernetBuiltIn/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/ForceWake/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/ForceWake/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/ForceWake/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="ForceWake"
+string="y"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp -f "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=y to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/ForceWake/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/GraphicsEnabler/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/GraphicsEnabler/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/GraphicsEnabler/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="GraphicsEnabler"
+string="y"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp -f "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=y to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/GraphicsEnabler/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Scripts/Options/UHCIreset/postinstall
===================================================================
--- branches/valv/package/Scripts/Options/UHCIreset/postinstall (revision 0)
+++ branches/valv/package/Scripts/Options/UHCIreset/postinstall (revision 665)
@@ -0,0 +1,169 @@
+#!/bin/bash
+
+# set com.apple.Boot.plist options
+
+overide="UHCIreset"
+string="y"
+
+main ()
+{
+
+ bootplist="${3}/.Chameleon/Extra/com.apple.Boot.plist"
+ systemplist="/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
+
+ bootoptionshdextra[1]="${overide}"
+ bootoptionshdextra[2]="${string}"
+
+ [ ! -d "${bootplist%/*}" ] && mkdir -p "${bootplist%/*}"
+
+ if [ ! -f "${bootplist}" ]; then
+ if [ -f "${systemplist}" ]; then
+ cp "${systemplist}" "${bootplist}"
+ fi
+ fi
+
+ xmlvalue=$( getxmlvalue ${overide} "${bootplist}" | tr "[:upper:]" "[:lower:]" )
+
+ case "${xmlvalue:0:1}" in
+
+ y) echo "${overide}=y already set in ${bootplist} skipping."
+ ;;
+
+ n) echo "${overide}=n is set in ${bootplist} leaving."
+ ;;
+
+ *) echo "Adding ${overide}=y to ${bootplist}"
+ array=("${bootoptionshdextra[@]}")
+ searchfilereplaceline "${bootplist}" "Kernel Flags" "" "" "2"
+ ;;
+ esac
+
+ chown "${USER}:20" "${bootplist}"
+}
+
+getxmlvalue ()
+{
+# 1 xml key
+# 2 xml file
+if [ -f "${2}" ]; then
+ local value
+ while read value; do
+ if [ ! "${value}" = "${value/${1}/}" ]; then
+ read value
+ value="${value#*<}" ; value="<${value}" ; value="${value#*>}" ; value="${value# *}" ; value="${value%%<*}"
+ echo "$value"
+ break
+ fi
+ done < "${2}"
+fi
+}
+
+searchfilereplaceline ()
+{
+
+mv "${1}" "${1}.orig"
+
+prefunctionifs="${IFS}"
+
+unset fileinput
+unset fileoutput
+unset find
+unset replace
+unset deletelines
+unset deletelinesskip
+unset insertlinesskip
+
+fileinput="${1}.orig"
+fileoutput="${1}"
+find="${2}"
+replace="${3}"
+deletelines="${4%,*}"
+insertlinesskip="${5}"
+
+matchlinefound="0"
+
+if [ "${#4}" = "${4#*,}" ]; then
+ deletelinesskip="0"
+ else
+ deletelinesskip="${4#*,}"
+fi
+
+IFS="\n"
+while read line
+do
+ {
+ if [ ! "${line}" = "${line/${find}/}" ]; then
+ {
+ # Trim the longest match from the end for <*
+ xmlelementindent="${line%%<*}"
+
+ # Trim the longest match from the start for *<
+ xmlelementtemp="${line#*<}"
+ # Add back in stripped <
+ xmlelement="<${xmlelementtemp}"
+
+ # Trim the shortest match from the start for <
+ xmltagtemp="${xmlelement#<}"
+ # Trim the longest match from the end for >*
+ xmltag="${xmltagtemp%%>*}"
+
+ # Trim the shortest match from the start for *>
+ xmltexttemp="${xmlelement#*>}"
+ # Trim the longest match from the end for <*
+ xmltext="${xmltexttemp%%<*}"
+
+ if [ "${replace}" ]; then
+ {
+ echo "${xmlelementindent}<${xmltag}>${replace}${xmltag}>" >>"${fileoutput}"
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+ matchlinefound="1"
+
+ }
+ else
+ {
+
+ if [ "${insertlinesskip}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -le "${insertlinesskip}" ]; then
+ {
+ if [ "${matchlinefound}" = "${insertlinesskip}" ]; then
+ {
+ arraysize=0
+ while [ ${arraysize} -lt ${#array[@]} ];
+ do
+ echo "${xmlelementindent}${array[${arraysize}]}" >>"${fileoutput}"
+ let arraysize="${arraysize}+1"
+ done
+ }
+ fi
+ }
+ fi
+
+ if [ "${deletelines}" ] && [ "${matchlinefound}" -gt 0 ] && [ "${matchlinefound}" -lt $((${deletelines}+${deletelinesskip})) ] && [ "${matchlinefound}" -ge ${deletelinesskip} ]; then
+ {
+ :
+ }
+ else
+ {
+ echo "${line}" >>"${fileoutput}"
+ }
+ fi
+
+ if [ "${matchlinefound}" -gt 0 ]; then
+ let matchlinefound="${matchlinefound}+1"
+ fi
+
+ }
+ fi
+ }
+done < "${fileinput}"
+
+IFS=${prefunctionifs}
+
+rm -f "${fileinput}"
+}
+
+main "${1}" "${2}" "${3}" "${4}"
Property changes on: branches/valv/package/Scripts/Options/UHCIreset/postinstall
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Italian.lproj/Description.html
===================================================================
--- branches/valv/package/Resources/Italian.lproj/Description.html (revision 0)
+++ branches/valv/package/Resources/Italian.lproj/Description.html (revision 665)
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+Chameleon è la combinazione di diverse parti del boot loader.
È basato sulle modifiche di David Elliott sull'implementazione "EFI" al progetto della Apple sul boot-132.
Chameleon presenta le seguenti caratteristiche principali:
+
+Nuove caratteristiche di Chameleon 2.0
+
+ - Interfaccia grafica completamente personalizzabile per dare maggiori colori al Darwin Bootloader.
+ - Avviare DVD retail semplicemente caricando una immagine ramdisk senza l'utilizzo di programmi aggiuntivi.
+ - Ibernazione. Godetevi nel riprendere il vostro Mac OS X con un'immagine di anteprima.
+ - Sovrascrittura dle SMBIOS per personalizzare i valori dell'SMBIOS.
+ - Sovrascrittura della tabella DSDT, potendo selezionare una ottimizzata che risolve svariate problematiche.
+
+ - Iniezione delle Proprità delle Periferiche con stringhe EFI in device-properties.
+ - boot0 / boot1h ibrido per dischi partizionati in MBR e GPT.
+ - Riconoscimento automatico della frequenza anche sui recenti processori AMD.
+ - Supporta il RAID software di Apple.
+
+Per maggiori informazioni, visita : http://chameleon.osx86.hu
+
+
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Italian.lproj/Description.html
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Italian.lproj/Localizable.strings
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/valv/package/Resources/Italian.lproj/Localizable.strings
___________________________________________________________________
Added: svn:executable
+
Added: svn:mime-type
+ application/octet-stream
Index: branches/valv/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf
===================================================================
--- branches/valv/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf (revision 0)
+++ branches/valv/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf (revision 665)
@@ -0,0 +1,25 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;\red65\green78\blue255;}
+\paperw12240\paperh15840\margl1440\margr1440\vieww13160\viewh11700\viewkind0
+\pard\ri0\qc
+
+\f0\b\fs72 \cf0 AnVAL
+\fs50 \
+
+\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION%
+\fs50 \
+\
+\cf2 %CHAMELEONSTAGE%\cf0 \
+\
+\pard\ri0\ql\qnatural
+
+\fs26 \cf0 Sviluppatori: Crazor, Dense, fassl, fxtentacle, iNDi, JrCs, Kabyl, kaitek, mackerintel, mercurysquad, mozodojo, munky, rekursor, Turbo & zef \
+\
+Grazie a : asereBLN, bumby, cosmolt, dfe, Galaxy, kalyway, Krazubu, netkas, sckevyn, smith@@, THeKiNG, XyZ, blackosx
+\b0\fs30 \
+\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\fs26 \cf0 Copyright \'a9 2010}
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf
===================================================================
--- branches/valv/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf (revision 0)
+++ branches/valv/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf (revision 665)
@@ -0,0 +1,34 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;\red65\green78\blue255;\red255\green0\blue0;}
+\margl1440\margr1440\vieww11660\viewh12980\viewkind0
+\pard\ri0\qc
+
+\f0\b\fs72 \cf0 Chameleon
+\fs50 \
+
+\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION%
+\fs50 \
+\
+\cf2 %CHAMELEONSTAGE%\cf0 \
+\pard\ri0\ql\qnatural
+
+\fs26 \cf0 \
+\pard\ri0\qc
+
+\fs50 \cf3 Installazione terminata!
+\b0\fs26 \cf0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\fs18 \cf0 \
+{\field{\*\fldinst{HYPERLINK "http://chameleon.osx86.hu/"}}{\fldrslt
+\fs26 http://chameleon.osx86.hu/}}
+\fs26 \
+{\field{\*\fldinst{HYPERLINK "http://forum.voodooprojects.org/index.php"}}{\fldrslt http://forum.voodooprojects.org/index.php}}
+\b \
+\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\b0\fs30 \cf0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\fs26 \cf0 Copyright \'a9 2010}
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Italian.lproj/License.rtf
===================================================================
--- branches/valv/package/Resources/Italian.lproj/License.rtf (revision 0)
+++ branches/valv/package/Resources/Italian.lproj/License.rtf (revision 665)
@@ -0,0 +1,11 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;}
+\vieww22060\viewh18360\viewkind0
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\f0\b\fs20 \cf0 ITALIANO\
+
+\b0 \
+EA0401\
+Rev. 4/1/09}
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Italian.lproj/License.rtf
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/background.tiff
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/valv/package/Resources/background.tiff
___________________________________________________________________
Added: svn:executable
+
Added: svn:mime-type
+ application/octet-stream
Index: branches/valv/package/Resources/Portuguese.lproj/Description.html
===================================================================
--- branches/valv/package/Resources/Portuguese.lproj/Description.html (revision 0)
+++ branches/valv/package/Resources/Portuguese.lproj/Description.html (revision 665)
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+O Chameleon é um boot loader que combina vários componentes.
Ele é baseado na implementação de fake EFI feita por David Elliott, adicionada ao projeto boot-132 da Apple.
O Chameleon é extendido com as seguintes caracterÃsticas chave:
+
+Novos recursos no Chameleon 2.0
+
+ - Interface gráfica (GUI) totalmente personalizável para trazer algumas cores ao Bootloader Darwin.
+ - Inicializa DVDs retail lendo uma imagem ramdisk diretamente, sem ajuda de nenhum programa adicional.
+ - Hibernação. Aproveite continuar o seu Mac OS X com uma amostra de imagem da tela.
+ - Substituição de SMBIOS para modificar os valores de fábrica.
+ - Substituição de DSDT para usar uma tabela modificada que pode resolver diversos problemas.
+
+ - Injeção de propriedades de dispositivo através do string device-properties.
+ - boot0 / boot1h hÃbridos para discos particionados em MBR e GPT.
+ - Detecção automática de FSB mesmo para processadores AMD recentes.
+ - Suporte a Software RAID da Apple.
+
+Para informações detalhadas visite: http://chameleon.osx86.hu
+
+
Property changes on: branches/valv/package/Resources/Portuguese.lproj/Description.html
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Portuguese.lproj/Localizable.strings
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/valv/package/Resources/Portuguese.lproj/Localizable.strings
___________________________________________________________________
Added: svn:executable
+
Added: svn:mime-type
+ application/octet-stream
Index: branches/valv/package/Resources/Portuguese.lproj/Welcome.rtfd/TXT.rtf
===================================================================
--- branches/valv/package/Resources/Portuguese.lproj/Welcome.rtfd/TXT.rtf (revision 0)
+++ branches/valv/package/Resources/Portuguese.lproj/Welcome.rtfd/TXT.rtf (revision 665)
@@ -0,0 +1,26 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;\red65\green78\blue255;}
+\paperw12240\paperh15840\margl1440\margr1440\vieww11660\viewh12980\viewkind0
+\pard\ri0\qc
+
+\f0\b\fs72 \cf0 AnVAL
+\fs50 \
+
+\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION%
+\fs50 \
+\
+\cf2 %CHAMELEONSTAGE%
+\fs26 \cf0 \
+\
+\pard\ri0\ql\qnatural
+\cf0 Desenvolvedores: Crazor, Dense, fassl, fxtentacle, iNDi, JrCs, Kabyl, kaitek, mackerintel, mercurysquad, mozodojo, munky, rekursor, Turbo & zef \
+\
+\
+Agradecimentos a: asereBLN, bumby, cosmolt, dfe, Galaxy, kalyway, Krazubu, netkas, sckevyn, smith@@, THeKiNG, XyZ, blackosx\
+\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\b0\fs30 \cf0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\fs26 \cf0 Copyright \'a9 2010}
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Portuguese.lproj/Welcome.rtfd/TXT.rtf
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Portuguese.lproj/Conclusion.rtfd/TXT.rtf
===================================================================
--- branches/valv/package/Resources/Portuguese.lproj/Conclusion.rtfd/TXT.rtf (revision 0)
+++ branches/valv/package/Resources/Portuguese.lproj/Conclusion.rtfd/TXT.rtf (revision 665)
@@ -0,0 +1,34 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;\red65\green78\blue255;\red255\green0\blue0;}
+\margl1440\margr1440\vieww11660\viewh12980\viewkind0
+\pard\ri0\qc
+
+\f0\b\fs72 \cf0 Chameleon
+\fs50 \
+
+\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION%
+\fs50 \
+\
+\cf2 %CHAMELEONSTAGE%\cf0 \
+\pard\ri0\ql\qnatural
+
+\fs26 \cf0 \
+\pard\ri0\qc
+
+\fs50 \cf3 Instala\'e7\'e3o Conclu\'edda!
+\b0\fs26 \cf0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\fs18 \cf0 \
+{\field{\*\fldinst{HYPERLINK "http://chameleon.osx86.hu/"}}{\fldrslt
+\fs26 http://chameleon.osx86.hu/}}
+\fs26 \
+{\field{\*\fldinst{HYPERLINK "http://forum.voodooprojects.org/index.php"}}{\fldrslt http://forum.voodooprojects.org/index.php}}
+\b \
+\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\b0\fs30 \cf0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\fs26 \cf0 Copyright \'a9 2010}
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Portuguese.lproj/Conclusion.rtfd/TXT.rtf
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Portuguese.lproj/License.rtf
===================================================================
--- branches/valv/package/Resources/Portuguese.lproj/License.rtf (revision 0)
+++ branches/valv/package/Resources/Portuguese.lproj/License.rtf (revision 665)
@@ -0,0 +1,11 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;}
+\vieww22060\viewh18360\viewkind0
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\f0\b\fs20 \cf0 PORTUGUESE\
+
+\b0 \
+EA0401\
+Rev. 4/1/09}
\ No newline at end of file
Property changes on: branches/valv/package/Resources/Portuguese.lproj/License.rtf
___________________________________________________________________
Added: svn:executable
+
Index: branches/valv/package/Resources/Bulgarian.lproj/Description.html
===================================================================
--- branches/valv/package/Resources/Bulgarian.lproj/Description.html (revision 0)
+++ branches/valv/package/Resources/Bulgarian.lproj/Description.html (revision 665)
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+Chameleon е ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ разбични boot loader компоненти.
Базиран е на fake EFI изпълнението на Дейвид Ейлиът добавено към проекта boot-132 на Apple.
Chameleon е разширен ÑÑŠÑ Ñледните ключови функции:
+
+Ðови функции в Chameleon 2.0
+
+ - Ðапълно управлÑем графичен Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð·Ð° добавÑне на живи цветове към Darwin Bootloader.
+ - Boot-ва retail DVD-та чрез директно зареждане на ramdisk image без помоща на допълнителни програми.
+ - ХибернациÑ.
+ - SMBIOS замеÑтване, за да бъдат модифицирани оригиналните SMBIOS ÑтойноÑти.
+ - DSDT замеÑтване, за да бъде използвано модифицирано DSDT, което решава множеÑтво проблеми.
+
+ - Вграждане на оÑобеноÑтите на различни хардуерни уÑтройÑтва поÑредÑтвом device-properties Ñтрингове.
+ - Хибридни boot0 / boot1h за MBR и GPT разделени диÑкове..
+ - Ðвтоматично разпознаване на FSB за новите AMD процеÑори.
+ - Поддръжка на Apple Software RAID..
+
+За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñетете: http://chameleon.osx86.hu
+
+
+