Index: trunk/PackageBuilder/package/Distribution =================================================================== --- trunk/PackageBuilder/package/Distribution (revision 0) +++ trunk/PackageBuilder/package/Distribution (revision 338) @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + Chameleon_title + + Index: trunk/PackageBuilder/package/slimpkg.sh =================================================================== --- trunk/PackageBuilder/package/slimpkg.sh (revision 0) +++ trunk/PackageBuilder/package/slimpkg.sh (revision 338) @@ -0,0 +1,368 @@ +#!/bin/bash + +# $1 Path to store built package + +packagesidentity="org.chameleon" + +packagename="Chameleon" + +pkgroot="${0%/*}" + +COL_BLACK="\x1b[30;01m" +COL_RED="\x1b[31;01m" +COL_GREEN="\x1b[32;01m" +COL_YELLOW="\x1b[33;01m" +COL_MAGENTA="\x1b[35;01m" +COL_CYAN="\x1b[36;01m" +COL_WHITE="\x1b[37;01m" +COL_BLUE="\x1b[34;01m" +COL_RESET="\x1b[39;49;00m" + +#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" ) + +# ================= + +develop=" Crazor, Dense, fassl, fxtentacle, iNDi, JrCs, Kabyl, kaitek, mackerintel, mercurysquad, munky, Slice, meklort, mozodojo, rekursor, Turbo, cparm, valv & zef " + +credits=" andyvand, asereBLN, Azimut, bumby, cosmo1t, dfe, Galaxy, kalyway, Krazubu, MasterChief, netkas, sckevyn, smith@@, THeKiNG, DutchHockeyPro & Andy" + +pkgdev=" blackosx, ErmaC , scrax" + +# ================= + +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 "" +echo -e $COL_BLACK" ---------------------"$COL_RESET +echo -e $COL_BLACK" Building Slim Package"$COL_RESET +echo -e $COL_BLACK" ---------------------"$COL_RESET +echo "" + +outline[$((outlinecount++))]="${indent[$xmlindent]}" + +# build core package + echo "================= Core =================" + ((xmlindent++)) + packagesidentity="org.chameleon.core" + mkdir -p ${1}/Core/Root/usr/sbin + mkdir -p ${1}/Core/Root/usr/local/bin + mkdir -p ${1}/Core/Root/usr/standalone/i386 +# if [ "$(ls -A "${1%/*}/i386/modules")" ]; then +# echo "Modules found." +# mkdir -p ${1}/Core/Root/usr/standalone/i386/modules +# cp -R ${1%/*}/i386/modules ${1}/Core/Root/usr/standalone/i386 +# else +# echo "No found modules into dir module" +# fi + ditto --noextattr --noqtn ${1%/*}/i386/boot ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot0 ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot0md ${1}/Core/Root/usr/standalone/i386 +# ditto --noextattr --noqtn ${1%/*}/i386/boot0hf ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1f32 ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1h ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1he ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1hp ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/cdboot ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/chain0 ${1}/Core/Root/usr/standalone/i386 +# fixperms "${1}/Core/Root/" + ditto --noextattr --noqtn ${1%/*}/i386/fdisk440 ${1}/Core/Root/usr/sbin + ditto --noextattr --noqtn ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin + local coresize=$( du -hkc "${1}/Core/Root" | tail -n1 | awk {'print $1'} ) + echo " [BUILD] i386 " + buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1 + +# build Chameleon package + echo "================= Chameleon =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + + # 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 + echo " [BUILD] Standard " + buildpackage "${1}/Standard" "/" "${coresize}" "start_enabled=\"true\" start_selected=\"upgrade_allowed()\" selected=\"exclusive(choices['EFI']) && exclusive(choices['noboot'])\"" >/dev/null 2>&1 + # End build standard package + + # build efi package + mkdir -p ${1}/EFI/Root + mkdir -p ${1}/EFI/Scripts/Tools + cp -f ${pkgroot}/Scripts/EFI/* ${1}/EFI/Scripts + # ditto --arch i386 `which SetFile` ${1}/EFI/Scripts/Tools/SetFile + echo " [BUILD] EFI " + buildpackage "${1}/EFI" "/" "${coresize}" "start_visible=\"systemHasGPT()\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['noboot'])\"" >/dev/null 2>&1 + # End build efi package + + # build reset choice package + mkdir -p ${1}/noboot/Root + echo " [BUILD] Reset choice " + buildpackage "${1}/noboot" "/tmpcham" "" "start_visible=\"true\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['EFI'])\"" >/dev/null 2>&1 + # End build reset choice package + + # build Modules package + echo "================= Modules =================" + ############################### + # AMDGraphicsEnabler.dylib # + # ATiGraphicsEnabler.dylib # + # IntelGraphicsEnabler.dylib # + # klibc.dylib # + # NVIDIAGraphicsEnabler.dylib # + # Resolution.dylib # + # uClibcxx.dylib # + ############################### + if [ "$(ls -A "${1%/*}/i386/modules")" ]; then + { + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + packagesidentity="org.chameleon.module" +# - + if [ -e ${1%/*}/i386/modules/AMDGraphicsEnabler.dylib ]; then + { + mkdir -p ${1}/AMDGraphicsEnabler/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/AMDGraphicsEnabler.dylib ${1}/AMDGraphicsEnabler/Root + echo " [BUILD] AMDGraphicsEnabler " + buildpackage "${1}/AMDGraphicsEnabler" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/ATiGraphicsEnabler.dylib ]; then + { + mkdir -p ${1}/ATiGraphicsEnabler/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/ATiGraphicsEnabler.dylib ${1}/ATiGraphicsEnabler/Root + echo " [BUILD] ATiGraphicsEnabler " + buildpackage "${1}/ATiGraphicsEnabler" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/IntelGraphicsEnabler.dylib ]; then + { + mkdir -p ${1}/IntelGraphicsEnabler/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/IntelGraphicsEnabler.dylib ${1}/IntelGraphicsEnabler/Root + echo " [BUILD] IntelGraphicsEnabler " + buildpackage "${1}/IntelGraphicsEnabler" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/klibc.dylib ]; then + { + mkdir -p ${1}/klibc/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/klibc.dylib ${1}/klibc/Root + echo " [BUILD] klibc " + buildpackage "${1}/klibc" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/NVIDIAGraphicsEnabler.dylib ]; then + { + mkdir -p ${1}/NVIDIAGraphicsEnabler/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/NVIDIAGraphicsEnabler.dylib ${1}/NVIDIAGraphicsEnabler/Root + echo " [BUILD] NVIDIAGraphicsEnabler " + buildpackage "${1}/NVIDIAGraphicsEnabler" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/Resolution.dylib ]; then + { + mkdir -p ${1}/AutoReso/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/Resolution.dylib ${1}/AutoReso/Root + echo " [BUILD] Resolution " + buildpackage "${1}/AutoReso" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/uClibcxx.dylib ]; then + { + mkdir -p ${1}/uClibc/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/uClibcxx.dylib ${1}/uClibc/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/klibc.dylib ${1}/uClibc/Root + echo " [BUILD] uClibc++ " + buildpackage "${1}/uClibc" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + } + else + { + echo " -= no modules to include =-" + } + fi + # End build Modules packages + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" +# End build Chameleon package + +# build post install package + echo "================= Post =================" + mkdir -p ${1}/Post/Root + mkdir -p ${1}/Post/Scripts + cp -f ${pkgroot}/Scripts/Post/* ${1}/Post/Scripts + echo " [BUILD] Post " + buildpackage "${1}/Post" "/" "" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1 + 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` + +# Adding Developer and credits + perl -i -p -e "s/%DEVELOP%/${develop}/g" `find "${1}/${packagename}/Resources" -type f` + perl -i -p -e "s/%CREDITS%/${credits}/g" `find "${1}/${packagename}/Resources" -type f` + perl -i -p -e "s/%PKGDEV%/${pkgdev}/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.pkg" --compression none . + popd >/dev/null + +# Here is the place for assign a Icon to the pkg +ditto -xk "${pkgroot}/Icons/pkg.zip" "${pkgroot}/Icons/" +DeRez -only icns "${pkgroot}/Icons/Icons/pkg.icns" > tempicns.rsrc +Rez -append tempicns.rsrc -o "${1%/*}/$packagename.pkg" +SetFile -a C "${1%/*}/$packagename.pkg" +rm -f tempicns.rsrc +rm -rf "${pkgroot}/Icons/Icons" +# End + +} + +main "${1}" "${2}" "${3}" "${4}" "${5}" + Property changes on: trunk/PackageBuilder/package/slimpkg.sh ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/builddmg.sh =================================================================== --- trunk/PackageBuilder/package/builddmg.sh (revision 0) +++ trunk/PackageBuilder/package/builddmg.sh (revision 338) @@ -0,0 +1,214 @@ +#!/bin/bash + +# $1 Path to store built dmg + +pkgroot="${0%/*}" +SYM_ROOT="${1%/*}" +DMG_ROOT=$SYM_ROOT + +OPENUP_TOOL=${1%/*}/i386/openUp + +SRC_FOLDER=${1%/*}/source +VOLUME_NAME="Chameleon" +TEMP_NAME="rw.dmg" +DMG_TEMP_NAME=${DMG_ROOT}/${TEMP_NAME} +TEMPLATE_DMG=${pkgroot}/dmg/ro.dmg +EULA_RSRC=${pkgroot}/dmg/SLAResources + + +# ============================= +# Setting color for text output +# ============================= + +COL_BLACK="\x1b[30;01m" +COL_RED="\x1b[31;01m" +COL_GREEN="\x1b[32;01m" +COL_YELLOW="\x1b[33;01m" +COL_MAGENTA="\x1b[35;01m" +COL_CYAN="\x1b[36;01m" +COL_WHITE="\x1b[37;01m" +COL_BLUE="\x1b[34;01m" +COL_RESET="\x1b[39;49;00m" + +# ====================== +# Setting Chameleon info +# ====================== + +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" ) + +# ========================= +# Start of building process +# ========================= + +echo "" +echo -e $COL_BLACK" ----------------------"$COL_RESET +echo -e $COL_BLACK" Building $VOLUME_NAME DMG"$COL_RESET +echo -e $COL_BLACK" ----------------------"$COL_RESET +echo "" + +# ================================= +# 1) Clean previus builded contents +# ================================= + + if [ -x ${SRC_FOLDER} ]; then + echo " Deleting previus existing source folder/content " + rm -R ${SRC_FOLDER} + rm -f ${DMG_TEMP_NAME} + fi + +# =========================== +# 2) Create the source folder +# =========================== + + echo " [mkdir] Creating source folder " + mkdir "${SRC_FOLDER}" + +# ================================== +# 3) Copy content into source folder +# ================================== + + ditto -xk "${pkgroot}/Icons/i386.zip" "${SRC_FOLDER}/" + ditto -xk "${pkgroot}/Icons/doc.zip" "${SRC_FOLDER}/" + ditto -xk "${pkgroot}/Icons/pan.zip" "${SRC_FOLDER}/" + ditto -xk "${pkgroot}/Icons/tm.zip" "${SRC_FOLDER}/" + + mv ${SYM_ROOT}/${VOLUME_NAME}.pkg ${SRC_FOLDER}/${VOLUME_NAME}.pkg + cp -r ${pkgroot}/doc/* ${SRC_FOLDER}/Documentation/ + cp -r ${pkgroot}/Configuration/PrefPanel/* ${SRC_FOLDER}/PrefPanel/ + cp -r ${SYM_ROOT}/i386/* ${SRC_FOLDER}/i386/ + cp -r ${SYM_ROOT%/*}/artwork/themes/* ${SRC_FOLDER}/Themes/ + rm -rf ${SRC_FOLDER}`find . -type d -name .svn` + +# ======================================= +# 4) Find the size of the folder contents +# ======================================= + + FOLDER_SIZE=`/usr/bin/du -s "${SRC_FOLDER}" | sed s/[^0-9].*//` + +# ===================================================== +# 4) Allow for partition table and other overhead (10%) +# ===================================================== + + IMAGE_SIZE=$(($FOLDER_SIZE * 110/100)) + +# ============================================ +# 5) Minimum size for an HFS+ partition is 4Mb +# ============================================ + + [ $IMAGE_SIZE -lt 19960 ] && IMAGE_SIZE=19960 # [ $IMAGE_SIZE -lt 8300 ] && IMAGE_SIZE=8300 + +# ================================================================= +# 6) Make sure NEXT_ROOT is not set (if we're building with an SDK) +# ================================================================= + + unset NEXT_ROOT + echo " Source folder size = $FOLDER_SIZE" + echo " DMG image size (+10%) = $IMAGE_SIZE" + echo " " + +# ======================================= +# 7) Convert the DMG template into RW-DMG +# ======================================= + + echo " [hdutil] Creating disk image " + test -f "${DMG_TEMP_NAME}" && rm -f "${DMG_TEMP_NAME}" + + hdiutil convert $TEMPLATE_DMG -format UDRW -o "${DMG_TEMP_NAME}" >/dev/null 2>&1 + hdiutil resize -limits "${DMG_TEMP_NAME}" >/dev/null 2>&1 + hdiutil resize -size 15m "${DMG_TEMP_NAME}" >/dev/null 2>&1 + echo " " + +# =========== +# 8) Mount it +# =========== + + echo " [hdutil] Mounting disk image " + MOUNT_DIR=/Volumes/$VOLUME_NAME + DEV_NAME=$(hdiutil attach -readwrite -noverify -noautoopen "${DMG_TEMP_NAME}" | egrep '^/dev/' | sed 1q | awk '{print $1}') >/dev/null 2>&1 + + echo " Device name: $DEV_NAME" + echo " Mount directory: $MOUNT_DIR" + echo " " + +# ===================================== +# 9) Make sure it's not world writeable +# ===================================== + + mv ${SRC_FOLDER}/${VOLUME_NAME}.pkg ${MOUNT_DIR}/${VOLUME_NAME}.pkg + cp -R ${SRC_FOLDER}/Documentation ${MOUNT_DIR}/ + cp -R ${SRC_FOLDER}/PrefPanel ${MOUNT_DIR}/ + cp -R ${SRC_FOLDER}/i386 ${MOUNT_DIR}/ + cp -R ${SRC_FOLDER}/Themes ${MOUNT_DIR}/ + + echo " [chmod] Fixing permission for \"${MOUNT_DIR}\"" + chmod -Rf go-w "${MOUNT_DIR}" || true + chmod -f a-w "${MOUNT_DIR}"/.DS_Store || true + echo " Done fixing permissions." + echo " " + +# ============================================= +# 10) Make the top window open itself on mount: +# ============================================= + + echo " [openUp] Setting auto open flag" +if [ -x ${OPENUP_TOOL} ]; then + echo " Applying openUp..." + ${OPENUP_TOOL} "${MOUNT_DIR}" >/dev/null 2>&1 +fi + echo " " + +# =========== +# 11) Unmount +# =========== + + echo " [hdutil] Unmounting disk image" + hdiutil detach "${DEV_NAME}" >/dev/null 2>&1 + echo " " + +# ================== +# 12) Compress image +# ================== + + test -f "${DMG_ROOT}/${VOLUME_NAME}.dmg" && rm -f "${DMG_ROOT}/${VOLUME_NAME}.dmg" + echo " [hdutil] Compressing disk image" + hdiutil convert ${DMG_TEMP_NAME} -format UDZO -imagekey zlib-level=9 -o ${DMG_ROOT}/${VOLUME_NAME} >/dev/null 2>&1 + rm -f "${DMG_TEMP_NAME}" + echo " " + +# ========================= +# 13) Adding EULA resources +# ========================= + +if [ ! -z "${EULA_RSRC}" -a "${EULA_RSRC}" != "-null-" ]; then + echo " [ResMerger] Adding EULA resources" + hdiutil unflatten ${DMG_ROOT}/${VOLUME_NAME}.dmg >/dev/null 2>&1 + ResMerger -a ${EULA_RSRC} -o ${DMG_ROOT}/${VOLUME_NAME}.dmg + hdiutil flatten ${DMG_ROOT}/${VOLUME_NAME}.dmg >/dev/null 2>&1 +fi + +# ======================= +# 14) Adding Icon to .dmg +# ======================= + + ditto -xk ${pkgroot}/Icons/dmg.zip "${pkgroot}/Icons" + DeRez -only icns ${pkgroot}/Icons/Icons/dmg.icns > tempicns.rsrc + Rez -append tempicns.rsrc -o ${DMG_ROOT}/${VOLUME_NAME}.dmg + SetFile -a C ${DMG_ROOT}/${VOLUME_NAME}.dmg + rm -f tempicns.rsrc + rm -rf "${pkgroot}/Icons/Icons" + rm -R ${SRC_FOLDER} + +# === +# END +# === + + echo " ====================" + echo " Finish $VOLUME_NAME.dmg" + echo " ====================" + echo "" +#----- +exit 0 Property changes on: trunk/PackageBuilder/package/builddmg.sh ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/smbios.plist =================================================================== --- trunk/PackageBuilder/package/smbios.plist (revision 0) +++ trunk/PackageBuilder/package/smbios.plist (revision 338) @@ -0,0 +1,61 @@ + + + + + SMbiosversion + MP31.88Z.00C1.B00.0802091544 + SMmanufacturer + Apple Inc. + SMproductname + MacPro3,1 + SMsystemversion + 1.0 + SMserial + W87234JHYA4 + SMexternalclock + 333 + SMmaximalclock + 3000 + SMmemtype + 19 + SMmemspeed + 800 + SMmemmanufacturer_1 + 0xAD00000000000000 + SMmemserial_1 + 0x00001020 + SMmempart_1 + 0x48594D503131325336344350362D59352020 + SMmemmanufacturer_2 + 0xAD00000000000000 + SMmemserial_2 + 0x00003021 + SMmempart_2 + 0x48594D503131325336344350362D59352020 + SMmemmanufacturer_3 + 0xAD00000000000000 + SMmemserial_3 + 0x00003021 + SMmempart_3 + 0x48594D503131325336344350362D59352020 + SMmemmanufacturer_4 + 0xAD00000000000000 + SMmemserial_4 + 0x00003021 + SMmempart_4 + 0x48594D503131325336344350362D59352020 + + + Index: trunk/PackageBuilder/package/Configuration/SMBIOSDefault/smbios.plist =================================================================== --- trunk/PackageBuilder/package/Configuration/SMBIOSDefault/smbios.plist (revision 0) +++ trunk/PackageBuilder/package/Configuration/SMBIOSDefault/smbios.plist (revision 338) @@ -0,0 +1,38 @@ + + + + + SMbiosdate + 20/08/2008 + SMbiosversion + IM71.88Z.007A.B03.0803051705 + SMcputype + 1281 + SMexternalclock + 1,33 + SMfamily + iMac + SMmanufacter + Apple Inc. Mac-F2268CC8 + SMmaximalclock + 2,50 + SMmemmanufacter_1 + Team Elite + SMmemmanufacter_2 + Team Elite + SMmempart_1 + 50M3P4R7 + SMmempart_2 + 50M3P4R7 + SMmemserial_1 + 50M353R14L + SMmemserial_2 + 50M353R14L + SMproductname + iMac7,1 + SMserial + YM90295599X + SMsystemversion + 1.0 + + Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/MacOS/Chameleon =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/MacOS/Chameleon ___________________________________________________________________ Added: svn:executable + Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Info.plist =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Info.plist (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Info.plist (revision 338) @@ -0,0 +1,36 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + + CFBundleExecutable + Chameleon + CFBundleIconFile + Chameleon.icns + CFBundleIdentifier + com.chameleon.Chameleon + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Chameleon + CFBundlePackageType + BNDL + CFBundleShortVersionString + 2.0 + CFBundleSignature + ???? + CFBundleVersion + 2.0.0 RC5 + NSMainNibFile + Chameleon + NSPrefPaneIconFile + Chameleon.tiff + NSPrefPaneIconLabel + Chameleon + NSPrincipalClass + ChameleonPrefPane + + Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/footer.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/footer.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/gfxutil =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/gfxutil ___________________________________________________________________ Added: svn:executable + Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Linux.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Linux.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Chameleon.icns =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Chameleon.icns ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CDROM.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CDROM.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/getDevProp.sh =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/getDevProp.sh (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/getDevProp.sh (revision 338) @@ -0,0 +1,38 @@ +#!/bin/sh + +# getDevProp.sh +# smbios-cham +# +# Created by ronan & thomas on 12/08/09. +# Copyright 2009 org.darwinx86.app. All rights reserved. +# adapted for Chameleon control panel use by Rekursor +# +# Directories +cdir=`dirname $0` +tmpDir=/tmp/Chameleon +dmpdir=${tmpDir}/devprop + +# Create a dump directory +if [[ ! -d $dmpdir ]];then + mkdir -p $dmpdir +fi +if [[ ! -d $tmpDir ]];then + mkdir -p $tmpDir +fi +# Dump Device properties +ioreg -lw0 -p IODeviceTree -n efi -r -x |grep device-properties | sed 's/.*.*//;' | cat > $dmpdir/chameleon-devprop.hex + +$cdir/gfxutil -s -n -i hex -o xml $dmpdir/chameleon-devprop.hex $dmpdir/chameleon-devprop.plist + + +# Splash the result up !! +open $dmpdir/chameleon-devprop.plist +if [[ ! -d $dmpdir ]];then + rm -r $dmpdir +fi +if [[ ! -d $tmpDir ]];then + rm -r $tmpDir +fi + +#end +#echo $? \ No newline at end of file Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/getDevProp.sh ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/plug.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/plug.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/French.lproj/Chameleon.nib =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/French.lproj/Chameleon.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/French.lproj/Chameleon.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/French.lproj/Chameleon.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/French.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/French.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/cham.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/cham.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CREDITS =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CREDITS (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CREDITS (revision 338) @@ -0,0 +1,17 @@ +Initial Conception & Design: +--------------------------- +Rekursor + +Crew Members +---------- +Rekursor, DieBuche + +Contributors & Testers: +--------------------- +BlackOSX, MasterChief, digital_dreamer, smith@@, scrax, quinielascom + +Chameleon also reuses: +--------------------- +Courtesy of Ronan (Lizard): +Existing scripts and gfxutil tool from Lizard available at: +http://code.google.com/p/lizard-app/ \ No newline at end of file Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/German.lproj/Chameleon.nib =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/German.lproj/Chameleon.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/German.lproj/Chameleon.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/German.lproj/Chameleon.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/German.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/German.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/syringe.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/syringe.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/cdBootCreator.sh =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/cdBootCreator.sh (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/cdBootCreator.sh (revision 338) @@ -0,0 +1,104 @@ +#!/bin/sh + +# Copyright 2009 org.darwinx86.app. All rights reserved. + +# Directories +extra=/tmp/isodir +mydir=`dirname $0` +tempDir=/tmp +finaldir=~/Desktop +isodir=/tmp/newiso +extradir=/tmp/newiso/Extra +preDir=/tmp/newiso/Extra/Preboot/ +prebootDir=/tmp/newiso/Extra/Preboot/Extra +backDir=~/Desktop/Lizard +bkpdir=~/Desktop/Lizard/Previous-dmg + +echo "Starting script..." + +#errors +if ([ ! -f $extra/Extensions.mkext ] && [ ! -d $extra/Extensions ]);then + echo "- Error: no Extensions.mkext or Extensions folder. One of them is required" + echo " ------------------------" + exit +fi + +if [ ! -f $extra/com.apple.Boot.plist ];then + echo "- Error: no com.apple.boot.plist found. File required" + echo " ------------------------" + exit +fi +if [ ! -f $extra/cdboot ];then + echo "- Error: no cdboot found. File required" + echo " ------------------------" + exit +fi + +# Create a work directory +echo " - temps folders created" +echo " - Checking files" +#copy Extra files to temp directory +if [ -f $extra/cdboot ];then + cp -R $extra/cdboot $isodir +fi + +if [ -f $extra/dsdt.aml ];then + cp -R $extra/dsdt.aml $prebootDir +fi + +if [ -f $extra/DSDT.aml ];then + cp -R $extra/DSDT.aml $prebootDir +fi + +if [ -f $extra/NVIDIA.ROM ];then + cp -R $extra/NVIDIA.ROM $prebootDir +fi + +if [ -f $extra/smbios.plist ];then + cp -R $extra/smbios.plist $prebootDir +fi + +if [ -f $extra/Extensions.mkext ];then + cp -R $extra/Extensions.mkext $prebootDir +fi + +if [ -d $extra/Extensions ];then + cp -Rp $extra/Extensions $prebootDir +fi + +if [ -f $extra/com.apple.Boot.plist ];then + cp -R $extra/com.apple.Boot.plist $prebootDir +fi +if [ -f $tempDir/com.apple.Boot.plist ];then + cp -R $tempDir/com.apple.Boot.plist $extradir +fi + +echo "- Files copied in temp folder" + +# ramdisk creator +hdiutil create -srcfolder $preDir/ -layout GPTSPUD -fs HFS+ -format UDRW -volname Preboot $extradir/Preboot.dmg +rm -R $preDir +echo " - ram disk created" + +# boot cd creator +hdiutil makehybrid -o BootCD.iso $isodir/ -iso -hfs -joliet -eltorito-boot $isodir/cdboot -no-emul-boot -hfs-volume-name "Boot CD" -joliet-volume-name "Boot CD" +echo " - hybrid image created" + +# Create output and backup directories +if [ -f $finaldir/BootCD.iso ];then + if [ ! -d $bkpdir ];then + mkdir $backDir + mkdir $bkpdir + echo " - backup folder created" + fi + mv -f $finaldir/BootCD.iso $bkpdir/BootCd-$(date +"%d-%y-%Hh%M").iso + echo " - previous ISO moved into backup folder" +fi +mv BootCD.iso $finaldir +echo " - ISO moved on desktop" + +# cleanup +echo " - Perform cleaning" +echo " - ISO created succefully" +echo " ------------------------" +exit 0 \ No newline at end of file Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/cdBootCreator.sh ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/chip.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/chip.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Italian.lproj/Chameleon.nib =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Italian.lproj/Chameleon.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Italian.lproj/Chameleon.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Italian.lproj/Chameleon.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Italian.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Italian.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CHANGES =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CHANGES (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/CHANGES (revision 338) @@ -0,0 +1,47 @@ +- Added About Dialog, made the displayed version numbers all rely on the info.plist file +- Fixed refresh and on checked associated button state, made sure the string is disabled if value is 0 +- Fixed crash when using swap hd 0<->2 +- Added a new option type (OptionFileString) that features an open dialog box to open files +- Added few Combo boxes to simplify text inputs +- Added Missing ForceHPET option and Theme options +- Added a new SMBIOS panel only opening a file (in construction) +- Added new EFI Injection panel +- Added PciRoot, GUI boot options +- Added scrax to credits: thx for testing the Chameleon PrefPane! +- Create a makebin script (to enhance) that creates zip archives and sets a version + in the bin dir +- Fixed default value to Yes not included in the boot config would not be checked + by default in interface +- Added RestartFix boot option +- Added forceBootConfigPath to the tabview panel for quicker setup, so now no + need to edit the preferences file manually. +- Added SystemId +- Added full bootOptions loading into the interface with no custom code needed, + all loading features are implemented in base class PreferencesControllerBase, + with the automatic parser engine. +- Implemented the bootOption automatic and generic parsing engine. + Now any option is parsed from bootFile automatically (incl. defaults) + thanks to the underlying engine based on a dynamically constructed + id to desc map and also to the group panel registration init process +- Fixed dmg archives would appear in dynamic partition listing +- Added FREEZE (lock) features, see README. +- Refined cosmetics for the GUI +- Added images icon on the first column of each partition entries +- Added APSL and README for instructions +- Added swap disk (01 and 02) fixes +- Added Rename and Hide display from bootConfig +- Fixed 10.5 and 10.6 would crash because of memory references erased +- Added more bootConfig paths and an option to force it + (i.e:if not found automatically) +- Added new paths for bootConfig search now looking in this order: + "/", + "/Extra/", + "/Volumes/EFI/Extra/", + "/Volumes/Cham/Extra/", + "/Volumes/BootLoaders/Extra/", + "/Library/Preferences/SystemConfiguration/", +- Change the restart by replacing the internal reboot shell cmd by an applescript + eq. to the AppleMenu/Restart command +- Fixed nib file loading and initialization problem, possibly fixes the lock pb as well? +- Added Apple_Free filter to filter these free partitions + Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/wrench.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/wrench.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Windows.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Windows.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/MacOSX.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/MacOSX.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/InfoPlist.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/InfoPlist.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/Chameleon.nib =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/Chameleon.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/Chameleon.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/Chameleon.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/English.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/extractAcpi.sh =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/extractAcpi.sh (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/extractAcpi.sh (revision 338) @@ -0,0 +1,40 @@ +#/bin/sh +set -e +set -u +ACPI_DIR="${HOME}/Desktop/ACPI" +ioreg= +if [[ $# -eq 1 && -f "$1" ]]; then + ioreg="$(grep ' "ACPI Tables" =' "$1")" +else + ioreg="$(ioreg -lw0 | grep ' "ACPI Tables" =')" +fi + +ioreg=${ioreg#*\{} +ioreg=${ioreg%\}*} + +declare -a tables +ioreg="${ioreg//,/ }" + +tables=($ioreg) + +echo "Number of ACPI tables: ${#tables[@]}" +re='"([^"]+)"=<([^>]+)>' +dumped=0 +for t in "${tables[@]}"; do + #echo Table: $t + if [[ $t =~ $re ]]; then + [[ $dumped = 0 ]] && mkdir -p ${ACPI_DIR} + ((++dumped)) + echo + echo "Dumping table: ${BASH_REMATCH[1]}" + #echo "Content: ${BASH_REMATCH[2]}" + echo "${BASH_REMATCH[2]}" | xxd -r -p > "${ACPI_DIR}/${BASH_REMATCH[1]}".aml + echo "AML code dumped to \"${ACPI_DIR}/${BASH_REMATCH[1]}.aml\"" + type -p iasl &>/dev/null && iasl -d "${ACPI_DIR}/${BASH_REMATCH[1]}".aml \ + && echo "DSL code decompiled to \"${ACPI_DIR}/${BASH_REMATCH[1]}.dsl\"" + echo + fi +done +#if [[ $dumped -gt 0 ]]; then +# zip -r ACPI.zip ACPI && echo "Zipped your ACPI tables in file \"ACPI.zip\"" +#fi Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/extractAcpi.sh ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Chameleon.tiff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Chameleon.tiff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/chamsmall.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/chamsmall.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/version =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/version (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/version (revision 338) @@ -0,0 +1 @@ +2.0-RC4 Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/advanced.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/advanced.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Spanish.lproj/Chameleon.nib =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Spanish.lproj/Chameleon.nib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Spanish.lproj/Chameleon.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Spanish.lproj/Chameleon.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Spanish.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/Spanish.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/flag.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/flag.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/README =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/README (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/README (revision 338) @@ -0,0 +1,35 @@ +----------------------------------- +Chameleon System Preferences panel +by rekursor 1/17/2010 +----------------------------------- + +How to Install: + Double click on the panel file to install the resource + +Configuration: + The persistent configuration file is a all users level preferences property list + located in In /Library/Preferences/com.chameleon.prefPane.plist. + + The swap disk fix option might be use if your disk order from chameleon is different + from what diskutil list returns. + Ideally we should not need this fix, but as for now, I don't know another way to do it + + In /Library/Preferences/com.chameleon.prefPane.plist: + you can insert a 'forceBootConfigPath' key with your com.apple.Boot,plist file path: + So if automatic detection does not work, then force your com.apple.Boot.plist path here. + + Freeze Partitions (lock the partition list and prevent autodetection to happen) + You can also decide to freeze the partitions to prevent automatic detection, + if disk order is not matching after the boot or if you don't want the list to change + each time that a usb key is inserted, then use this feature. + For it to work, you will need first to click on: + Settings/Boot Selector Fixes/Inject Parts In Freeze File + Then all your automatically detected current partitions are injected in the pref. file, + all you need to do is to manually edit them to change their disk id/partition id + (2 first parameters in the pref. file under the partitionList key) + +Troubleshooting + If the panel sees your com.apple.boot.plist in the status box, but the boot selection + seem to have no effect, it might be that you have more than one bootConfig file + and that the chameleon booter does not load the one that the panel selected, + see upper to force the bootConfig to match the one loaded by the chameleon booter. Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/background.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/background.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/name.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/name.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/TODO =================================================================== --- trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/TODO (revision 0) +++ trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/TODO (revision 338) @@ -0,0 +1,10 @@ +Future version (codename: Gandalf) Plans +---------------------------------------- +Implement most if not all of the Chameleon bootConfig parameters in the table view of the current prefpane : let the Magic happening ! + +Current versions todo list +-------------------------- + - Add WebView in About Panel for nicer Kredits. + - Don't filter out soft-raids, which only have a disk identifier & no partition number + - Try to investigate if there is a better way to get the partition list + (currently done with diskutil list) probably with Chameleon booter RC6. Index: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/disk.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Configuration/PrefPanel/Chameleon.prefPane/Contents/Resources/disk.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Scripts/Standard/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Standard/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Standard/postinstall (revision 338) @@ -0,0 +1,364 @@ +#!/bin/bash + + +diskloader="boot0" +diskloaderdualboot="boot0md" +partitionloaderhfs="boot1h" +partitionloaderfat="boot1f32" +filesystemloader="boot" + +diskmicrocodetype[1]="GRUB,47525542" +diskmicrocodetype[2]="LILO,4c494c4f" + +start () +{ +# $1 volume + +bootvolume="${@}" +echo "Volume is $bootvolume" +bootresources="${0%/*}" +echo "$bootresources" + +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 "===============================================" +echo "Installer Variables:" +echo "********************" +echo "bootvolume: Volume is ${bootvolume}" +echo "bootdev: Volume device is ${bootdev}" +echo "bootrdev: Volume raw device is ${bootrdev}" +echo "bootslice: Volume slice is ${bootslice}" +echo "bootdisk: Disk device is ${bootdisk}" +echo "bootrdisk: Disk raw device is ${bootrdisk}" +echo "diskloader: Disk loader is ${diskloader}" +echo "partitionloaderhfs: Partition loader is ${partitionloaderhfs}" +echo "partitionloaderfat: Partition loader is ${partitionloaderfat}" +echo "filesystemloader: Filesystem loader is ${filesystemloader}" +echo "bootresources: Boot Resources is ${bootresources}" +echo "-----------------------------------------------" +echo "" +echo "" +} + +checkdiskmicrocodetype () +{ +echo "===============================================" +echo "Diskmicrocodetype:" +echo "******************" + +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." + else + echo "Didn't find a match for ${diskmicrocodetype[${diskmicrocodetypecounter}]%,*}" + fi +done +echo "-----------------------------------------------" +echo "" +echo "" +} + + + +checkdiskmicrocode () +{ +echo "===============================================" +echo "Diskmicrocode:" +echo "*************" + +# Note: The checks for Boot0 and Boot0hfs assume the code doesn't change!! + +# 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 ) + +#echo "${diskmicrocode}" + +if [ $( echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) = 874 ]; then + echo "Diskmicrocode = 874 (Which means the first 437 bytes of the MBR Disk Sector is blank)" + if [ "${1}" = "set" ]; then + echo "No disk microcode found. Updating." + diskupdate=true + echo "diskupdate is now set to true." + else + echo "No disk microcode found." + fi +else + # There is already something on the MBR + if [ ${1} = set ]; then + + # See if a Windows bootloader already exists + windowsloader=$( dd 2>/dev/null if=${bootdisk} count=4 bs=1 | xxd | awk '{print $2$3}' ) + if [ "${windowsloader}" == "33c08ed0" ] ; then + echo "Found existing Windows Boot Loader" + echo "Will replace loader with Boot0hfs" + diskupdate=true + echo "diskupdate is now set to true." + fi + + # See if a Chameleon stage0 boot file already exists + stage0type=$( dd 2>/dev/null if=${bootdisk} count=3 bs=1 skip=105 | xxd | awk '{print $2$3}' ) + if [ "${stage0type}" == "0b807c" ] || [ "${stage0type}" == "0a803c" ] ; then + + echo "Found existing Chameleon Stage 0 Loader" + # if found Boot0HFS without a Windows installation set diskupdate to true + if [ "${stage0type}" == "0b807c" ] && [ "${disksignature}" == "00000000" ]; then + echo "Found existing Chameleon Boot0HFS without a Windows installation" + echo "Will replace loader with Boot0" + diskupdate=true + echo "diskupdate is now set to true." + fi + + # if found Boot0 with a Windows installation set diskupdate to true + if [ "${stage0type}" == "0a803c" ] && [ "${disksignature}" != "00000000" ]; then + echo "Found existing Chameleon Boot0 with a Windows installation" + echo "Will replace loader with Boot0hfs" + diskupdate=true + echo "diskupdate is now set to true." + fi + fi + + # If neither a Windows or Chameleon Boot Loader exists + if [ "${stage0type}" != "0b807c" ] && [ "${stage0type}" != "0a803c" ] && [ "${windowsloader}" != "33c08ed0" ] ; then + test=$(echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) + echo "Disk microcode found: ${test} - Preserving." + echo "diskupdate is left at false" + fi + else + test=$(echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) + echo "Disk microcode found: ${test}" + fi + echo "Disk microcode MD5 is ${diskmicrocodemd5}" +fi +echo "-----------------------------------------------" +echo "" +echo "" +} + + +checkdisksignature () +{ +echo "===============================================" +echo "Find Disk Signature:" +echo "*************" + +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}' ) + +echo "${disksignature}" + +if [ $disksignature = "00000000" ]; then + echo "Just Zero's found meaning Windows isn't installed." +else + echo "Non Zero means we've found a Windows installation" +fi +echo "-----------------------------------------------" +echo "" +echo "" +} + + + +checkpartitionbootcode () +{ +echo "===============================================" +echo "Find Partition Bootcode:" +echo "************************" + +# 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}' ) + +echo "${partitionbootcode}" + +if [ $( echo "${partitionbootcode}" | awk -F0 '{print NF-1}' ) = 1024 ]; then + echo "partitionbootcode = 1024 (Which means the whole 512 bytes of the MBR Disk Sector is blank)" + 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 + +echo "-----------------------------------------------" +echo "" +echo "" +} + + +start ${3} + + +echo "===============================================" +echo "Check the format of the selected partition" +echo "*************************************" + +if [ "$( fstyp ${bootdev} | grep hfs )" ]; then + echo "${bootdev} is a currently formatted as HFS" + efiformat="hfs" +fi +if [ "$( fstyp ${bootdev} | grep msdos )" ]; then + echo "${bootdev} is currently formatted as msdos" + efiformat="msdos" +fi +echo "-----------------------------------------------" +echo "" +echo "" + + +echo "===============================================" +echo "Determine Partition Scheme:" +echo "***************************" + +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 + echo "Found System ID 'EE' to identify GPT Partition" + if [ "${partitiontable:40:2}" == "00" ] && [ "${partitiontable:72:2}" == "00" ] && [ "${partitiontable:104:2}" == "00" ]; then + echo "Found System ID '00' for each remaining possible partition" + partitiontable="GPT" + else + partitiontable="GPT/MBR" + fi + fi +else + partitiontable="MBR" +fi + +echo "${partitiontable} found." +echo "-----------------------------------------------" +echo "" +echo "" + + +diskupdate=false + + +checkdisksignature +checkdiskmicrocodetype +checkdiskmicrocode set +checkpartitionbootcode set + + + +echo "===============================================" +echo "Can we install the Chameleon bootloader files?" +echo "**********************************************" + +if ${diskupdate}; then + echo "Diskupdate = true, so yes" + #--------------------------------------------------------------------- + # Check bytes 438-446 of the GPTdiskProtectiveMBR for a Windows Disk Signature + # If thereÕs no Windows disk signature then we can write boot0 + #--------------------------------------------------------------------- + + if [ ${disksignature} == "00000000" ]; then + echo "Executing command: fdisk440 -u -f /usr/standalone/i386/${diskloader} -y ${bootdisk}" + fdisk440 -u -f "${bootvolume}/usr/standalone/i386/${diskloader}" -y ${bootdisk} + else + #--------------------------------------------------------------------- + # If it exists then Windows is also installed on the HDD and we need to write boot0hfs + #--------------------------------------------------------------------- + echo "Executing command: fdisk440 -u -f /usr/standalone/i386/${diskloaderdualboot} -y ${bootdisk}" + fdisk440 -u -f "${bootvolume}/usr/standalone/i386/${diskloaderdualboot}" -y ${bootdisk} + fi +else +echo "Diskupdate is false, so no stage 0 file was written" +fi + +if [ ${efiformat} = "hfs" ]; then + echo "Executing command: dd if=/usr/standalone/i386/${partitionloaderhfs} of=${bootrdev}" + dd if="${bootvolume}/usr/standalone/i386/${partitionloaderhfs}" of=${bootrdev} +fi + +if [ ${efiformat} = "msdos" ]; then + echo "Executing command: dd if=/usr/standalone/i386/${partitionloaderfat} of=${bootrdev}" + dd if="${bootvolume}/usr/standalone/i386/${partitionloaderfat}" of=${bootrdev} +fi + +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}" + +echo "-----------------------------------------------" +echo "" +echo "" + + +echo "===============================================" +echo "Set Active Partition ONLY if Windows is not installed" +echo "*****************************************************" + +if [ ${disksignature} == "00000000" ]; then + # echo "Windows is not installed so let's change the active partition" + + partitionactive=$( fdisk440 -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}') + echo "Current Active Partition: ${partitionactive}" + + if [ "${partitionactive}" = "${bootslice}" ]; then + echo "${bootvolume} is already flagged as active" + else + echo "${bootvolume} is not flagged as active, so let's do it." + # BadAxe requires EFI partition to be flagged active. + # but it doesn't' hurt to do it for any non-windows partition. + + fdisk440 -e ${bootrdisk} <<-MAKEACTIVE + print + flag ${bootslice} + write + y + quit + MAKEACTIVE + fi +else + echo "Windows is installed so we let that remain the active partition" +fi +echo "-----------------------------------------------" +echo "" +echo "" + +# hide boot file +chflags hidden "${3}/boot" +echo "boot file hidden ${3}/boot" + +exit Property changes on: trunk/PackageBuilder/package/Scripts/Standard/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/EFI/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/EFI/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/EFI/postinstall (revision 338) @@ -0,0 +1,436 @@ +#!/bin/bash + +diskloader="boot0" +partitionloaderhfs="boot1h" +partitionloaderfat="boot1f32" +filesystemloader="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 "===============================================" +echo "Partition Type Identified:" +echo "**************************" +echo "GPT found." +echo "-----------------------------------------------" +echo "" +echo "" + + +echo "===============================================" +echo "Installer Variables Part 1:" +echo "***************************" +echo "OS X Volume is ${osxvolume}" +echo "OX X Volume device is ${bootdev}" +echo "OS X Volume UUID is ${bootuuid}" +echo "-----------------------------------------------" +echo "" +echo "" + + +bootvolume="/Volumes/$bootervolumename" +bootdev=${bootdev%s*}s1 +bootrdev=${bootdev/disk/rdisk} +bootdisk=${bootdev%s*} +bootrdisk=${bootdisk/disk/rdisk} +bootslice=${bootdev#*disk*s} + +echo "===============================================" +echo "Installer Variables Part 2:" +echo "***************************" +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 normal is ${diskloader}" +echo "Disk loader dual boot is also ${diskloader}" +echo "Partition loader HFS is ${partitionloaderhfs}" +echo "Partition loader FAT is ${partitionloaderfat}" +echo "Filesystem loader is ${filesystemloader}" +echo "-----------------------------------------------" +echo "" +echo "" + + +checkdiskmicrocodetype () +{ +echo "===============================================" +echo "Diskmicrocodetype:" +echo "******************" + +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." + else + echo "Didn't find a match for ${diskmicrocodetype[${diskmicrocodetypecounter}]%,*}" + fi +done +echo "-----------------------------------------------" +echo "" +echo "" +} + + +checkdiskmicrocode () +{ +echo "===============================================" +echo "Diskmicrocode:" +echo "*************" + +# Note: The checks for Boot0 and Boot0hfs assume the code doesn't change!! + +# 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 + echo "Diskmicrocode = 874 (Which means the first 437 bytes of the MBR Disk Sector is blank)" + if [ "${1}" = "set" ]; then + echo "No disk microcode found. Updating." + diskupdate=true + echo "diskupdate is now set to true." + else + echo "No disk microcode found." + fi +else + # There is already something on the MBR + if [ ${1} = set ]; then + + # See if a Windows bootloader already exists + windowsloader=$( dd 2>/dev/null if=${bootdisk} count=4 bs=1 | xxd | awk '{print $2$3}' ) + if [ "${windowsloader}" == "33c08ed0" ] ; then + echo "Found existing Windows Boot Loader" + echo "Will replace loader with Boot0hfs" + diskupdate=true + echo "diskupdate is now set to true." + fi + + # See if a Chameleon stage0 boot file already exists + stage0type=$( dd 2>/dev/null if=${bootdisk} count=3 bs=1 skip=105 | xxd | awk '{print $2$3}' ) + if [ "${stage0type}" == "0b807c" ] || [ "${stage0type}" == "0a803c" ] ; then + + echo "Found existing Chameleon Stage 0 Loader" + # if found Boot0HFS without a Windows installation set diskupdate to true + if [ "${stage0type}" == "0b807c" ] && [ "${disksignature}" == "00000000" ]; then + echo "Found existing Chameleon Boot0HFS without a Windows installation" + echo "Will replace loader with Boot0" + diskupdate=true + echo "diskupdate is now set to true." + fi + + # if found Boot0 with a Windows installation set diskupdate to true + if [ "${stage0type}" == "0a803c" ] && [ "${disksignature}" != "00000000" ]; then + echo "Found existing Chameleon Boot0 with a Windows installation" + echo "Will replace loader with Boot0hfs" + diskupdate=true + echo "diskupdate is now set to true." + fi + fi + + # If neither a Windows or Chameleon Boot Loader exists + if [ "${stage0type}" != "0b807c" ] && [ "${stage0type}" != "0a803c" ] && [ "${windowsloader}" != "33c08ed0" ] ; then + test=$(echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) + echo "Disk microcode found: ${test} - Preserving." + echo "diskupdate is left at false" + fi + else + test=$(echo "${diskmicrocode}" | awk -F0 '{print NF-1}' ) + echo "Disk microcode found: ${test}" + fi +fi +echo "-----------------------------------------------" +echo "" +echo "" +} + + +checkdisksignature () +{ +echo "===============================================" +echo "Find Disk Signature:" +echo "*************" +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}' ) + +echo "${disksignature}" + +if [ $disksignature = "00000000" ]; then + echo "Just Zero's found meaning Windows isn't installed." +else + echo "Non Zero means we've found a Windows installation" +fi +echo "-----------------------------------------------" +echo "" +echo "" +} + + +checkpartitionbootcode () +{ +echo "===============================================" +echo "Find Partition Bootcode:" +echo "************************" + +# 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 + echo "partitionbootcode = 1024 (Which means the whole 512 bytes of the MBR Disk Sector is blank)" + 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 +echo "-----------------------------------------------" +echo "" +echo "" +} + + +} + + +start ${3} + + +echo "===============================================" +echo "Unmount all EFI partitions and Check their format" +echo "*************************************" + +# loop through and un-mount all mounted EFI partitions - Thanks kizwan +attempts=1 +while [ "$( df | grep EFI )" ] && [ "${attempts}" -lt 5 ]; do + echo "Unmounting $( df | grep EFI | awk '{print $1}' )" + umount -f $( df | grep EFI | awk '{print $1}' ) + attempts=$(( ${attempts} + 1 )) +done +if [ ${attempts} = 5 ]; then + echo "failed to unmount EFI partitions." + exit +fi + +if [ "$( fstyp ${bootdev} | grep hfs )" ]; then + echo "${bootdev} is a currently formatted as HFS" + efiformat="hfs" +fi +if [ "$( fstyp ${bootdev} | grep msdos )" ]; then + echo "${bootdev} is currently formatted as msdos" + efiformat="msdos" +fi +echo "-----------------------------------------------" +echo "" +echo "" + + +diskupdate=false + + +checkdisksignature +checkdiskmicrocodetype +checkdiskmicrocode set +checkpartitionbootcode set +#checkpartitionactive + + +echo "===============================================" +echo "Can we install the Chameleon bootloader files?:" +echo "**********************************************" + +if ${diskupdate}; then + echo "Diskupdate = true, so yes" + #--------------------------------------------------------------------- + # Check bytes 438-446 of the GPTdiskProtectiveMBR for a Windows Disk Signature + # If thereÕs no Windows disk signature then we can write boot0 + #--------------------------------------------------------------------- + + if [ ${disksignature} == "00000000" ]; then + echo "Executing command: fdisk -u -f ${diskloader} -y ${bootdisk}" + fdisk -u -f "${osxvolume}/${diskloader}" -y ${bootdisk} + else + #--------------------------------------------------------------------- + # If it exists then Windows is also installed on the HDD and we need to write boot0hfs + #--------------------------------------------------------------------- + + echo "Executing command: fdisk -u -f ${diskloader} -y ${bootdisk}" + fdisk -u -f "${osxvolume}/${diskloader}" -y ${bootdisk} + fi +else + echo "Diskupdate is false, so no stage 0 file was written" +fi + + +#echo "Executing command: dd if=${partitionloader} of=${bootrdev}" +#dd if="${osxvolume}/${partitionloader}" of=${bootrdev} + +echo "Prepare Stage 1 loader" + +echo "Executing command: dd if=${bootrdev} count=1 bs=512 of=/tmp/origbs" +dd if=${bootrdev} count=1 bs=512 of=/tmp/origbs + +if [ ${efiformat} = "hfs" ]; then + echo "Executing command: cp ${osxvolume}/${partitionloaderhfs} /tmp/newbs" + cp "${osxvolume}/${partitionloaderhfs}" /tmp/newbs +fi + +if [ ${efiformat} = "msdos" ]; then + echo "Executing command: cp ${osxvolume}/${partitionloaderfat} /tmp/newbs" + cp "${osxvolume}/${partitionloaderfat}" /tmp/newbs +fi + +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 "Write Stage 1 loader" + +echo "Executing command: dd of=${bootrdev} count=1 bs=512 if=/tmp/newbs" +dd if=/tmp/newbs of=${bootrdev} count=1 bs=512 + +echo "-----------------------------------------------" +echo "" +echo "" + + +echo "===============================================" +echo "Set Active Partition ONLY if Windows is not installed:" +echo "*****************************************************" + +# 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 + +if [ ${disksignature} == "00000000" ]; then + # echo "Windows is not installed so let's change the active partition" + + partitionactive=$( fdisk -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}') + echo "Current Active Partition: ${partitionactive}" + + if [ "${partitionactive}" = "${bootslice}" ]; then + echo "${bootvolume} is already flagged as active" + else + echo "${bootvolume} is not flagged as active, so let's do it." + # BadAxe requires EFI partition to be flagged active. + # but it doesn't' hurt to do it for any non-windows partition. + + fdisk -e ${bootrdisk} <<-MAKEACTIVE + print + flag ${bootslice} + write + y + quit + MAKEACTIVE + fi +else + echo "Windows is installed so we let that remain the active partition" +fi +echo "-----------------------------------------------" +echo "" +echo "" + + +#checkdiskmicrocode check +#checkdisksignature +#checkpartitionbootcode check +#checkpartitionactive + + +echo "===============================================" +echo "Mount EFI partition:" +echo "********************" +if [ ${efiformat} = "hfs" ]; then + [ -d "${bootvolume}" ] || mkdir -p "${bootvolume}" + echo "Executing command: mount_hfs -u 0 -g 0 ${bootdev} ${bootvolume}" + mount_hfs -u 0 -g 0 "${bootdev}" "${bootvolume}" +else + [ -d "${bootvolume}" ] || mkdir -p "${bootvolume}" + echo "Executing command: mount_msdos -u 0 -g 0 ${bootdev} ${bootvolume}" + mount_msdos -u 0 -g 0 "${bootdev}" "${bootvolume}" +fi +echo "-----------------------------------------------" +echo "" +echo "" + + +echo "===============================================" +echo "Write Stage 2 loader" +echo "********************" + +echo "Executing command: cp ${osxvolume}${filesystemloader} ${bootvolume}/boot" +cp "${osxvolume}${filesystemloader}" "${bootvolume}/boot" +echo "boot written" + +echo "-----------------------------------------------" +echo "" +echo "" + +# setup link for extras +#echo "Executing command: ln -s /Volumes/${bootervolumename} ${2}/.Chameleon" +#ln -s "/Volumes/${bootervolumename}" "${2}/.Chameleon" +# setup link for extras + +exit Property changes on: trunk/PackageBuilder/package/Scripts/EFI/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/ForceHPET/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/ForceHPET/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/ForceHPET/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add ForceHPET for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if ForceHPET has been written or not +ForceHPETCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written ForceHPET Yet + if "" in line and ForceHPETCheck == False: + line = " ForceHPET\n" + line += " Yes\n" + line += "\n" + ForceHPETCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/ForceHPET/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/EHCIacquire/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/EHCIacquire/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/EHCIacquire/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add EHCIacquire for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if EHCIacquire has been written or not +EHCIacquireCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written EHCIacquire Yet + if "" in line and EHCIacquireCheck == False: + line = " EHCIacquire\n" + line += " Yes\n" + line += "\n" + EHCIacquireCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/EHCIacquire/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/VBIOS/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/VBIOS/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/VBIOS/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add VBIOS for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if VBIOS has been written or not +VBIOSCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written VBIOS Yet + if "" in line and VBIOSCheck == False: + line = " VBIOS\n" + line += " Yes\n" + line += "\n" + VBIOSCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/VBIOS/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/GUI/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/GUI/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/GUI/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add GUI for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if GUI has been written or not +GUICheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written GUI Yet + if "" in line and GUICheck == False: + line = " GUI\n" + line += " No\n" + line += "\n" + GUICheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() \ No newline at end of file Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/GUI/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/SMBIOSdefaults/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/SMBIOSdefaults/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/SMBIOSdefaults/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add SMBIOSdefault for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if SMBIOSdefault has been written or not +SMBIOSdefaultCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written SMBIOSdefault Yet + if "" in line and SMBIOSdefaultCheck == False: + line = " SMBIOSdefault\n" + line += " Yes\n" + line += "\n" + SMBIOSdefaultCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/SMBIOSdefaults/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/UseMemDetect/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/UseMemDetect/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/UseMemDetect/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add UseMemDetect for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if UseMemDetect has been written or not +UseMemDetectCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written UseMemDetect Yet + if "" in line and UseMemDetectCheck == False: + line = " UseMemDetect\n" + line += " No\n" + line += "\n" + UseMemDetectCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/UseMemDetect/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/LegacyLogo/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/LegacyLogo/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/LegacyLogo/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add LegacyLogo for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if LegacyLogo has been written or not +LegacyLogoCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written LegacyLogo Yet + if "" in line and LegacyLogoCheck == False: + line = " LegacyLogo\n" + line += " Yes\n" + line += "\n" + LegacyLogoCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/LegacyLogo/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/Wake/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/Wake/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/Wake/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add Wake for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Wake has been written or not +WakeCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written Wake Yet + if "" in line and WakeCheck == False: + line = " Wake\n" + line += " Yes\n" + line += "\n" + WakeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/Wake/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/BootBanner/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/BootBanner/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/BootBanner/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add BootBanner for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if BootBanner has been written or not +BootBannerCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written BootBanner Yet + if "" in line and BootBannerCheck == False: + line = " BootBanner\n" + line += " No\n" + line += "\n" + BootBannerCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/BootBanner/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/Npci/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/Npci/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/Npci/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add Kernel Flags = npci=0x2000 for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Kernel Flags has been written or not +KernelFlagsCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written Kernel Flags Yet + if "" in line and KernelFlagsCheck == False: + line = " Kernel Flags\n" + line += " npci=0x2000\n" + line += "\n" + KernelFlagsCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/Npci/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/UHCIreset/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/UHCIreset/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/UHCIreset/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add UHCIreset for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if UHCIreset has been written or not +UHCIresetCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written UHCIreset Yet + if "" in line and UHCIresetCheck == False: + line = " UHCIreset\n" + line += " Yes\n" + line += "\n" + UHCIresetCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/UHCIreset/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/ShowInfo/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/ShowInfo/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/ShowInfo/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add ShowInfo for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if ShowInfo has been written or not +ShowInfoCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written ShowInfo Yet + if "" in line and ShowInfoCheck == False: + line = " ShowInfo\n" + line += " No\n" + line += "\n" + ShowInfoCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() \ No newline at end of file Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/ShowInfo/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/Wait/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/Wait/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/Wait/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add Wait for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Wait has been written or not +WaitCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written Wait Yet + if "" in line and WaitCheck == False: + line = " Wait\n" + line += " Yes\n" + line += "\n" + WaitCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/Wait/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/UseNvidiaROM/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/UseNvidiaROM/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/UseNvidiaROM/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add UseNvidiaROM for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if UseNvidiaROM has been written or not +UseNvidiaROMCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written UseNvidiaROM Yet + if "" in line and UseNvidiaROMCheck == False: + line = " UseNvidiaROM\n" + line += " Yes\n" + line += "\n" + UseNvidiaROMCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/UseNvidiaROM/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/ForceWake/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/ForceWake/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/ForceWake/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add ForceWake for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if ForceWake has been written or not +ForceWakeCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written ForceWake Yet + if "" in line and ForceWakeCheck == False: + line = " ForceWake\n" + line += " Yes\n" + line += "\n" + ForceWakeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/ForceWake/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/UseAtiROM/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/UseAtiROM/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/UseAtiROM/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add UseAtiROM for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if UseAtiROM has been written or not +UseAtiROMCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written UseAtiROM Yet + if "" in line and UseAtiROMCheck == False: + line = " UseAtiROM\n" + line += " Yes\n" + line += "\n" + UseAtiROMCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/UseAtiROM/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Advanced/QuietBoot/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Advanced/QuietBoot/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Advanced/QuietBoot/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add QuietBoot for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if QuietBoot has been written or not +QuietBootCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written QuietBoot Yet + if "" in line and QuietBootCheck == False: + line = " QuietBoot\n" + line += " Yes\n" + line += "\n" + QuietBootCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Advanced/QuietBoot/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Post/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Post/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Post/postinstall (revision 338) @@ -0,0 +1,40 @@ +#!/bin/sh +# +# $1: the full path to the installation package; for example: +# /Volumes/Projects/Testing/Simple_Carbon_App.pkg +# +# $2: the full path to the installation destination; for example: +# /Applications +# +# $3: the mountpoint of the destination volume; for example: +# / or /Volumes/External_Drive +# +# $4: the root directory for the current System folder: +# / + +echo "preinstall: Path to installer....... $1" +echo "preinstall: Path to destination..... $2" +echo "preinstall: Path to dest volume..... $3" +echo "preinstall: Root of system folder... $4" + +set -x + +if [ ! -e "$3" ] +then + echo "destination volume does not exist!" + exit 1 +fi + +# clean up what would otherwise turn into "//" paths +if [ "$3" == "/" ] +then + dest_vol="" +else + dest_vol="$3" +fi + +# delee the temporary Chameleon folder + +rm -rf "$dest_vol/tmpcham" + +echo "Done..." \ No newline at end of file Property changes on: trunk/PackageBuilder/package/Scripts/Post/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/GenerateCStates/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/GenerateCStates/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/GenerateCStates/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add GenerateCStates for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if GenerateCStates has been written or not +GenerateCStatesCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written GenerateCStates Yet + if "" in line and GenerateCStatesCheck == False: + line = " GenerateCStates\n" + line += " Yes\n" + line += "\n" + GenerateCStatesCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/GenerateCStates/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/DropSSDT/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/DropSSDT/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/DropSSDT/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add DropSSDT for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if DropSSDT has been written or not +DropSSDTCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written DropSSDT Yet + if "" in line and DropSSDTCheck == False: + line = " DropSSDT\n" + line += " Yes\n" + line += "\n" + DropSSDTCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/DropSSDT/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/EthernetBuiltIn/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/EthernetBuiltIn/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/EthernetBuiltIn/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add EthernetBuiltIn for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if EthernetBuiltIn has been written or not +EthernetBuiltInCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written DropSSDT Yet + if "" in line and EthernetBuiltInCheck == False: + line = " EthernetBuiltIn\n" + line += " Yes\n" + line += "\n" + EthernetBuiltInCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/EthernetBuiltIn/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/InstantMenu/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/InstantMenu/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/InstantMenu/postinstall (revision 338) @@ -0,0 +1,40 @@ +#!/usr/bin/python +# Script to add Instant Menu for Chameleon boot loaders +# Copyright (C) tonymacx86 LLC + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Instant Menu has been written or not +InstantMenuCheck = False + +body = "" + +for line in infile: + # if Timeout is there, advance the next line to + # read past it, and then change the lines to read + # "Instant Menu<\key>" and "Yes" + if "Timeout" in line: + line = infile.next() + line = " Instant Menu\n" + line += " Yes\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Instant Menu Yet + if "" in line and InstantMenuCheck == False: + line = " Instant Menu\n" + line += " Yes\n" + line += "\n" + InstantMenuCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/InstantMenu/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/GraphicsEnabler/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/GraphicsEnabler/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/GraphicsEnabler/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add GraphicsEnabler for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if GraphicsEnabler has been written or not +GraphicsEnablerCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written GraphicsEnabler Yet + if "" in line and GraphicsEnablerCheck == False: + line = " GraphicsEnabler\n" + line += " Yes\n" + line += "\n" + GraphicsEnablerCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/GraphicsEnabler/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/RestartFix/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/RestartFix/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/RestartFix/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add RestartFix for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if RestartFix has been written or not +RestartFixCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written RestartFix Yet + if "" in line and RestartFixCheck == False: + line = " RestartFix\n" + line += " No\n" + line += "\n" + RestartFixCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/RestartFix/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/CSTUsingSystemIO/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/CSTUsingSystemIO/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/CSTUsingSystemIO/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add CSTUsingSystemIO for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if CSTUsingSystemIO has been written or not +CSTUsingSystemIOCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written CSTUsingSystemIO Yet + if "" in line and CSTUsingSystemIOCheck == False: + line = " CSTUsingSystemIO\n" + line += " Yes\n" + line += "\n" + CSTUsingSystemIOCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/CSTUsingSystemIO/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC2State/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC2State/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC2State/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add EnableC2State for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if EnableC2State has been written or not +EnableC2StateCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written EnableC2State Yet + if "" in line and EnableC2StateCheck == False: + line = " EnableC2State\n" + line += " Yes\n" + line += "\n" + EnableC2StateCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC2State/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC3State/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC3State/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC3State/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add EnableC3State for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if EnableC3State has been written or not +EnableC3StateCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written EnableC3State Yet + if "" in line and EnableC3StateCheck == False: + line = " EnableC3State\n" + line += " Yes\n" + line += "\n" + EnableC3StateCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC3State/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/arch/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/arch/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/arch/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add arch for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if arch has been written or not +archCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written arch Yet + if "" in line and archCheck == False: + line = " arch\n" + line += " i386\n" + line += "\n" + archCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/arch/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC4State/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC4State/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC4State/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add EnableC4State for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if EnableC4State has been written or not +EnableC4StateCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written EnableC4State Yet + if "" in line and EnableC4StateCheck == False: + line = " EnableC4State\n" + line += " Yes\n" + line += "\n" + EnableC4StateCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/EnableC4State/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/BaseOptions/GeneratePStates/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/BaseOptions/GeneratePStates/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/BaseOptions/GeneratePStates/postinstall (revision 338) @@ -0,0 +1,30 @@ +#!/usr/bin/python +# Script to add GeneratePStates for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if GeneratePStates has been written or not +GeneratePStatesCheck = False + +body = "" + +for line in infile: + # if we finish the tags and haven't written GeneratePStates Yet + if "" in line and GeneratePStatesCheck == False: + line = " GeneratePStates\n" + line += " Yes\n" + line += "\n" + DropSSDTCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/BaseOptions/GeneratePStates/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1024x768x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1024x768x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1024x768x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1024x768x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1024x768x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1024x768x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1920x1200x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1920x1200x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1920x1200x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1920x1200x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1920x1200x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1920x1200x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1600x900x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1600x900x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1600x900x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1600x900x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1600x900x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1600x900x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1280x1024x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1280x1024x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1280x1024x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1280x1024x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1280x1024x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1280x1024x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1680x1050x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1680x1050x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1680x1050x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1680x1050x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1680x1050x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1680x1050x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1920x1080x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1920x1080x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1920x1080x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1920x1080x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1920x1080x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1920x1080x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Scripts/Resolutions/1280x960x32/postinstall =================================================================== --- trunk/PackageBuilder/package/Scripts/Resolutions/1280x960x32/postinstall (revision 0) +++ trunk/PackageBuilder/package/Scripts/Resolutions/1280x960x32/postinstall (revision 338) @@ -0,0 +1,39 @@ +#!/usr/bin/python +# Script to add Graphics_Mode for Chameleon boot loaders + +import sys +import os + +vol = str(sys.argv[3]) +boot = "/Extra/org.chameleon.Boot.plist" +plist = vol + boot +infile = open(plist, "r") +# check if Graphics_Mode has been written or not +Graphics_ModeCheck = False + +body = "" + +for line in infile: + # if GraphicsEnabler is there, advance the next line to + # read past it, and then change the lines to read + # "GraphicsEnabler<\key>" and "Yes" + if "GraphicsEnabler" in line: + line = infile.next() + line = " Graphics_Mode\n" + line += " 1280x960x32\n" + InstantMenuCheck = True + + # if we finish the tags and haven't written Graphics_Mode Yet + if "" in line and Graphics_ModeCheck == False: + line = " Graphics_Mode\n" + line += " 1280x960x32\n" + line += "\n" + Graphics_ModeCheck = True + + body += line + +infile.close() + +outfile = open(plist, "w") +outfile.write(body) +outfile.close() Property changes on: trunk/PackageBuilder/package/Scripts/Resolutions/1280x960x32/postinstall ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/dmg/ro.dmg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/dmg/ro.dmg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/dmg/SLAResources =================================================================== Index: trunk/PackageBuilder/package/Resources/Italian.lproj/Description.html =================================================================== --- trunk/PackageBuilder/package/Resources/Italian.lproj/Description.html (revision 0) +++ trunk/PackageBuilder/package/Resources/Italian.lproj/Description.html (revision 338) @@ -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 Index: trunk/PackageBuilder/package/Resources/Italian.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Resources/Italian.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Italian.lproj/Welcome.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,36 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 LucidaGrande;} +{\colortbl;\red255\green255\blue255;\red65\green78\blue255;\red0\green0\blue255;} +\margl1440\margr1440\vieww11660\viewh12980\viewkind0 +\pard\ri0\qc + +\f0\b\fs72 \cf0 Chameleon +\fs50 \ + +\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION% +\fs50 \ +\pard\ri0\ql\qnatural + +\fs26 \cf0 \ +\pard\ri0\qc + +\fs50 \cf2 %CHAMELEONSTAGE% +\fs26 \cf0 \ +\pard\ri0\ql\qnatural +\cf0 \ +Sviluppatori :%DEVELOP%\ +\ +Grazie a : %CREDITS%\ +\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\b0\fs30 \cf0 \ +\pard\ri0\ql\qnatural + +\b\fs26 \cf0 Pkg realizzato da : %PKGDEV% +\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 2011 +\b \cf3 Italian translation: ErmaC e scrax} Index: trunk/PackageBuilder/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Italian.lproj/Conclusion.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,34 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\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 2011} Index: trunk/PackageBuilder/package/Resources/Italian.lproj/License.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Italian.lproj/License.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Italian.lproj/License.rtf (revision 338) @@ -0,0 +1,350 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fmodern\fcharset0 Courier-Bold;\f1\fmodern\fcharset0 Courier;} +{\colortbl;\red255\green255\blue255;} +\paperw12240\paperh15840\vieww22060\viewh18360\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs40 \cf0 APPLE PUBLIC SOURCE LICENSE \ + +\fs26 Version 2.0 - August 6, 2003\ +\ + +\f1\b0 Please read this License carefully before downloading this software. By downloading or using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.\ +\ +1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") makes publicly available and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 2.0 ("License"). As used in this License:\ +\ +1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.\ +\ +1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.\ +\ +1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.\ +\ +1.4 "Externally Deploy" means: (a) to sublicense, distribute or otherwise make Covered Code available, directly or indirectly, to anyone other than You; and/or (b) to use Covered Code, alone or as part of a Larger Work, in any way to provide a service, including but not limited to delivery of content, through electronic communication with a client other than You.\ +\ +1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.\ +\ +1.6 "Modifications" mean any addition to, deletion from, and/or change\ +to, the substance and/or structure of the Original Code, any previous\ +Modifications, the combination of Original Code and any previous\ +Modifications, and/or any respective portions thereof. When code is\ +released as a series of files, a Modification is: (a) any addition to\ +or deletion from the contents of a file containing Covered Code;\ +and/or (b) any new file or other representation of computer program\ +statements that contains any part of Covered Code.\ +\ +1.7 "Original Code" means (a) the Source Code of a program or other\ +work as originally made available by Apple under this License,\ +including the Source Code of any updates or upgrades to such programs\ +or works made available by Apple under this License, and that has been\ +expressly identified by Apple as such in the header file(s) of such\ +work; and (b) the object code compiled from such Source Code and\ +originally made available by Apple under this License.\ +\ +1.8 "Source Code" means the human readable form of a program or other\ +work that is suitable for making modifications to it, including all\ +modules it contains, plus any associated interface definition files,\ +scripts used to control compilation and installation of an executable\ +(object code).\ +\ +1.9 "You" or "Your" means an individual or a legal entity exercising\ +rights under this License. For legal entities, "You" or "Your"\ +includes any entity which controls, is controlled by, or is under\ +common control with, You, where "control" means (a) the power, direct\ +or indirect, to cause the direction or management of such entity,\ +whether by contract or otherwise, or (b) ownership of fifty percent\ +(50%) or more of the outstanding shares or beneficial ownership of\ +such entity.\ +\ +2. Permitted Uses; Conditions & Restrictions. Subject to the terms\ +and conditions of this License, Apple hereby grants You, effective on\ +the date You accept this License and download the Original Code, a\ +world-wide, royalty-free, non-exclusive license, to the extent of\ +Apple's Applicable Patent Rights and copyrights covering the Original\ +Code, to do the following:\ +\ +2.1 Unmodified Code. You may use, reproduce, display, perform,\ +internally distribute within Your organization, and Externally Deploy\ +verbatim, unmodified copies of the Original Code, for commercial or\ +non-commercial purposes, provided that in each instance:\ +\ +(a) You must retain and reproduce in all copies of Original Code the\ +copyright and other proprietary notices and disclaimers of Apple as\ +they appear in the Original Code, and keep intact all notices in the\ +Original Code that refer to this License; and\ +\ +(b) You must include a copy of this License with every copy of Source\ +Code of Covered Code and documentation You distribute or Externally\ +Deploy, and You may not offer or impose any terms on such Source Code\ +that alter or restrict this License or the recipients' rights\ +hereunder, except as permitted under Section 6.\ +\ +2.2 Modified Code. You may modify Covered Code and use, reproduce,\ +display, perform, internally distribute within Your organization, and\ +Externally Deploy Your Modifications and Covered Code, for commercial\ +or non-commercial purposes, provided that in each instance You also\ +meet all of these conditions:\ +\ +(a) You must satisfy all the conditions of Section 2.1 with respect to\ +the Source Code of the Covered Code;\ +\ +(b) You must duplicate, to the extent it does not already exist, the\ +notice in Exhibit A in each file of the Source Code of all Your\ +Modifications, and cause the modified files to carry prominent notices\ +stating that You changed the files and the date of any change; and\ +\ +(c) If You Externally Deploy Your Modifications, You must make\ +Source Code of all Your Externally Deployed Modifications either\ +available to those to whom You have Externally Deployed Your\ +Modifications, or publicly available. Source Code of Your Externally\ +Deployed Modifications must be released under the terms set forth in\ +this License, including the license grants set forth in Section 3\ +below, for as long as you Externally Deploy the Covered Code or twelve\ +(12) months from the date of initial External Deployment, whichever is\ +longer. You should preferably distribute the Source Code of Your\ +Externally Deployed Modifications electronically (e.g. download from a\ +web site).\ +\ +2.3 Distribution of Executable Versions. In addition, if You\ +Externally Deploy Covered Code (Original Code and/or Modifications) in\ +object code, executable form only, You must include a prominent\ +notice, in the code itself as well as in related documentation,\ +stating that Source Code of the Covered Code is available under the\ +terms of this License with information on how and where to obtain such\ +Source Code.\ +\ +2.4 Third Party Rights. You expressly acknowledge and agree that\ +although Apple and each Contributor grants the licenses to their\ +respective portions of the Covered Code set forth herein, no\ +assurances are provided by Apple or any Contributor that the Covered\ +Code does not infringe the patent or other intellectual property\ +rights of any other entity. Apple and each Contributor disclaim any\ +liability to You for claims brought by any other entity based on\ +infringement of intellectual property rights or otherwise. As a\ +condition to exercising the rights and licenses granted hereunder, You\ +hereby assume sole responsibility to secure any other intellectual\ +property rights needed, if any. For example, if a third party patent\ +license is required to allow You to distribute the Covered Code, it is\ +Your responsibility to acquire that license before distributing the\ +Covered Code.\ +\ +3. Your Grants. In consideration of, and as a condition to, the\ +licenses granted to You under this License, You hereby grant to any\ +person or entity receiving or distributing Covered Code under this\ +License a non-exclusive, royalty-free, perpetual, irrevocable license,\ +under Your Applicable Patent Rights and other intellectual property\ +rights (other than patent) owned or controlled by You, to use,\ +reproduce, display, perform, modify, sublicense, distribute and\ +Externally Deploy Your Modifications of the same scope and extent as\ +Apple's licenses under Sections 2.1 and 2.2 above.\ +\ +4. Larger Works. You may create a Larger Work by combining Covered\ +Code with other code not governed by the terms of this License and\ +distribute the Larger Work as a single product. In each such instance,\ +You must make sure the requirements of this License are fulfilled for\ +the Covered Code or any portion thereof.\ +\ +5. Limitations on Patent License. Except as expressly stated in\ +Section 2, no other patent rights, express or implied, are granted by\ +Apple herein. Modifications and/or Larger Works may require additional\ +patent licenses from Apple which Apple may grant in its sole\ +discretion.\ +\ +6. Additional Terms. You may choose to offer, and to charge a fee for,\ +warranty, support, indemnity or liability obligations and/or other\ +rights consistent with the scope of the license granted herein\ +("Additional Terms") to one or more recipients of Covered Code.\ +However, You may do so only on Your own behalf and as Your sole\ +responsibility, and not on behalf of Apple or any Contributor. You\ +must obtain the recipient's agreement that any such Additional Terms\ +are offered by You alone, and You hereby agree to indemnify, defend\ +and hold Apple and every Contributor harmless for any liability\ +incurred by or claims asserted against Apple or such Contributor by\ +reason of any such Additional Terms.\ +\ +7. Versions of the License. Apple may publish revised and/or new\ +versions of this License from time to time. Each version will be given\ +a distinguishing version number. Once Original Code has been published\ +under a particular version of this License, You may continue to use it\ +under the terms of that version. You may also choose to use such\ +Original Code under the terms of any subsequent version of this\ +License published by Apple. No one other than Apple has the right to\ +modify the terms applicable to Covered Code created under this\ +License.\ +\ +8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in\ +part pre-release, untested, or not fully tested works. The Covered\ +Code may contain errors that could cause failures or loss of data, and\ +may be incomplete or contain inaccuracies. You expressly acknowledge\ +and agree that use of the Covered Code, or any portion thereof, is at\ +Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND\ +WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND\ +APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE\ +PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM\ +ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT\ +NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF\ +MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR\ +PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD\ +PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST\ +INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE\ +FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS,\ +THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR\ +ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO\ +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE\ +AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.\ +You acknowledge that the Covered Code is not intended for use in the\ +operation of nuclear facilities, aircraft navigation, communication\ +systems, or air traffic control machines in which case the failure of\ +the Covered Code could lead to death, personal injury, or severe\ +physical or environmental damage.\ +\ +9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO\ +EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL,\ +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING\ +TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR\ +ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY,\ +TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF\ +APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\ +DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY\ +REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF\ +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY\ +TO YOU. In no event shall Apple's total liability to You for all\ +damages (other than as may be required by applicable law) under this\ +License exceed the amount of fifty dollars ($50.00).\ +\ +10. Trademarks. This License does not grant any rights to use the\ +trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS",\ +"QuickTime", "QuickTime Streaming Server" or any other trademarks,\ +service marks, logos or trade names belonging to Apple (collectively\ +"Apple Marks") or to any trademark, service mark, logo or trade name\ +belonging to any Contributor. You agree not to use any Apple Marks in\ +or as part of the name of products derived from the Original Code or\ +to endorse or promote products derived from the Original Code other\ +than as expressly permitted by and in strict compliance at all times\ +with Apple's third party trademark usage guidelines which are posted\ +at http://www.apple.com/legal/guidelinesfor3rdparties.html.\ +\ +11. Ownership. Subject to the licenses granted under this License,\ +each Contributor retains all rights, title and interest in and to any\ +Modifications made by such Contributor. Apple retains all rights,\ +title and interest in and to the Original Code and any Modifications\ +made by or on behalf of Apple ("Apple Modifications"), and such Apple\ +Modifications will not be automatically subject to this License. Apple\ +may, at its sole discretion, choose to license such Apple\ +Modifications under this License, or on different terms from those\ +contained in this License or may choose not to license them at all.\ +\ +12. Termination.\ +\ +12.1 Termination. This License and the rights granted hereunder will\ +terminate:\ +\ +(a) automatically without notice from Apple if You fail to comply with\ +any term(s) of this License and fail to cure such breach within 30\ +days of becoming aware of such breach;\ +\ +(b) immediately in the event of the circumstances described in Section\ +13.5(b); or\ +\ +(c) automatically without notice from Apple if You, at any time during\ +the term of this License, commence an action for patent infringement\ +against Apple; provided that Apple did not first commence\ +an action for patent infringement against You in that instance.\ +\ +12.2 Effect of Termination. Upon termination, You agree to immediately\ +stop any further use, reproduction, modification, sublicensing and\ +distribution of the Covered Code. All sublicenses to the Covered Code\ +which have been properly granted prior to termination shall survive\ +any termination of this License. Provisions which, by their nature,\ +should remain in effect beyond the termination of this License shall\ +survive, including but not limited to Sections 3, 5, 8, 9, 10, 11,\ +12.2 and 13. No party will be liable to any other for compensation,\ +indemnity or damages of any sort solely as a result of terminating\ +this License in accordance with its terms, and termination of this\ +License will be without prejudice to any other right or remedy of\ +any party.\ +\ +13. Miscellaneous.\ +\ +13.1 Government End Users. The Covered Code is a "commercial item" as\ +defined in FAR 2.101. Government software and technical data rights in\ +the Covered Code include only those rights customarily provided to the\ +public as defined in this License. This customary commercial license\ +in technical data and software is provided in accordance with FAR\ +12.211 (Technical Data) and 12.212 (Computer Software) and, for\ +Department of Defense purchases, DFAR 252.227-7015 (Technical Data --\ +Commercial Items) and 227.7202-3 (Rights in Commercial Computer\ +Software or Computer Software Documentation). Accordingly, all U.S.\ +Government End Users acquire Covered Code with only those rights set\ +forth herein.\ +\ +13.2 Relationship of Parties. This License will not be construed as\ +creating an agency, partnership, joint venture or any other form of\ +legal association between or among You, Apple or any Contributor, and\ +You will not represent to the contrary, whether expressly, by\ +implication, appearance or otherwise.\ +\ +13.3 Independent Development. Nothing in this License will impair\ +Apple's right to acquire, license, develop, have others develop for\ +it, market and/or distribute technology or products that perform the\ +same or similar functions as, or otherwise compete with,\ +Modifications, Larger Works, technology or products that You may\ +develop, produce, market or distribute.\ +\ +13.4 Waiver; Construction. Failure by Apple or any Contributor to\ +enforce any provision of this License will not be deemed a waiver of\ +future enforcement of that or any other provision. Any law or\ +regulation which provides that the language of a contract shall be\ +construed against the drafter will not apply to this License.\ +\ +13.5 Severability. (a) If for any reason a court of competent\ +jurisdiction finds any provision of this License, or portion thereof,\ +to be unenforceable, that provision of the License will be enforced to\ +the maximum extent permissible so as to effect the economic benefits\ +and intent of the parties, and the remainder of this License will\ +continue in full force and effect. (b) Notwithstanding the foregoing,\ +if applicable law prohibits or restricts You from fully and/or\ +specifically complying with Sections 2 and/or 3 or prevents the\ +enforceability of either of those Sections, this License will\ +immediately terminate and You must immediately discontinue any use of\ +the Covered Code and destroy all copies of it that are in your\ +possession or control.\ +\ +13.6 Dispute Resolution. Any litigation or other dispute resolution\ +between You and Apple relating to this License shall take place in the\ +Northern District of California, and You and Apple hereby consent to\ +the personal jurisdiction of, and venue in, the state and federal\ +courts within that District with respect to this License. The\ +application of the United Nations Convention on Contracts for the\ +International Sale of Goods is expressly excluded.\ +\ +13.7 Entire Agreement; Governing Law. This License constitutes the\ +entire agreement between the parties with respect to the subject\ +matter hereof. This License shall be governed by the laws of the\ +United States and the State of California, except that body of\ +California law concerning conflicts of law.\ +\ +Where You are located in the province of Quebec, Canada, the following\ +clause applies: The parties hereby confirm that they have requested\ +that this License and all related documents be drafted in English. Les\ +parties ont exige que le present contrat et tous les documents\ +connexes soient rediges en anglais.\ +\ +EXHIBIT A.\ +\ +"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights\ +Reserved.\ +\ +This file contains Original Code and/or Modifications of Original Code\ +as defined in and that are subject to the Apple Public Source License\ +Version 2.0 (the 'License'). You may not use this file except in\ +compliance with the License. Please obtain a copy of the License at\ +http://www.opensource.apple.com/apsl/ and read it before using this\ +file.\ +\ +The Original Code and all software distributed under the License are\ +distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER\ +EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,\ +INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,\ +FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.\ +Please see the License for the specific language governing rights and\ +limitations under the License." } \ No newline at end of file Index: trunk/PackageBuilder/package/Resources/background.tiff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Resources/background.tiff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Resources/Spanish.lproj/Description.html =================================================================== --- trunk/PackageBuilder/package/Resources/Spanish.lproj/Description.html (revision 0) +++ trunk/PackageBuilder/package/Resources/Spanish.lproj/Description.html (revision 338) @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

El Bootloader +Chameleon es la combinación de varios componentes.
+Esta basado en la implementación EFI falsa de David Elliott, incorporada al +método Boot-132, a partir del proyecto de código abierto Darwin de Apple.

+ +

 

+ +

Chameleon +tiene soporte extendido a las siguientes características:

+ +

 

+ +

Novedades en +Chameleon 2.0:

+ +

 

+ +

- Interfaz GUI  totalmente personalizada para brindarle más colorido al +Dawin Bootloader.

+ +

- Booteo de +DVDs con simplemente cargar una imagen ramdisk sin la ayuda de programas +adicionales.

+ +

- Hibernación. +Disfrute reanudar su MAC OS X con una imagen de muestra.

+ +

- Anulación de +SMBIOS, para modificar los valores de fábrica SMBIOS.

+ +

- Anulación de +DSDT, para usar un DSDT modificado y arreglado capaz de resolver varios +inconvenientes.

+ +

- Inyección de +Propiedades de Dispositivos a través del archivo ‘com.apple.Boot.plist’.

+ +

- Permite el +arranque de discos con esquemas Híbridos boot0 / boot1h, o bien sea por +separado MBR y GPT.

+ +

- Detección automática +de frecuencia FSB para CPUs AMD recientes.

+ +

- Ayuda RAID +para software Apple.

+ +

 

+ +

Para +información más detallada, visitar : http://chameleon.osx86.hu

+ +

 

+ +
+ + + + Index: trunk/PackageBuilder/package/Resources/Spanish.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Resources/Spanish.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Resources/Spanish.lproj/Welcome.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Spanish.lproj/Welcome.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Spanish.lproj/Welcome.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,36 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 LucidaGrande;} +{\colortbl;\red255\green255\blue255;\red65\green78\blue255;\red0\green0\blue255;} +\margl1440\margr1440\vieww11660\viewh12980\viewkind0 +\pard\ri0\qc + +\f0\b\fs72 \cf0 Chameleon +\fs50 \ + +\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION% +\fs50 \ +\pard\ri0\ql\qnatural + +\fs26 \cf0 \ +\pard\ri0\qc + +\fs50 \cf2 %CHAMELEONSTAGE% +\fs26 \cf0 \ +\pard\ri0\ql\qnatural +\cf0 \ +Programadores :%DEVELOP%\ +\ +Gracias's a : %CREDITS%\ +\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\b0\fs30 \cf0 \ +\pard\ri0\ql\qnatural + +\b\fs26 \cf0 Package : %PKGDEV% +\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 2011 +\b \cf3 Spanish translation: juanerson} Index: trunk/PackageBuilder/package/Resources/Spanish.lproj/Conclusion.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Spanish.lproj/Conclusion.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Spanish.lproj/Conclusion.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,34 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\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 Instalaci\'f3n completa! +\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 2011} Index: trunk/PackageBuilder/package/Resources/Spanish.lproj/License.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Spanish.lproj/License.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Spanish.lproj/License.rtf (revision 338) @@ -0,0 +1,350 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fmodern\fcharset0 Courier-Bold;\f1\fmodern\fcharset0 Courier;} +{\colortbl;\red255\green255\blue255;} +\paperw12240\paperh15840\vieww22060\viewh18360\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs40 \cf0 APPLE PUBLIC SOURCE LICENSE \ + +\fs26 Version 2.0 - August 6, 2003\ +\ + +\f1\b0 Please read this License carefully before downloading this software. By downloading or using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.\ +\ +1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") makes publicly available and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 2.0 ("License"). As used in this License:\ +\ +1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.\ +\ +1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.\ +\ +1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.\ +\ +1.4 "Externally Deploy" means: (a) to sublicense, distribute or otherwise make Covered Code available, directly or indirectly, to anyone other than You; and/or (b) to use Covered Code, alone or as part of a Larger Work, in any way to provide a service, including but not limited to delivery of content, through electronic communication with a client other than You.\ +\ +1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.\ +\ +1.6 "Modifications" mean any addition to, deletion from, and/or change\ +to, the substance and/or structure of the Original Code, any previous\ +Modifications, the combination of Original Code and any previous\ +Modifications, and/or any respective portions thereof. When code is\ +released as a series of files, a Modification is: (a) any addition to\ +or deletion from the contents of a file containing Covered Code;\ +and/or (b) any new file or other representation of computer program\ +statements that contains any part of Covered Code.\ +\ +1.7 "Original Code" means (a) the Source Code of a program or other\ +work as originally made available by Apple under this License,\ +including the Source Code of any updates or upgrades to such programs\ +or works made available by Apple under this License, and that has been\ +expressly identified by Apple as such in the header file(s) of such\ +work; and (b) the object code compiled from such Source Code and\ +originally made available by Apple under this License.\ +\ +1.8 "Source Code" means the human readable form of a program or other\ +work that is suitable for making modifications to it, including all\ +modules it contains, plus any associated interface definition files,\ +scripts used to control compilation and installation of an executable\ +(object code).\ +\ +1.9 "You" or "Your" means an individual or a legal entity exercising\ +rights under this License. For legal entities, "You" or "Your"\ +includes any entity which controls, is controlled by, or is under\ +common control with, You, where "control" means (a) the power, direct\ +or indirect, to cause the direction or management of such entity,\ +whether by contract or otherwise, or (b) ownership of fifty percent\ +(50%) or more of the outstanding shares or beneficial ownership of\ +such entity.\ +\ +2. Permitted Uses; Conditions & Restrictions. Subject to the terms\ +and conditions of this License, Apple hereby grants You, effective on\ +the date You accept this License and download the Original Code, a\ +world-wide, royalty-free, non-exclusive license, to the extent of\ +Apple's Applicable Patent Rights and copyrights covering the Original\ +Code, to do the following:\ +\ +2.1 Unmodified Code. You may use, reproduce, display, perform,\ +internally distribute within Your organization, and Externally Deploy\ +verbatim, unmodified copies of the Original Code, for commercial or\ +non-commercial purposes, provided that in each instance:\ +\ +(a) You must retain and reproduce in all copies of Original Code the\ +copyright and other proprietary notices and disclaimers of Apple as\ +they appear in the Original Code, and keep intact all notices in the\ +Original Code that refer to this License; and\ +\ +(b) You must include a copy of this License with every copy of Source\ +Code of Covered Code and documentation You distribute or Externally\ +Deploy, and You may not offer or impose any terms on such Source Code\ +that alter or restrict this License or the recipients' rights\ +hereunder, except as permitted under Section 6.\ +\ +2.2 Modified Code. You may modify Covered Code and use, reproduce,\ +display, perform, internally distribute within Your organization, and\ +Externally Deploy Your Modifications and Covered Code, for commercial\ +or non-commercial purposes, provided that in each instance You also\ +meet all of these conditions:\ +\ +(a) You must satisfy all the conditions of Section 2.1 with respect to\ +the Source Code of the Covered Code;\ +\ +(b) You must duplicate, to the extent it does not already exist, the\ +notice in Exhibit A in each file of the Source Code of all Your\ +Modifications, and cause the modified files to carry prominent notices\ +stating that You changed the files and the date of any change; and\ +\ +(c) If You Externally Deploy Your Modifications, You must make\ +Source Code of all Your Externally Deployed Modifications either\ +available to those to whom You have Externally Deployed Your\ +Modifications, or publicly available. Source Code of Your Externally\ +Deployed Modifications must be released under the terms set forth in\ +this License, including the license grants set forth in Section 3\ +below, for as long as you Externally Deploy the Covered Code or twelve\ +(12) months from the date of initial External Deployment, whichever is\ +longer. You should preferably distribute the Source Code of Your\ +Externally Deployed Modifications electronically (e.g. download from a\ +web site).\ +\ +2.3 Distribution of Executable Versions. In addition, if You\ +Externally Deploy Covered Code (Original Code and/or Modifications) in\ +object code, executable form only, You must include a prominent\ +notice, in the code itself as well as in related documentation,\ +stating that Source Code of the Covered Code is available under the\ +terms of this License with information on how and where to obtain such\ +Source Code.\ +\ +2.4 Third Party Rights. You expressly acknowledge and agree that\ +although Apple and each Contributor grants the licenses to their\ +respective portions of the Covered Code set forth herein, no\ +assurances are provided by Apple or any Contributor that the Covered\ +Code does not infringe the patent or other intellectual property\ +rights of any other entity. Apple and each Contributor disclaim any\ +liability to You for claims brought by any other entity based on\ +infringement of intellectual property rights or otherwise. As a\ +condition to exercising the rights and licenses granted hereunder, You\ +hereby assume sole responsibility to secure any other intellectual\ +property rights needed, if any. For example, if a third party patent\ +license is required to allow You to distribute the Covered Code, it is\ +Your responsibility to acquire that license before distributing the\ +Covered Code.\ +\ +3. Your Grants. In consideration of, and as a condition to, the\ +licenses granted to You under this License, You hereby grant to any\ +person or entity receiving or distributing Covered Code under this\ +License a non-exclusive, royalty-free, perpetual, irrevocable license,\ +under Your Applicable Patent Rights and other intellectual property\ +rights (other than patent) owned or controlled by You, to use,\ +reproduce, display, perform, modify, sublicense, distribute and\ +Externally Deploy Your Modifications of the same scope and extent as\ +Apple's licenses under Sections 2.1 and 2.2 above.\ +\ +4. Larger Works. You may create a Larger Work by combining Covered\ +Code with other code not governed by the terms of this License and\ +distribute the Larger Work as a single product. In each such instance,\ +You must make sure the requirements of this License are fulfilled for\ +the Covered Code or any portion thereof.\ +\ +5. Limitations on Patent License. Except as expressly stated in\ +Section 2, no other patent rights, express or implied, are granted by\ +Apple herein. Modifications and/or Larger Works may require additional\ +patent licenses from Apple which Apple may grant in its sole\ +discretion.\ +\ +6. Additional Terms. You may choose to offer, and to charge a fee for,\ +warranty, support, indemnity or liability obligations and/or other\ +rights consistent with the scope of the license granted herein\ +("Additional Terms") to one or more recipients of Covered Code.\ +However, You may do so only on Your own behalf and as Your sole\ +responsibility, and not on behalf of Apple or any Contributor. You\ +must obtain the recipient's agreement that any such Additional Terms\ +are offered by You alone, and You hereby agree to indemnify, defend\ +and hold Apple and every Contributor harmless for any liability\ +incurred by or claims asserted against Apple or such Contributor by\ +reason of any such Additional Terms.\ +\ +7. Versions of the License. Apple may publish revised and/or new\ +versions of this License from time to time. Each version will be given\ +a distinguishing version number. Once Original Code has been published\ +under a particular version of this License, You may continue to use it\ +under the terms of that version. You may also choose to use such\ +Original Code under the terms of any subsequent version of this\ +License published by Apple. No one other than Apple has the right to\ +modify the terms applicable to Covered Code created under this\ +License.\ +\ +8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in\ +part pre-release, untested, or not fully tested works. The Covered\ +Code may contain errors that could cause failures or loss of data, and\ +may be incomplete or contain inaccuracies. You expressly acknowledge\ +and agree that use of the Covered Code, or any portion thereof, is at\ +Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND\ +WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND\ +APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE\ +PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM\ +ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT\ +NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF\ +MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR\ +PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD\ +PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST\ +INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE\ +FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS,\ +THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR\ +ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO\ +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE\ +AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.\ +You acknowledge that the Covered Code is not intended for use in the\ +operation of nuclear facilities, aircraft navigation, communication\ +systems, or air traffic control machines in which case the failure of\ +the Covered Code could lead to death, personal injury, or severe\ +physical or environmental damage.\ +\ +9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO\ +EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL,\ +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING\ +TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR\ +ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY,\ +TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF\ +APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\ +DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY\ +REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF\ +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY\ +TO YOU. In no event shall Apple's total liability to You for all\ +damages (other than as may be required by applicable law) under this\ +License exceed the amount of fifty dollars ($50.00).\ +\ +10. Trademarks. This License does not grant any rights to use the\ +trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS",\ +"QuickTime", "QuickTime Streaming Server" or any other trademarks,\ +service marks, logos or trade names belonging to Apple (collectively\ +"Apple Marks") or to any trademark, service mark, logo or trade name\ +belonging to any Contributor. You agree not to use any Apple Marks in\ +or as part of the name of products derived from the Original Code or\ +to endorse or promote products derived from the Original Code other\ +than as expressly permitted by and in strict compliance at all times\ +with Apple's third party trademark usage guidelines which are posted\ +at http://www.apple.com/legal/guidelinesfor3rdparties.html.\ +\ +11. Ownership. Subject to the licenses granted under this License,\ +each Contributor retains all rights, title and interest in and to any\ +Modifications made by such Contributor. Apple retains all rights,\ +title and interest in and to the Original Code and any Modifications\ +made by or on behalf of Apple ("Apple Modifications"), and such Apple\ +Modifications will not be automatically subject to this License. Apple\ +may, at its sole discretion, choose to license such Apple\ +Modifications under this License, or on different terms from those\ +contained in this License or may choose not to license them at all.\ +\ +12. Termination.\ +\ +12.1 Termination. This License and the rights granted hereunder will\ +terminate:\ +\ +(a) automatically without notice from Apple if You fail to comply with\ +any term(s) of this License and fail to cure such breach within 30\ +days of becoming aware of such breach;\ +\ +(b) immediately in the event of the circumstances described in Section\ +13.5(b); or\ +\ +(c) automatically without notice from Apple if You, at any time during\ +the term of this License, commence an action for patent infringement\ +against Apple; provided that Apple did not first commence\ +an action for patent infringement against You in that instance.\ +\ +12.2 Effect of Termination. Upon termination, You agree to immediately\ +stop any further use, reproduction, modification, sublicensing and\ +distribution of the Covered Code. All sublicenses to the Covered Code\ +which have been properly granted prior to termination shall survive\ +any termination of this License. Provisions which, by their nature,\ +should remain in effect beyond the termination of this License shall\ +survive, including but not limited to Sections 3, 5, 8, 9, 10, 11,\ +12.2 and 13. No party will be liable to any other for compensation,\ +indemnity or damages of any sort solely as a result of terminating\ +this License in accordance with its terms, and termination of this\ +License will be without prejudice to any other right or remedy of\ +any party.\ +\ +13. Miscellaneous.\ +\ +13.1 Government End Users. The Covered Code is a "commercial item" as\ +defined in FAR 2.101. Government software and technical data rights in\ +the Covered Code include only those rights customarily provided to the\ +public as defined in this License. This customary commercial license\ +in technical data and software is provided in accordance with FAR\ +12.211 (Technical Data) and 12.212 (Computer Software) and, for\ +Department of Defense purchases, DFAR 252.227-7015 (Technical Data --\ +Commercial Items) and 227.7202-3 (Rights in Commercial Computer\ +Software or Computer Software Documentation). Accordingly, all U.S.\ +Government End Users acquire Covered Code with only those rights set\ +forth herein.\ +\ +13.2 Relationship of Parties. This License will not be construed as\ +creating an agency, partnership, joint venture or any other form of\ +legal association between or among You, Apple or any Contributor, and\ +You will not represent to the contrary, whether expressly, by\ +implication, appearance or otherwise.\ +\ +13.3 Independent Development. Nothing in this License will impair\ +Apple's right to acquire, license, develop, have others develop for\ +it, market and/or distribute technology or products that perform the\ +same or similar functions as, or otherwise compete with,\ +Modifications, Larger Works, technology or products that You may\ +develop, produce, market or distribute.\ +\ +13.4 Waiver; Construction. Failure by Apple or any Contributor to\ +enforce any provision of this License will not be deemed a waiver of\ +future enforcement of that or any other provision. Any law or\ +regulation which provides that the language of a contract shall be\ +construed against the drafter will not apply to this License.\ +\ +13.5 Severability. (a) If for any reason a court of competent\ +jurisdiction finds any provision of this License, or portion thereof,\ +to be unenforceable, that provision of the License will be enforced to\ +the maximum extent permissible so as to effect the economic benefits\ +and intent of the parties, and the remainder of this License will\ +continue in full force and effect. (b) Notwithstanding the foregoing,\ +if applicable law prohibits or restricts You from fully and/or\ +specifically complying with Sections 2 and/or 3 or prevents the\ +enforceability of either of those Sections, this License will\ +immediately terminate and You must immediately discontinue any use of\ +the Covered Code and destroy all copies of it that are in your\ +possession or control.\ +\ +13.6 Dispute Resolution. Any litigation or other dispute resolution\ +between You and Apple relating to this License shall take place in the\ +Northern District of California, and You and Apple hereby consent to\ +the personal jurisdiction of, and venue in, the state and federal\ +courts within that District with respect to this License. The\ +application of the United Nations Convention on Contracts for the\ +International Sale of Goods is expressly excluded.\ +\ +13.7 Entire Agreement; Governing Law. This License constitutes the\ +entire agreement between the parties with respect to the subject\ +matter hereof. This License shall be governed by the laws of the\ +United States and the State of California, except that body of\ +California law concerning conflicts of law.\ +\ +Where You are located in the province of Quebec, Canada, the following\ +clause applies: The parties hereby confirm that they have requested\ +that this License and all related documents be drafted in English. Les\ +parties ont exige que le present contrat et tous les documents\ +connexes soient rediges en anglais.\ +\ +EXHIBIT A.\ +\ +"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights\ +Reserved.\ +\ +This file contains Original Code and/or Modifications of Original Code\ +as defined in and that are subject to the Apple Public Source License\ +Version 2.0 (the 'License'). You may not use this file except in\ +compliance with the License. Please obtain a copy of the License at\ +http://www.opensource.apple.com/apsl/ and read it before using this\ +file.\ +\ +The Original Code and all software distributed under the License are\ +distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER\ +EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,\ +INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,\ +FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.\ +Please see the License for the specific language governing rights and\ +limitations under the License." } \ No newline at end of file Index: trunk/PackageBuilder/package/Resources/Bosnian.lproj/Description.html =================================================================== --- trunk/PackageBuilder/package/Resources/Bosnian.lproj/Description.html (revision 0) +++ trunk/PackageBuilder/package/Resources/Bosnian.lproj/Description.html (revision 338) @@ -0,0 +1,36 @@ + + + + + + + + + + + +

Chameleon je kombinacija razliÄitih komponenti bootloadera.

+

On se temelji na David Elliottovoj lažnoj EFI implementaciji dodanoj na Apple boot-132 projektu.

+

Chameleon je proÅ¡iren sa slijedećim kljuÄnim znaÄenjima:

+


+

Nove funkcije u Chameleon 2.0

+


+

- Potpuno prilagoÄ‘en grafiÄki korisiniÄki interfejs donosi neke boje u Darwin Bootloaderu.

+

- Start sa retail DVD-om direktno uÄitava ramdisk slike bez pomoći dodatnih programa.

+

- Hibernacija. Uživajte u nastavaku rada vašeg Mac OS X-a sa pregledom slike.

+

- SMBIOS zamijena tvorniÄkih za modifikovanu SMBIOS vrijednost.

+

- DSDT zamijena za korištenje modifikovanog, ispravljenog DSDT-a koji može riješiti nekoliko problema.

+


+

- Implementacija svojstva uređaja putem svojstva niza.

+

- hibridni boot0 / boot1h za MBR i GPT particionirane diskove.

+

- automatsko FSB kodno otkrivanje Äak i za posljednje AMD procesore. 

+

- Apple softver RAID podrška.

+


+

Za detaljne informacije posjetite: http://chameleon.osx86.hu

+ + Index: trunk/PackageBuilder/package/Resources/Bosnian.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Resources/Bosnian.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Resources/Bosnian.lproj/Welcome.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Bosnian.lproj/Welcome.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Bosnian.lproj/Welcome.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,36 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 LucidaGrande;} +{\colortbl;\red255\green255\blue255;\red65\green78\blue255;\red0\green0\blue255;} +\margl1440\margr1440\vieww11660\viewh12980\viewkind0 +\pard\ri0\qc + +\f0\b\fs72 \cf0 Chameleon +\fs50 \ + +\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION% +\fs50 \ +\pard\ri0\ql\qnatural + +\fs26 \cf0 \ +\pard\ri0\qc + +\fs50 \cf2 %CHAMELEONSTAGE% +\fs26 \cf0 \ +\pard\ri0\ql\qnatural +\cf0 \ +Programeri :%DEVELOP%\ +\ +Hvala : %CREDITS%\ +\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\b0\fs30 \cf0 \ +\pard\ri0\ql\qnatural + +\b\fs26 \cf0 Pkg : %PKGDEV% +\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 2011 +\b \cf3 Bosnian translation: mlstudio} Index: trunk/PackageBuilder/package/Resources/Bosnian.lproj/Conclusion.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Bosnian.lproj/Conclusion.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Bosnian.lproj/Conclusion.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,34 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\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 Instalacija Kompletna! +\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 2011} Index: trunk/PackageBuilder/package/Resources/Bosnian.lproj/License.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/Bosnian.lproj/License.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/Bosnian.lproj/License.rtf (revision 338) @@ -0,0 +1,350 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fmodern\fcharset0 Courier-Bold;\f1\fmodern\fcharset0 Courier;} +{\colortbl;\red255\green255\blue255;} +\paperw12240\paperh15840\vieww22060\viewh18360\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs40 \cf0 APPLE PUBLIC SOURCE LICENSE \ + +\fs26 Version 2.0 - August 6, 2003\ +\ + +\f1\b0 Please read this License carefully before downloading this software. By downloading or using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.\ +\ +1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") makes publicly available and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 2.0 ("License"). As used in this License:\ +\ +1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.\ +\ +1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.\ +\ +1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.\ +\ +1.4 "Externally Deploy" means: (a) to sublicense, distribute or otherwise make Covered Code available, directly or indirectly, to anyone other than You; and/or (b) to use Covered Code, alone or as part of a Larger Work, in any way to provide a service, including but not limited to delivery of content, through electronic communication with a client other than You.\ +\ +1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.\ +\ +1.6 "Modifications" mean any addition to, deletion from, and/or change\ +to, the substance and/or structure of the Original Code, any previous\ +Modifications, the combination of Original Code and any previous\ +Modifications, and/or any respective portions thereof. When code is\ +released as a series of files, a Modification is: (a) any addition to\ +or deletion from the contents of a file containing Covered Code;\ +and/or (b) any new file or other representation of computer program\ +statements that contains any part of Covered Code.\ +\ +1.7 "Original Code" means (a) the Source Code of a program or other\ +work as originally made available by Apple under this License,\ +including the Source Code of any updates or upgrades to such programs\ +or works made available by Apple under this License, and that has been\ +expressly identified by Apple as such in the header file(s) of such\ +work; and (b) the object code compiled from such Source Code and\ +originally made available by Apple under this License.\ +\ +1.8 "Source Code" means the human readable form of a program or other\ +work that is suitable for making modifications to it, including all\ +modules it contains, plus any associated interface definition files,\ +scripts used to control compilation and installation of an executable\ +(object code).\ +\ +1.9 "You" or "Your" means an individual or a legal entity exercising\ +rights under this License. For legal entities, "You" or "Your"\ +includes any entity which controls, is controlled by, or is under\ +common control with, You, where "control" means (a) the power, direct\ +or indirect, to cause the direction or management of such entity,\ +whether by contract or otherwise, or (b) ownership of fifty percent\ +(50%) or more of the outstanding shares or beneficial ownership of\ +such entity.\ +\ +2. Permitted Uses; Conditions & Restrictions. Subject to the terms\ +and conditions of this License, Apple hereby grants You, effective on\ +the date You accept this License and download the Original Code, a\ +world-wide, royalty-free, non-exclusive license, to the extent of\ +Apple's Applicable Patent Rights and copyrights covering the Original\ +Code, to do the following:\ +\ +2.1 Unmodified Code. You may use, reproduce, display, perform,\ +internally distribute within Your organization, and Externally Deploy\ +verbatim, unmodified copies of the Original Code, for commercial or\ +non-commercial purposes, provided that in each instance:\ +\ +(a) You must retain and reproduce in all copies of Original Code the\ +copyright and other proprietary notices and disclaimers of Apple as\ +they appear in the Original Code, and keep intact all notices in the\ +Original Code that refer to this License; and\ +\ +(b) You must include a copy of this License with every copy of Source\ +Code of Covered Code and documentation You distribute or Externally\ +Deploy, and You may not offer or impose any terms on such Source Code\ +that alter or restrict this License or the recipients' rights\ +hereunder, except as permitted under Section 6.\ +\ +2.2 Modified Code. You may modify Covered Code and use, reproduce,\ +display, perform, internally distribute within Your organization, and\ +Externally Deploy Your Modifications and Covered Code, for commercial\ +or non-commercial purposes, provided that in each instance You also\ +meet all of these conditions:\ +\ +(a) You must satisfy all the conditions of Section 2.1 with respect to\ +the Source Code of the Covered Code;\ +\ +(b) You must duplicate, to the extent it does not already exist, the\ +notice in Exhibit A in each file of the Source Code of all Your\ +Modifications, and cause the modified files to carry prominent notices\ +stating that You changed the files and the date of any change; and\ +\ +(c) If You Externally Deploy Your Modifications, You must make\ +Source Code of all Your Externally Deployed Modifications either\ +available to those to whom You have Externally Deployed Your\ +Modifications, or publicly available. Source Code of Your Externally\ +Deployed Modifications must be released under the terms set forth in\ +this License, including the license grants set forth in Section 3\ +below, for as long as you Externally Deploy the Covered Code or twelve\ +(12) months from the date of initial External Deployment, whichever is\ +longer. You should preferably distribute the Source Code of Your\ +Externally Deployed Modifications electronically (e.g. download from a\ +web site).\ +\ +2.3 Distribution of Executable Versions. In addition, if You\ +Externally Deploy Covered Code (Original Code and/or Modifications) in\ +object code, executable form only, You must include a prominent\ +notice, in the code itself as well as in related documentation,\ +stating that Source Code of the Covered Code is available under the\ +terms of this License with information on how and where to obtain such\ +Source Code.\ +\ +2.4 Third Party Rights. You expressly acknowledge and agree that\ +although Apple and each Contributor grants the licenses to their\ +respective portions of the Covered Code set forth herein, no\ +assurances are provided by Apple or any Contributor that the Covered\ +Code does not infringe the patent or other intellectual property\ +rights of any other entity. Apple and each Contributor disclaim any\ +liability to You for claims brought by any other entity based on\ +infringement of intellectual property rights or otherwise. As a\ +condition to exercising the rights and licenses granted hereunder, You\ +hereby assume sole responsibility to secure any other intellectual\ +property rights needed, if any. For example, if a third party patent\ +license is required to allow You to distribute the Covered Code, it is\ +Your responsibility to acquire that license before distributing the\ +Covered Code.\ +\ +3. Your Grants. In consideration of, and as a condition to, the\ +licenses granted to You under this License, You hereby grant to any\ +person or entity receiving or distributing Covered Code under this\ +License a non-exclusive, royalty-free, perpetual, irrevocable license,\ +under Your Applicable Patent Rights and other intellectual property\ +rights (other than patent) owned or controlled by You, to use,\ +reproduce, display, perform, modify, sublicense, distribute and\ +Externally Deploy Your Modifications of the same scope and extent as\ +Apple's licenses under Sections 2.1 and 2.2 above.\ +\ +4. Larger Works. You may create a Larger Work by combining Covered\ +Code with other code not governed by the terms of this License and\ +distribute the Larger Work as a single product. In each such instance,\ +You must make sure the requirements of this License are fulfilled for\ +the Covered Code or any portion thereof.\ +\ +5. Limitations on Patent License. Except as expressly stated in\ +Section 2, no other patent rights, express or implied, are granted by\ +Apple herein. Modifications and/or Larger Works may require additional\ +patent licenses from Apple which Apple may grant in its sole\ +discretion.\ +\ +6. Additional Terms. You may choose to offer, and to charge a fee for,\ +warranty, support, indemnity or liability obligations and/or other\ +rights consistent with the scope of the license granted herein\ +("Additional Terms") to one or more recipients of Covered Code.\ +However, You may do so only on Your own behalf and as Your sole\ +responsibility, and not on behalf of Apple or any Contributor. You\ +must obtain the recipient's agreement that any such Additional Terms\ +are offered by You alone, and You hereby agree to indemnify, defend\ +and hold Apple and every Contributor harmless for any liability\ +incurred by or claims asserted against Apple or such Contributor by\ +reason of any such Additional Terms.\ +\ +7. Versions of the License. Apple may publish revised and/or new\ +versions of this License from time to time. Each version will be given\ +a distinguishing version number. Once Original Code has been published\ +under a particular version of this License, You may continue to use it\ +under the terms of that version. You may also choose to use such\ +Original Code under the terms of any subsequent version of this\ +License published by Apple. No one other than Apple has the right to\ +modify the terms applicable to Covered Code created under this\ +License.\ +\ +8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in\ +part pre-release, untested, or not fully tested works. The Covered\ +Code may contain errors that could cause failures or loss of data, and\ +may be incomplete or contain inaccuracies. You expressly acknowledge\ +and agree that use of the Covered Code, or any portion thereof, is at\ +Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND\ +WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND\ +APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE\ +PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM\ +ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT\ +NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF\ +MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR\ +PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD\ +PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST\ +INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE\ +FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS,\ +THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR\ +ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO\ +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE\ +AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.\ +You acknowledge that the Covered Code is not intended for use in the\ +operation of nuclear facilities, aircraft navigation, communication\ +systems, or air traffic control machines in which case the failure of\ +the Covered Code could lead to death, personal injury, or severe\ +physical or environmental damage.\ +\ +9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO\ +EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL,\ +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING\ +TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR\ +ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY,\ +TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF\ +APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\ +DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY\ +REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF\ +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY\ +TO YOU. In no event shall Apple's total liability to You for all\ +damages (other than as may be required by applicable law) under this\ +License exceed the amount of fifty dollars ($50.00).\ +\ +10. Trademarks. This License does not grant any rights to use the\ +trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS",\ +"QuickTime", "QuickTime Streaming Server" or any other trademarks,\ +service marks, logos or trade names belonging to Apple (collectively\ +"Apple Marks") or to any trademark, service mark, logo or trade name\ +belonging to any Contributor. You agree not to use any Apple Marks in\ +or as part of the name of products derived from the Original Code or\ +to endorse or promote products derived from the Original Code other\ +than as expressly permitted by and in strict compliance at all times\ +with Apple's third party trademark usage guidelines which are posted\ +at http://www.apple.com/legal/guidelinesfor3rdparties.html.\ +\ +11. Ownership. Subject to the licenses granted under this License,\ +each Contributor retains all rights, title and interest in and to any\ +Modifications made by such Contributor. Apple retains all rights,\ +title and interest in and to the Original Code and any Modifications\ +made by or on behalf of Apple ("Apple Modifications"), and such Apple\ +Modifications will not be automatically subject to this License. Apple\ +may, at its sole discretion, choose to license such Apple\ +Modifications under this License, or on different terms from those\ +contained in this License or may choose not to license them at all.\ +\ +12. Termination.\ +\ +12.1 Termination. This License and the rights granted hereunder will\ +terminate:\ +\ +(a) automatically without notice from Apple if You fail to comply with\ +any term(s) of this License and fail to cure such breach within 30\ +days of becoming aware of such breach;\ +\ +(b) immediately in the event of the circumstances described in Section\ +13.5(b); or\ +\ +(c) automatically without notice from Apple if You, at any time during\ +the term of this License, commence an action for patent infringement\ +against Apple; provided that Apple did not first commence\ +an action for patent infringement against You in that instance.\ +\ +12.2 Effect of Termination. Upon termination, You agree to immediately\ +stop any further use, reproduction, modification, sublicensing and\ +distribution of the Covered Code. All sublicenses to the Covered Code\ +which have been properly granted prior to termination shall survive\ +any termination of this License. Provisions which, by their nature,\ +should remain in effect beyond the termination of this License shall\ +survive, including but not limited to Sections 3, 5, 8, 9, 10, 11,\ +12.2 and 13. No party will be liable to any other for compensation,\ +indemnity or damages of any sort solely as a result of terminating\ +this License in accordance with its terms, and termination of this\ +License will be without prejudice to any other right or remedy of\ +any party.\ +\ +13. Miscellaneous.\ +\ +13.1 Government End Users. The Covered Code is a "commercial item" as\ +defined in FAR 2.101. Government software and technical data rights in\ +the Covered Code include only those rights customarily provided to the\ +public as defined in this License. This customary commercial license\ +in technical data and software is provided in accordance with FAR\ +12.211 (Technical Data) and 12.212 (Computer Software) and, for\ +Department of Defense purchases, DFAR 252.227-7015 (Technical Data --\ +Commercial Items) and 227.7202-3 (Rights in Commercial Computer\ +Software or Computer Software Documentation). Accordingly, all U.S.\ +Government End Users acquire Covered Code with only those rights set\ +forth herein.\ +\ +13.2 Relationship of Parties. This License will not be construed as\ +creating an agency, partnership, joint venture or any other form of\ +legal association between or among You, Apple or any Contributor, and\ +You will not represent to the contrary, whether expressly, by\ +implication, appearance or otherwise.\ +\ +13.3 Independent Development. Nothing in this License will impair\ +Apple's right to acquire, license, develop, have others develop for\ +it, market and/or distribute technology or products that perform the\ +same or similar functions as, or otherwise compete with,\ +Modifications, Larger Works, technology or products that You may\ +develop, produce, market or distribute.\ +\ +13.4 Waiver; Construction. Failure by Apple or any Contributor to\ +enforce any provision of this License will not be deemed a waiver of\ +future enforcement of that or any other provision. Any law or\ +regulation which provides that the language of a contract shall be\ +construed against the drafter will not apply to this License.\ +\ +13.5 Severability. (a) If for any reason a court of competent\ +jurisdiction finds any provision of this License, or portion thereof,\ +to be unenforceable, that provision of the License will be enforced to\ +the maximum extent permissible so as to effect the economic benefits\ +and intent of the parties, and the remainder of this License will\ +continue in full force and effect. (b) Notwithstanding the foregoing,\ +if applicable law prohibits or restricts You from fully and/or\ +specifically complying with Sections 2 and/or 3 or prevents the\ +enforceability of either of those Sections, this License will\ +immediately terminate and You must immediately discontinue any use of\ +the Covered Code and destroy all copies of it that are in your\ +possession or control.\ +\ +13.6 Dispute Resolution. Any litigation or other dispute resolution\ +between You and Apple relating to this License shall take place in the\ +Northern District of California, and You and Apple hereby consent to\ +the personal jurisdiction of, and venue in, the state and federal\ +courts within that District with respect to this License. The\ +application of the United Nations Convention on Contracts for the\ +International Sale of Goods is expressly excluded.\ +\ +13.7 Entire Agreement; Governing Law. This License constitutes the\ +entire agreement between the parties with respect to the subject\ +matter hereof. This License shall be governed by the laws of the\ +United States and the State of California, except that body of\ +California law concerning conflicts of law.\ +\ +Where You are located in the province of Quebec, Canada, the following\ +clause applies: The parties hereby confirm that they have requested\ +that this License and all related documents be drafted in English. Les\ +parties ont exige que le present contrat et tous les documents\ +connexes soient rediges en anglais.\ +\ +EXHIBIT A.\ +\ +"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights\ +Reserved.\ +\ +This file contains Original Code and/or Modifications of Original Code\ +as defined in and that are subject to the Apple Public Source License\ +Version 2.0 (the 'License'). You may not use this file except in\ +compliance with the License. Please obtain a copy of the License at\ +http://www.opensource.apple.com/apsl/ and read it before using this\ +file.\ +\ +The Original Code and all software distributed under the License are\ +distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER\ +EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,\ +INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,\ +FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.\ +Please see the License for the specific language governing rights and\ +limitations under the License." } \ No newline at end of file Index: trunk/PackageBuilder/package/Resources/English.lproj/Description.html =================================================================== --- trunk/PackageBuilder/package/Resources/English.lproj/Description.html (revision 0) +++ trunk/PackageBuilder/package/Resources/English.lproj/Description.html (revision 338) @@ -0,0 +1,29 @@ + + + + + + + + + +

Chameleon is combination of various boot loader components.
It is based on David Elliott's fake EFI implementation added to Apple's boot-132 project.
Chameleon is extended with the following key features:

+
+

New features in Chameleon 2.0

+
+

- Fully customizable GUI to bring some color to the Darwin Bootloader.

+

- Booting retail DVDs by directly loading a ramdisk image without help of additional programs.

+

- Hibernation. Enjoy resuming your Mac OS X with a preview image.

+

- SMBIOS override to modify the factory SMBIOS values.

+

- DSDT override to use a modified fixed DSDT which can solve several issues.

+
+

- Device Property Injection via device-properties string.

+

- hybrid boot0 / boot1h for MBR and GPT partitioned disks.

+

- automatic FSB detection code even for recent AMD CPUs.

+

- Apple Software RAID support.

+
+

For detailed information, visit : http://chameleon.osx86.hu

+ + Index: trunk/PackageBuilder/package/Resources/English.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Resources/English.lproj/Localizable.strings ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Resources/English.lproj/Welcome.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/English.lproj/Welcome.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/English.lproj/Welcome.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,35 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 +{\fonttbl\f0\fnil\fcharset0 LucidaGrande;} +{\colortbl;\red255\green255\blue255;\red65\green78\blue255;} +\margl1440\margr1440\vieww11660\viewh12980\viewkind0 +\pard\ri0\qc + +\f0\b\fs72 \cf0 Chameleon +\fs50 \ + +\fs26 v%CHAMELEONVERSION% r%CHAMELEONREVISION% +\fs50 \ +\pard\ri0\ql\qnatural + +\fs26 \cf0 \ +\pard\ri0\qc + +\fs50 \cf2 %CHAMELEONSTAGE% +\fs26 \cf0 \ +\pard\ri0\ql\qnatural +\cf0 \ +Developers :%DEVELOP%\ +\ +Thanks to : %CREDITS%\ +\pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\b0\fs30 \cf0 \ +\pard\ri0\ql\qnatural + +\b\fs26 \cf0 Packages credits to : %PKGDEV% +\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 2011} Index: trunk/PackageBuilder/package/Resources/English.lproj/Conclusion.rtfd/TXT.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/English.lproj/Conclusion.rtfd/TXT.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/English.lproj/Conclusion.rtfd/TXT.rtf (revision 338) @@ -0,0 +1,34 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\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 Installation Complete! +\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 2011} \ No newline at end of file Index: trunk/PackageBuilder/package/Resources/English.lproj/License.rtf =================================================================== --- trunk/PackageBuilder/package/Resources/English.lproj/License.rtf (revision 0) +++ trunk/PackageBuilder/package/Resources/English.lproj/License.rtf (revision 338) @@ -0,0 +1,350 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 +{\fonttbl\f0\fmodern\fcharset0 Courier-Bold;\f1\fmodern\fcharset0 Courier;} +{\colortbl;\red255\green255\blue255;} +\paperw12240\paperh15840\vieww22060\viewh18360\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs40 \cf0 APPLE PUBLIC SOURCE LICENSE \ + +\fs26 Version 2.0 - August 6, 2003\ +\ + +\f1\b0 Please read this License carefully before downloading this software. By downloading or using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.\ +\ +1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") makes publicly available and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 2.0 ("License"). As used in this License:\ +\ +1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.\ +\ +1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.\ +\ +1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.\ +\ +1.4 "Externally Deploy" means: (a) to sublicense, distribute or otherwise make Covered Code available, directly or indirectly, to anyone other than You; and/or (b) to use Covered Code, alone or as part of a Larger Work, in any way to provide a service, including but not limited to delivery of content, through electronic communication with a client other than You.\ +\ +1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.\ +\ +1.6 "Modifications" mean any addition to, deletion from, and/or change\ +to, the substance and/or structure of the Original Code, any previous\ +Modifications, the combination of Original Code and any previous\ +Modifications, and/or any respective portions thereof. When code is\ +released as a series of files, a Modification is: (a) any addition to\ +or deletion from the contents of a file containing Covered Code;\ +and/or (b) any new file or other representation of computer program\ +statements that contains any part of Covered Code.\ +\ +1.7 "Original Code" means (a) the Source Code of a program or other\ +work as originally made available by Apple under this License,\ +including the Source Code of any updates or upgrades to such programs\ +or works made available by Apple under this License, and that has been\ +expressly identified by Apple as such in the header file(s) of such\ +work; and (b) the object code compiled from such Source Code and\ +originally made available by Apple under this License.\ +\ +1.8 "Source Code" means the human readable form of a program or other\ +work that is suitable for making modifications to it, including all\ +modules it contains, plus any associated interface definition files,\ +scripts used to control compilation and installation of an executable\ +(object code).\ +\ +1.9 "You" or "Your" means an individual or a legal entity exercising\ +rights under this License. For legal entities, "You" or "Your"\ +includes any entity which controls, is controlled by, or is under\ +common control with, You, where "control" means (a) the power, direct\ +or indirect, to cause the direction or management of such entity,\ +whether by contract or otherwise, or (b) ownership of fifty percent\ +(50%) or more of the outstanding shares or beneficial ownership of\ +such entity.\ +\ +2. Permitted Uses; Conditions & Restrictions. Subject to the terms\ +and conditions of this License, Apple hereby grants You, effective on\ +the date You accept this License and download the Original Code, a\ +world-wide, royalty-free, non-exclusive license, to the extent of\ +Apple's Applicable Patent Rights and copyrights covering the Original\ +Code, to do the following:\ +\ +2.1 Unmodified Code. You may use, reproduce, display, perform,\ +internally distribute within Your organization, and Externally Deploy\ +verbatim, unmodified copies of the Original Code, for commercial or\ +non-commercial purposes, provided that in each instance:\ +\ +(a) You must retain and reproduce in all copies of Original Code the\ +copyright and other proprietary notices and disclaimers of Apple as\ +they appear in the Original Code, and keep intact all notices in the\ +Original Code that refer to this License; and\ +\ +(b) You must include a copy of this License with every copy of Source\ +Code of Covered Code and documentation You distribute or Externally\ +Deploy, and You may not offer or impose any terms on such Source Code\ +that alter or restrict this License or the recipients' rights\ +hereunder, except as permitted under Section 6.\ +\ +2.2 Modified Code. You may modify Covered Code and use, reproduce,\ +display, perform, internally distribute within Your organization, and\ +Externally Deploy Your Modifications and Covered Code, for commercial\ +or non-commercial purposes, provided that in each instance You also\ +meet all of these conditions:\ +\ +(a) You must satisfy all the conditions of Section 2.1 with respect to\ +the Source Code of the Covered Code;\ +\ +(b) You must duplicate, to the extent it does not already exist, the\ +notice in Exhibit A in each file of the Source Code of all Your\ +Modifications, and cause the modified files to carry prominent notices\ +stating that You changed the files and the date of any change; and\ +\ +(c) If You Externally Deploy Your Modifications, You must make\ +Source Code of all Your Externally Deployed Modifications either\ +available to those to whom You have Externally Deployed Your\ +Modifications, or publicly available. Source Code of Your Externally\ +Deployed Modifications must be released under the terms set forth in\ +this License, including the license grants set forth in Section 3\ +below, for as long as you Externally Deploy the Covered Code or twelve\ +(12) months from the date of initial External Deployment, whichever is\ +longer. You should preferably distribute the Source Code of Your\ +Externally Deployed Modifications electronically (e.g. download from a\ +web site).\ +\ +2.3 Distribution of Executable Versions. In addition, if You\ +Externally Deploy Covered Code (Original Code and/or Modifications) in\ +object code, executable form only, You must include a prominent\ +notice, in the code itself as well as in related documentation,\ +stating that Source Code of the Covered Code is available under the\ +terms of this License with information on how and where to obtain such\ +Source Code.\ +\ +2.4 Third Party Rights. You expressly acknowledge and agree that\ +although Apple and each Contributor grants the licenses to their\ +respective portions of the Covered Code set forth herein, no\ +assurances are provided by Apple or any Contributor that the Covered\ +Code does not infringe the patent or other intellectual property\ +rights of any other entity. Apple and each Contributor disclaim any\ +liability to You for claims brought by any other entity based on\ +infringement of intellectual property rights or otherwise. As a\ +condition to exercising the rights and licenses granted hereunder, You\ +hereby assume sole responsibility to secure any other intellectual\ +property rights needed, if any. For example, if a third party patent\ +license is required to allow You to distribute the Covered Code, it is\ +Your responsibility to acquire that license before distributing the\ +Covered Code.\ +\ +3. Your Grants. In consideration of, and as a condition to, the\ +licenses granted to You under this License, You hereby grant to any\ +person or entity receiving or distributing Covered Code under this\ +License a non-exclusive, royalty-free, perpetual, irrevocable license,\ +under Your Applicable Patent Rights and other intellectual property\ +rights (other than patent) owned or controlled by You, to use,\ +reproduce, display, perform, modify, sublicense, distribute and\ +Externally Deploy Your Modifications of the same scope and extent as\ +Apple's licenses under Sections 2.1 and 2.2 above.\ +\ +4. Larger Works. You may create a Larger Work by combining Covered\ +Code with other code not governed by the terms of this License and\ +distribute the Larger Work as a single product. In each such instance,\ +You must make sure the requirements of this License are fulfilled for\ +the Covered Code or any portion thereof.\ +\ +5. Limitations on Patent License. Except as expressly stated in\ +Section 2, no other patent rights, express or implied, are granted by\ +Apple herein. Modifications and/or Larger Works may require additional\ +patent licenses from Apple which Apple may grant in its sole\ +discretion.\ +\ +6. Additional Terms. You may choose to offer, and to charge a fee for,\ +warranty, support, indemnity or liability obligations and/or other\ +rights consistent with the scope of the license granted herein\ +("Additional Terms") to one or more recipients of Covered Code.\ +However, You may do so only on Your own behalf and as Your sole\ +responsibility, and not on behalf of Apple or any Contributor. You\ +must obtain the recipient's agreement that any such Additional Terms\ +are offered by You alone, and You hereby agree to indemnify, defend\ +and hold Apple and every Contributor harmless for any liability\ +incurred by or claims asserted against Apple or such Contributor by\ +reason of any such Additional Terms.\ +\ +7. Versions of the License. Apple may publish revised and/or new\ +versions of this License from time to time. Each version will be given\ +a distinguishing version number. Once Original Code has been published\ +under a particular version of this License, You may continue to use it\ +under the terms of that version. You may also choose to use such\ +Original Code under the terms of any subsequent version of this\ +License published by Apple. No one other than Apple has the right to\ +modify the terms applicable to Covered Code created under this\ +License.\ +\ +8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in\ +part pre-release, untested, or not fully tested works. The Covered\ +Code may contain errors that could cause failures or loss of data, and\ +may be incomplete or contain inaccuracies. You expressly acknowledge\ +and agree that use of the Covered Code, or any portion thereof, is at\ +Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND\ +WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND\ +APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE\ +PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM\ +ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT\ +NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF\ +MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR\ +PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD\ +PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST\ +INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE\ +FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS,\ +THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR\ +ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO\ +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE\ +AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.\ +You acknowledge that the Covered Code is not intended for use in the\ +operation of nuclear facilities, aircraft navigation, communication\ +systems, or air traffic control machines in which case the failure of\ +the Covered Code could lead to death, personal injury, or severe\ +physical or environmental damage.\ +\ +9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO\ +EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL,\ +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING\ +TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR\ +ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY,\ +TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF\ +APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\ +DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY\ +REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF\ +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY\ +TO YOU. In no event shall Apple's total liability to You for all\ +damages (other than as may be required by applicable law) under this\ +License exceed the amount of fifty dollars ($50.00).\ +\ +10. Trademarks. This License does not grant any rights to use the\ +trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS",\ +"QuickTime", "QuickTime Streaming Server" or any other trademarks,\ +service marks, logos or trade names belonging to Apple (collectively\ +"Apple Marks") or to any trademark, service mark, logo or trade name\ +belonging to any Contributor. You agree not to use any Apple Marks in\ +or as part of the name of products derived from the Original Code or\ +to endorse or promote products derived from the Original Code other\ +than as expressly permitted by and in strict compliance at all times\ +with Apple's third party trademark usage guidelines which are posted\ +at http://www.apple.com/legal/guidelinesfor3rdparties.html.\ +\ +11. Ownership. Subject to the licenses granted under this License,\ +each Contributor retains all rights, title and interest in and to any\ +Modifications made by such Contributor. Apple retains all rights,\ +title and interest in and to the Original Code and any Modifications\ +made by or on behalf of Apple ("Apple Modifications"), and such Apple\ +Modifications will not be automatically subject to this License. Apple\ +may, at its sole discretion, choose to license such Apple\ +Modifications under this License, or on different terms from those\ +contained in this License or may choose not to license them at all.\ +\ +12. Termination.\ +\ +12.1 Termination. This License and the rights granted hereunder will\ +terminate:\ +\ +(a) automatically without notice from Apple if You fail to comply with\ +any term(s) of this License and fail to cure such breach within 30\ +days of becoming aware of such breach;\ +\ +(b) immediately in the event of the circumstances described in Section\ +13.5(b); or\ +\ +(c) automatically without notice from Apple if You, at any time during\ +the term of this License, commence an action for patent infringement\ +against Apple; provided that Apple did not first commence\ +an action for patent infringement against You in that instance.\ +\ +12.2 Effect of Termination. Upon termination, You agree to immediately\ +stop any further use, reproduction, modification, sublicensing and\ +distribution of the Covered Code. All sublicenses to the Covered Code\ +which have been properly granted prior to termination shall survive\ +any termination of this License. Provisions which, by their nature,\ +should remain in effect beyond the termination of this License shall\ +survive, including but not limited to Sections 3, 5, 8, 9, 10, 11,\ +12.2 and 13. No party will be liable to any other for compensation,\ +indemnity or damages of any sort solely as a result of terminating\ +this License in accordance with its terms, and termination of this\ +License will be without prejudice to any other right or remedy of\ +any party.\ +\ +13. Miscellaneous.\ +\ +13.1 Government End Users. The Covered Code is a "commercial item" as\ +defined in FAR 2.101. Government software and technical data rights in\ +the Covered Code include only those rights customarily provided to the\ +public as defined in this License. This customary commercial license\ +in technical data and software is provided in accordance with FAR\ +12.211 (Technical Data) and 12.212 (Computer Software) and, for\ +Department of Defense purchases, DFAR 252.227-7015 (Technical Data --\ +Commercial Items) and 227.7202-3 (Rights in Commercial Computer\ +Software or Computer Software Documentation). Accordingly, all U.S.\ +Government End Users acquire Covered Code with only those rights set\ +forth herein.\ +\ +13.2 Relationship of Parties. This License will not be construed as\ +creating an agency, partnership, joint venture or any other form of\ +legal association between or among You, Apple or any Contributor, and\ +You will not represent to the contrary, whether expressly, by\ +implication, appearance or otherwise.\ +\ +13.3 Independent Development. Nothing in this License will impair\ +Apple's right to acquire, license, develop, have others develop for\ +it, market and/or distribute technology or products that perform the\ +same or similar functions as, or otherwise compete with,\ +Modifications, Larger Works, technology or products that You may\ +develop, produce, market or distribute.\ +\ +13.4 Waiver; Construction. Failure by Apple or any Contributor to\ +enforce any provision of this License will not be deemed a waiver of\ +future enforcement of that or any other provision. Any law or\ +regulation which provides that the language of a contract shall be\ +construed against the drafter will not apply to this License.\ +\ +13.5 Severability. (a) If for any reason a court of competent\ +jurisdiction finds any provision of this License, or portion thereof,\ +to be unenforceable, that provision of the License will be enforced to\ +the maximum extent permissible so as to effect the economic benefits\ +and intent of the parties, and the remainder of this License will\ +continue in full force and effect. (b) Notwithstanding the foregoing,\ +if applicable law prohibits or restricts You from fully and/or\ +specifically complying with Sections 2 and/or 3 or prevents the\ +enforceability of either of those Sections, this License will\ +immediately terminate and You must immediately discontinue any use of\ +the Covered Code and destroy all copies of it that are in your\ +possession or control.\ +\ +13.6 Dispute Resolution. Any litigation or other dispute resolution\ +between You and Apple relating to this License shall take place in the\ +Northern District of California, and You and Apple hereby consent to\ +the personal jurisdiction of, and venue in, the state and federal\ +courts within that District with respect to this License. The\ +application of the United Nations Convention on Contracts for the\ +International Sale of Goods is expressly excluded.\ +\ +13.7 Entire Agreement; Governing Law. This License constitutes the\ +entire agreement between the parties with respect to the subject\ +matter hereof. This License shall be governed by the laws of the\ +United States and the State of California, except that body of\ +California law concerning conflicts of law.\ +\ +Where You are located in the province of Quebec, Canada, the following\ +clause applies: The parties hereby confirm that they have requested\ +that this License and all related documents be drafted in English. Les\ +parties ont exige que le present contrat et tous les documents\ +connexes soient rediges en anglais.\ +\ +EXHIBIT A.\ +\ +"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights\ +Reserved.\ +\ +This file contains Original Code and/or Modifications of Original Code\ +as defined in and that are subject to the Apple Public Source License\ +Version 2.0 (the 'License'). You may not use this file except in\ +compliance with the License. Please obtain a copy of the License at\ +http://www.opensource.apple.com/apsl/ and read it before using this\ +file.\ +\ +The Original Code and all software distributed under the License are\ +distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER\ +EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,\ +INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,\ +FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.\ +Please see the License for the specific language governing rights and\ +limitations under the License." } \ No newline at end of file Index: trunk/PackageBuilder/package/buildpkg.sh =================================================================== --- trunk/PackageBuilder/package/buildpkg.sh (revision 0) +++ trunk/PackageBuilder/package/buildpkg.sh (revision 338) @@ -0,0 +1,490 @@ +#!/bin/bash + +# $1 Path to store built package + +packagesidentity="org.chameleon" + +packagename="Chameleon" + +pkgroot="${0%/*}" + +COL_BLACK="\x1b[30;01m" +COL_RED="\x1b[31;01m" +COL_GREEN="\x1b[32;01m" +COL_YELLOW="\x1b[33;01m" +COL_MAGENTA="\x1b[35;01m" +COL_CYAN="\x1b[36;01m" +COL_WHITE="\x1b[37;01m" +COL_BLUE="\x1b[34;01m" +COL_RESET="\x1b[39;49;00m" + +#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" ) + +# ================= + +develop=" zef, Turbo, dfe, netkas, mackerintel, fassl, Kabyl, kaitek, iNDi, asereBLN, mozodojo, meklort, AzimutZ, Slice, cosmo1t, cparm" + +credits=" JrCs, mercurysquad, munky, rekursor, kalyway, Krazubu, XyZ, blackosx, DHP" + +pkgdev=" blackosx, ErmaC , scrax" + +# ================= + +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 "" +echo -e $COL_BLACK" ----------------------------------"$COL_RESET +echo -e $COL_BLACK" Building $packagename Install Package"$COL_RESET +echo -e $COL_BLACK" ----------------------------------"$COL_RESET +echo "" + +outline[$((outlinecount++))]="${indent[$xmlindent]}" + +# build core package + echo "================= Core =================" + ((xmlindent++)) + packagesidentity="org.chameleon.core" + mkdir -p ${1}/Core/Root/usr/sbin + mkdir -p ${1}/Core/Root/usr/local/bin + mkdir -p ${1}/Core/Root/usr/standalone/i386 +# if [ "$(ls -A "${1%/*}/i386/modules")" ]; then +# echo "Modules found." +# mkdir -p ${1}/Core/Root/usr/standalone/i386/modules +# cp -R ${1%/*}/i386/modules ${1}/Core/Root/usr/standalone/i386 +# else +# echo "No found modules into dir module" +# fi + ditto --noextattr --noqtn ${1%/*}/i386/boot ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot0 ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot0md ${1}/Core/Root/usr/standalone/i386 +# ditto --noextattr --noqtn ${1%/*}/i386/boot0hf ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1f32 ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1h ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1he ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/boot1hp ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/cdboot ${1}/Core/Root/usr/standalone/i386 + ditto --noextattr --noqtn ${1%/*}/i386/chain0 ${1}/Core/Root/usr/standalone/i386 +# fixperms "${1}/Core/Root/" + ditto --noextattr --noqtn ${1%/*}/i386/fdisk440 ${1}/Core/Root/usr/sbin + ditto --noextattr --noqtn ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin + local coresize=$( du -hkc "${1}/Core/Root" | tail -n1 | awk {'print $1'} ) + echo " [BUILD] i386 " + buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1 + +# build Chameleon package + echo "================= Chameleon =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + + # 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 + echo " [BUILD] Standard " + buildpackage "${1}/Standard" "/" "${coresize}" "start_enabled=\"true\" start_selected=\"upgrade_allowed()\" selected=\"exclusive(choices['EFI']) && exclusive(choices['noboot'])\"" >/dev/null 2>&1 + # End build standard package + + # build efi package + mkdir -p ${1}/EFI/Root + mkdir -p ${1}/EFI/Scripts/Tools + cp -f ${pkgroot}/Scripts/EFI/* ${1}/EFI/Scripts + # ditto --arch i386 `which SetFile` ${1}/EFI/Scripts/Tools/SetFile + echo " [BUILD] EFI " + buildpackage "${1}/EFI" "/" "${coresize}" "start_visible=\"systemHasGPT()\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['noboot'])\"" >/dev/null 2>&1 + # End build efi package + + # build reset choice package + mkdir -p ${1}/noboot/Root + echo " [BUILD] Reset choice " + buildpackage "${1}/noboot" "/tmpcham" "" "start_visible=\"true\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['EFI'])\"" >/dev/null 2>&1 + # End build reset choice package + + # build Modules package + echo "================= Modules =================" + ############################### + # AMDGraphicsEnabler.dylib # + # ATiGraphicsEnabler.dylib # + # IntelGraphicsEnabler.dylib # + # klibc.dylib # + # NVIDIAGraphicsEnabler.dylib # + # Resolution.dylib # + # uClibcxx.dylib # + ############################### + if [ "$(ls -A "${1%/*}/i386/modules")" ]; then + { + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + packagesidentity="org.chameleon.modules" + +# - + if [ -e ${1%/*}/i386/modules/klibc.dylib ]; then + { + mkdir -p ${1}/klibc/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/klibc.dylib ${1}/klibc/Root + echo " [BUILD] klibc " + buildpackage "${1}/klibc" "/Extra/modules" "" "start_selected=\"true\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/Resolution.dylib ]; then + { + mkdir -p ${1}/AutoReso/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/Resolution.dylib ${1}/AutoReso/Root + echo " [BUILD] Resolution " + buildpackage "${1}/AutoReso" "/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1 + } + fi +# - + if [ -e ${1%/*}/i386/modules/uClibcxx.dylib ]; then + { + mkdir -p ${1}/uClibc/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/uClibcxx.dylib ${1}/uClibc/Root + ditto --noextattr --noqtn ${1%/*}/i386/modules/klibc.dylib ${1}/uClibc/Root + echo " [BUILD] uClibc++ " + buildpackage "${1}/uClibc" "/Extra/modules" "" "start_selected=\"true\"" >/dev/null 2>&1 + } + fi + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + } + else + { + echo " -= no modules to include =-" + } + fi + # End build Modules packages + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" +# End build Chameleon package + +# build Extras package + #echo "================= Extras =================" + #outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + #choices[$((choicescount++))]="\n\n" + #((xmlindent++)) + #packagesidentity="org.chameleon.extras" + + # build utility package + # outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + # choices[$((choicescount++))]="\n\n" + # ((xmlindent++)) + # packagesidentity="org.chameleon.utilities" + + # # build package for Chameleon PrefPanel + # mkdir -p "${1}/PrefPanel/Root" + # ditto --noextattr --noqtn "${pkgroot}/Configuration/PrefPanel/Chameleon.prefPane" "${1}/PrefPanel/Root" + # echo " [BUILD] Chameleon Preference Panel " + # buildpackage "${1}/PrefPanel" "/Library/PreferencePanes/Chameleon.prefPane" "" "start_selected=\"false\"" >/dev/null 2>&1 + # # End build package for Chameleon PrefPanel + + # # build package for SMBIOSDefault + # mkdir -p "${1}/SMBIOSDefault/Root" + # ditto --noextattr --noqtn "${pkgroot}/Configuration/SMBIOSDefault/smbios.plist" "${1}/SMBIOSDefault/Root" + # echo " [BUILD] SMBIOSDefault " + # buildpackage "${1}/SMBIOSDefault" "/Extra/Example" "" "start_selected=\"false\"" >/dev/null 2>&1 + # # End build package for SMBIOSDefault + + # # build package for Documentation + # mkdir -p "${1}/Documentation/Root" + # cp -f ${pkgroot}/../doc/BootHelp.txt ${1}/Documentation/Root + # cp -f ${pkgroot}/../doc/README ${1}/Documentation/Root + # cp -f ${pkgroot}/../doc/Users_Guide0.5.pdf ${1}/Documentation/Root + # echo " [BUILD] Documentation " + # buildpackage "${1}/Documentation" "/Library/Documentation/Chameleon2" "" "start_selected=\"false\"" >/dev/null 2>&1 + # # End build package for Documentation + + # ((xmlindent--)) + # outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + # End utility package + + # build options packages + echo "================= Options =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + + # build base options packages + packagesidentity="org.chameleon.options" + + options=($( find "${pkgroot}/Scripts/BaseOptions" -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" + echo " [BUILD] ${options[$i]##*/} " + buildpackage "${1}/${options[$i]##*/}" "/" "" "start_selected=\"false\"" >/dev/null 2>&1 + done + # End build base options packages + + # build resolution packages + echo "================= Res. Options =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + packagesidentity="org.chameleon.options.resolution" + resolutions=($( find "${pkgroot}/Scripts/Resolutions" -type d -depth 1 -not -name '.svn' )) + for (( i = 0 ; i < ${#resolutions[@]} ; i++ )) + do + mkdir -p "${1}/${resolutions[$i]##*/}/Root/" + mkdir -p "${1}/${resolutions[$i]##*/}/Scripts/" + ditto --noextattr --noqtn "${resolutions[$i]}/postinstall" "${1}/${resolutions[$i]##*/}/Scripts/postinstall" + echo " [BUILD] ${resolutions[$i]##*/} " + buildpackage "${1}/${resolutions[$i]##*/}" "/tmpcham" "" "start_selected=\"false\"" >/dev/null 2>&1 + done + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + # End build resolution packages + + # build Advanced packages + echo "================= Adv. Options =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + + packagesidentity="org.chameleon.options.advanced" + optionsadv=($( find "${pkgroot}/Scripts/Advanced" -type d -depth 1 -not -name '.svn' )) + for (( i = 0 ; i < ${#optionsadv[@]} ; i++ )) + do + mkdir -p "${1}/${optionsadv[$i]##*/}/Root" + mkdir -p "${1}/${optionsadv[$i]##*/}/Scripts" + ditto --noextattr --noqtn "${optionsadv[$i]}/postinstall" "${1}/${optionsadv[$i]##*/}/Scripts/postinstall" + echo " [BUILD] ${optionsadv[$i]##*/} " + buildpackage "${1}/${optionsadv[$i]##*/}" "/" "" "start_selected=\"false\"" >/dev/null 2>&1 + done + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + # End build Advanced packages + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + + # End build options packages + + # build theme packages + echo "================= Themes =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + packagesidentity="org.chameleon.themes" + 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/" + rsync -r --exclude=.svn "${themes[$i]}" "${1}/${themes[$i]##*/}/Root/${theme}" + # #### Comment out thx meklort + # 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 {} \+ + echo " [BUILD] ${themes[$i]##*/} " + buildpackage "${1}/${theme}" "/Extra/Themes" "" "start_selected=\"false\"" >/dev/null 2>&1 + rm -R -f "${1}/${i##*/}" + done + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + # End build theme packages + + #((xmlindent--)) + #outline[$((outlinecount++))]="${indent[$xmlindent]}\t" +# End build Extras package + +# build post install package + echo "================= Post =================" + mkdir -p ${1}/Post/Root + mkdir -p ${1}/Post/Scripts + cp -f ${pkgroot}/Scripts/Post/* ${1}/Post/Scripts + echo " [BUILD] Post " + buildpackage "${1}/Post" "/" "" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1 + 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` + +# Adding Developer and credits + perl -i -p -e "s/%DEVELOP%/${develop}/g" `find "${1}/${packagename}/Resources" -type f` + perl -i -p -e "s/%CREDITS%/${credits}/g" `find "${1}/${packagename}/Resources" -type f` + perl -i -p -e "s/%PKGDEV%/${pkgdev}/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 + +# Here is the place for assign a Icon to the pkg +# command use to generate the file: +# ditto -c -k --sequesterRsrc --keepParent Icon.icns Icon.zip +# ---- +# ditto -xk "${pkgroot}/Icons/pkg.zip" "${pkgroot}/Icons/" +# DeRez -only icns "${pkgroot}/Icons/Icons/pkg.icns" > tempicns.rsrc +# Rez -append tempicns.rsrc -o "${1%/*}/${packagename// /}-${version}-r${revision}.pkg" +# SetFile -a C "${1%/*}/${packagename// /}-${version}-r${revision}.pkg" +# rm -f tempicns.rsrc +# rm -rf "${pkgroot}/Icons/Icons" +# End + + 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" + echo "" + + echo -e $COL_BLACK" --------------------------"$COL_RESET + echo -e $COL_BLACK" Building process complete!"$COL_RESET + echo -e $COL_BLACK" --------------------------"$COL_RESET + echo "" + echo -e $COL_BLACK" Build info." + echo -e $COL_BLACK" ===========" + echo -e $COL_BLUE" Package name: "$COL_BLACK"$packagename-${version}-r$revision.pkg"$COL_RESET + echo -e $COL_BLUE" MD5: "$COL_BLACK"$md5"$COL_RESET + echo -e $COL_BLUE" Version: "$COL_BLACK"$version"$COL_RESET + echo -e $COL_BLUE" Stage: "$COL_BLACK"$stage"$COL_RESET + echo -e $COL_BLUE" Date/Time: "$COL_BLACK"$builddate"$COL_RESET + echo "" + +} + +main "${1}" "${2}" "${3}" "${4}" "${5}" + Property changes on: trunk/PackageBuilder/package/buildpkg.sh ___________________________________________________________________ Added: svn:executable + Index: trunk/PackageBuilder/package/Icons/pan.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/pan.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Icons/tm.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/tm.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Icons/pkg.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/pkg.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Icons/doc.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/doc.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Icons/dmg.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/dmg.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Icons/Icon.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/Icon.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/PackageBuilder/package/Icons/i386.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/PackageBuilder/package/Icons/i386.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream