outline[$((outlinecount++))]="${indent[$xmlindent]}<choices-outline>"␊ |
␊ |
# build core package␊ |
␉echo "================= core ================="␊ |
␉echo "================= Core ================="␊ |
␉((xmlindent++))␊ |
␉packagesidentity="org.chameleon.core.pkg"␊ |
␉mkdir -p ${1}/Core/Root/usr/sbin␊ |
|
␉cp -f ${pkgroot}/fdisk ${1}/Core/Root/usr/sbin␊ |
␉cp -f ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin␊ |
␉local coresize=$( du -hkc "${1}/Core/Root" | tail -n1 | awk {'print $1'} )␊ |
␉echo "␉[BUILD] core "␊ |
␉echo "␉[BUILD] i386 "␊ |
␉buildpackage "${1}/Core" "/tmpcham" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1␊ |
␊ |
# build Chameleon package␊ |
|
␉␉ditto --arch i386 `which SetFile` ${1}/EFI/Scripts/Tools/SetFile␊ |
␉␉echo "␉[BUILD] EFI "␊ |
␉␉buildpackage "${1}/EFI" "/tmpcham" "${coresize}" "start_visible=\"systemHasGPT()\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['noboot'])\"" >/dev/null 2>&1␊ |
␉# End build efi package ␊ |
␉␊ |
␉# End build efi package␊ |
␊ |
␉# build reset choice package ␊ |
␉␉mkdir -p ${1}/noboot/Root␊ |
␉␉echo "␉[BUILD] Reset choice "␊ |
|
␉# End build reset choice package ␊ |
␊ |
␉# build Modules package␊ |
␉␉outline[$((outlinecount++))]="${indent[$xmlindent]}\t<line choice=\"Modules\">"␊ |
␉␉choices[$((choicescount++))]="<choice\n\tid=\"Modules\"\n\ttitle=\"Modules_title\"\n\tdescription=\"Modules_description\"\n>\n</choice>\n"␊ |
␉␉echo "================= Modules ================="␊ |
␉␉outline[$((outlinecount++))]="${indent[$xmlindent]}\t<line choice=\"Module\">"␊ |
␉␉choices[$((choicescount++))]="<choice\n\tid=\"Module\"\n\ttitle=\"Module_title\"\n\tdescription=\"Module_description\"\n>\n</choice>\n"␊ |
␉␉((xmlindent++))␊ |
␉␉packagesidentity="org.chameleon.modules.pkg"␊ |
␊ |
␉␉# build Module Resolution␊ |
␉␉␉mkdir -p ${1}/ModResolution/Root␊ |
␉␉␉# mkdir -p ${1}/ModResolution/Scripts/Tools␊ |
␉␉␉# cp -f ${pkgroot}/Scripts/ModResolution/* ${1}/ModResolution/Scripts␊ |
␉␉␉# ditto --arch i386 `which SetFile` ${1}/ModResolution/Scripts/Tools/SetFile␊ |
␉␉␉echo "␉[BUILD] Module Resolution "␊ |
␉␉␉buildpackage "${1}/ModResolution" "/Extra/modules" "${coresize}" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
␉␉# End build Module Resolution␊ |
␊ |
␉␉# build Module-Two␊ |
␉␉␉mkdir -p ${1}/Module-Two/Root␊ |
␉␉␉# mkdir -p ${1}/Module-Two/Scripts/Tools␊ |
␉␉␉# cp -f ${pkgroot}/Scripts/Module-Two/* ${1}/Module-n/Scripts␊ |
␉␉␉# ditto --arch i386 `which SetFile` ${1}/Module-Two/Scripts/Tools/SetFile␊ |
␉␉␉echo "␉[BUILD] Modules Empy choice "␊ |
␉␉␉buildpackage "${1}/Module-Two" "/Extra/modules" "${coresize}" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
␉␉# End build Module-Two␊ |
␊ |
␉␉# build Dependencies Modules package␊ |
␉␉␉outline[$((outlinecount++))]="${indent[$xmlindent]}\t<line choice=\"Modklibc\">"␊ |
␉␉␉choices[$((choicescount++))]="<choice\n\tid=\"Modklibc\"\n\ttitle=\"Modklibc_title\"\n\tdescription=\"Modklibc_description\"\n>\n</choice>\n"␊ |
␉␉␉((xmlindent++))␊ |
␉␉␉packagesidentity="org.chameleon.modules.klibc.pkg"␊ |
␉␉␉echo "␉[BUILD] Module klibc "␊ |
␊ |
␉␉␉# build Module klibc␊ |
␉␉␉␉mkdir -p ${1}/Modklibc/Root␊ |
␉␉␉␉# mkdir -p ${1}/klibc/Scripts/Tools␊ |
␉␉␉␉# cp -f ${pkgroot}/Scripts/klibc/* ${1}/klibc/Scripts␊ |
␉␉␉␉# ditto --arch i386 `which SetFile` ${1}/klibc/Scripts/Tools/SetFile␊ |
␉␉␉␉# buildpackage "${1}/klibc" "/Extra/modules" "${coresize}" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
␉␉␉# End build Module klibc␊ |
␊ |
␉␉␉# choices[$((choicescount++))]="<choice\n\tid=\"klibc\"\n\ttitle=\"klibc_title\"\n\tdescription=\"klibc_description\"\n>\n</choice>\n"␊ |
␉␉␉␊ |
␉␉␉␊ |
␊ |
␉␉␉# build Module uClibc++␊ |
␉␉␉␉mkdir -p ${1}/ModuClibc++/Root␊ |
␉␉␉␉# mkdir -p ${1}/uClibc++/Scripts/Tools␊ |
␉␉␉␉# cp -f ${pkgroot}/Scripts/uClibc++/* ${1}/uClibc++/Scripts␊ |
␉␉␉␉# ditto --arch i386 `which SetFile` ${1}/uClibc++/Scripts/Tools/SetFile␊ |
␉␉␉␉echo "␉[BUILD] Module uClibc++ "␊ |
␉␉␉␉buildpackage "${1}/ModuClibc++" "/Extra/modules" "${coresize}" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
␉␉␉␊ |
␉␉␉((xmlindent--))␊ |
␉␉␉outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"␊ |
␉␉␉# End build Module-n␊ |
␊ |
␉␉packagesidentity="org.chameleon.module"␊ |
␉␉modules=($( find "${pkgroot}/Scripts/Modules" -type d -depth 1 -not -name '.svn' ))␊ |
␉␉for (( i = 0 ; i < ${#modules[@]} ; i++ )) ␊ |
␉␉do␊ |
␉␉␉mkdir -p "${1}/${modules[$i]##*/}/Root"␊ |
␉␉␉mkdir -p "${1}/${modules[$i]##*/}/Scripts"␊ |
␉␉␉ditto --noextattr --noqtn "${modules[$i]}/postinstall" "${1}/${modules[$i]##*/}/Scripts/postinstall"␊ |
␉␉␉echo "␉[BUILD] ${modules[$i]##*/} "␊ |
␉␉␉buildpackage "${1}/${modules[$i]##*/}" "/tmpcham" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
␉␉␉rm -R -f "${1}/${i##*/}"␊ |
␉␉done␊ |
␉␉((xmlindent--))␊ |
␉␉outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"␊ |
␉# End utility package␊ |
␉# End build Dependencies Modules package ␊ |
␉# End build Modules packages␊ |
␊ |
␉((xmlindent--))␊ |
␉outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"␊ |
|
␉␉packagesidentity="org.chameleon.utility.com"␊ |
␊ |
␉␉# build package for Chameleon PrefPanel␊ |
␉␉␉mkdir -p "${1}/PrefPanel/Root/"␊ |
␉␉␉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/"␊ |
␉␉␉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 EFIMounter␊ |
␉␉␉mkdir -p "${1}/EFIMounter/Root/"␊ |
␉␉␉mkdir -p "${1}/EFIMounter/Root"␊ |
␉␉␉ditto --noextattr --noqtn "${pkgroot}/Configuration/EFIMounter/EFI Mounter.app" "${1}/EFIMounter/Root"␊ |
␉␉␉echo "␉[BUILD] EFIMounter "␊ |
␉␉␉buildpackage "${1}/EFIMounter" "/Applications/EFI Mounter.app" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
|
␉␉for (( i = 0 ; i < ${#kexts[@]} ; i++ )) ␊ |
␉␉do␊ |
␉␉␉filename="${kexts[$i]##*/}"␊ |
␉␉␉mkdir -p "${1}/${filename%.kext}/Root/"␊ |
␉␉␉mkdir -p "${1}/${filename%.kext}/Root"␊ |
␉␉␉ditto --noextattr --noqtn --arch i386 "${kexts[$i]}" "${1}/${filename%.kext}/Root/${filename}"␊ |
␉␉␉find "${1}/${filename%.kext}" -name '.DS_Store' -or -name '.svn' -exec rm -R -f {} \; 2>/dev/null␊ |
␉␉␉fixperms "${1}/${filename%.kext}/Root/"␊ |
␉␉␉chown 501:20 "${1}/${filename%.kext}/Root/"␊ |
␉␉␉fixperms "${1}/${filename%.kext}/Root"␊ |
␉␉␉chown 501:20 "${1}/${filename%.kext}/Root"␊ |
␉␉␉echo "␉[BUILD] ${filename%.kext} "␊ |
␉␉␉buildpackage "${1}/${filename%.kext}" "/Extra/Extensions" "" "start_selected=\"false\"" >/dev/null 2>&1␊ |
␉␉␉rm -R -f "${1}/${filename%.kext}"␊ |