Jump to content

bluemaP1E

Members
  • Content Count

    19
  • Joined

  • Last visited

About bluemaP1E

  • Rank
    InsanelyMac Protégé

Profile Information

  • Gender
    Male

Recent Profile Visitors

745 profile views
  1. bluemaP1E

    Intel Framebuffer patching using WhateverGreen

    I only put lilu whatevergreen to the kext folder and add "AAPL,ig-platform-id=0300220D disable-external-gpu=01000000 ".no dsdt ssdt,no other graphics fixes.
  2. bluemaP1E

    Intel Framebuffer patching using WhateverGreen

    desktop hd4600, smbios 14,2. The external display shown as built-in,how to correct it?
  3. bluemaP1E

    WhatEverGreen Support Topic

    I‘m using desktop HD4600 with lilu whatevergreen , smbios iMac 14,2 . The external display shown as built-in display. I can't use "Brightness.Menulet" "MonitorControl" to control display brightness. but I use "Monitorian" on windows it works well (Confirmed support for DDC/CI) Do I need to modify the display to external or other methods?
  4. same issue, latest 4.9.2 + clover 4679 +edk2 27956 + Xcode 10
  5. bluemaP1E

    Intel Framebuffer patching using WhateverGreen

    Very detailed tutorial, But i'm confused after i read it, do I need it? I use Lilu and whatevergreen with HD4600 +GTX1060 for hardware decode.
  6. I`m using a haswell CPU on z87 motherboard with a GTX1060.(hd4600 deact.) SMBIOS iMac14,2 Mac-27ADBB7B4CEE8E61 10.13 (17A405) with web driver 378.10.10.10.15.120. My English is not very good, After I read these links I'm still very confused. https://sourceforge.net/p/nvidiagraphicsfixup/svn/HEAD/tree/trunk/FAQ.md https://github.com/vit9696/Shiki/blob/master/Manual/FAQ.en.md https://github.com/vit9696/Shiki/issues/5 Seems like shiki.kext should be use after hardware video decoding works? But in the nvidiagraphicsfixup faq it says:To get hardware video decoding you are likely to need shiki. I try to install lilu.kext and nvidiagraphicsfixup.kext but doesn`t work. when i running ioreg | grep IMEI and ioreg -l | grep platform-id there is no output. What kext do I need?(nvidiagraphicsfixup.kext imac.kext shiki.kext ...) It is necessary to enable the builtin Intel GPU hd4600? I will appreciate for your reply.
  7. @PMheart I didn't notice that,thanks.I just updated it,it can works on mode R now. Because I used the router's open source drive before, it was always less than the original signal and stability. So I personally prefer HFSPlus.I misunderstood it,I think download two small files should not be a problem..... The 4.4.5 version of the script will make all versions install HFSPlus that shouldn't be normal.
  8. R4076 with Build_Clover 4.4.4 works fine ,but the latest version 4.4.5 (Added ability to download and install HFSPlus-32/64 bit.) It seems to lack a judgement structure, the ADD_HFSPLUS alawys set to "Yes". Whether I use -D USE_APPLE_HFSPLUS_DRIVER or not,the copy command will execute. Then the package will contain VBoxHfs and HFSPlus at once.When installed, no matter which file is in the EFI partition, it becomes HFSPlus-64.efi. Copy Mandatory drivers: -> FSInject-64.efi -> AppleImageCodec-64.efi -> AppleUITheme-64.efi -> AppleKeyAggregator-64.efi -> FirmwareVolume-64.efi -> SMCHelper-64.efi -> FSInject-64.efi -> OsxFatBinaryDrv-64.efi -> AppleImageCodec-64.efi -> AppleUITheme-64.efi -> AppleKeyAggregator-64.efi -> FirmwareVolume-64.efi -> SMCHelper-64.efi -> DataHubDxe-64.efi -> VBoxHfs-64.efi Copy Optional drivers: -> NvmExpressDxe-64.efi -> Ps2MouseDxe-64.efi -> UsbMouseDxe-64.efi -> VBoxExt2-64.efi -> VBoxExt4-64.efi -> VBoxIso9600-64.efi -> XhciDxe-64.efi -> UsbKbDxe-64.efi -> HashServiceFix-64.efi -> GrubEXFAT-64.efi -> GrubISO9660-64.efi -> GrubNTFS-64.efi -> GrubUDF-64.efi -> CsmVideoDxe-64.efi -> EmuVariableUefi-64.efi -> OsxAptioFix2Drv-64.efi -> OsxAptioFixDrv-64.efi -> OsxLowMemFixDrv-64.efi -> PartitionDxe-64.efi -> Fat-64.efi Copy Applications: -> bdmesg.efi Done! Generating BootSectors make: Nothing to be done for `all'. Done! ================================================================================ Adding HFSPlus-64.efi <-------------------------------------------------- HFSPlus-64.efi copied in ../drivers64UEFI HFSPlus-64.efi copied in ../drivers64 rm -rf sym obj dst ================================================================================ MAKE PKG <-------------------------------------------------- I recommend download only, install let ebuild.sh do it.Simple code add to the end of buildEssentials () #HFSPlus printHeader 'Search HFSPlus.efi' if [[ ! -f "${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus/X64/HFSPlus.efi" ]] ; then downloader "$HFSPLUS64" "HFSPlus.efi" "${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus/X64" else echo "Found X64 ${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus/X64/HFSPlus.efi" fi if [[ ! -f "${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus/Ia32/HFSPlus.efi" ]] ; then downloader "$HFSPLUS32" "HFSPlus.efi" "${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus/Ia32" else echo "Found Ia32 ${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus/Ia32/HFSPlus.efi" fi if [ "$LOCAL_REV" -le "4075" ]; then cp -R "${DIR_MAIN}/edk2/Clover/FileSystems/HFSPlus" "${DIR_MAIN}/edk2/Clover/HFSPlus" fi Build_Clover.command.zip
  9. I've just studied,this line of code “ ! -e ” means if the file doesn`t exist will return true, then the "&& return" will perfrom and “M_APPLEHFS=1"will not be perfromed. The macro will become invalid. if [[ "$macro" == "USE_APPLE_HFSPLUS_DRIVER" && "$TARGETARCH" == "X64" ]]; then [[ ! -e "${CLOVERROOT}"/HFSPlus/X64/HFSPlus.efi ]] && return M_APPLEHFS=1
  10. Should be the reason for the wrong path, resulting in no copy in. This can be reproduced,you can try.I found only two wrong codes. It's not just that HFSPlus doesn't exist, it's changed to VBoxHFS,only 2copies make it normal. Processing meta-data . build.py... /Users/zhengxin/src/edk2/Clover/FileSystems/HFSPlus/HFSPlus.inf(22): error 000E: File/directory not found in workspace /Users/zhengxin/src/edk2/Clover/FileSystems/HFSPlus/X64/HFSPlus.efi
  11. If I put only one copy in ${CLOVERROOT}"/HFSPlus/,the Build_clover will stop compile,tell me it can`t find HFSPLUS.efi in ${CLOVERROOT}"/FileSystems/HFSPlus/X64/HFSPlus.efi. Another way i put it in ${CLOVERROOT}"/FileSystems/HFSPlus will compile successfully, but there is no HFSPlus in the package,so i said it needs 2 copies. The default path for new version clover should be ${CLOVERROOT}"/FileSystems/HFSPlus, Looks like the ebuild.sh needs to be updated.
  12. A small problem,when I use custom macro -D USE_APPLE_HFSPLUS_DRIVER. I need put two copys of HFSPlus file, ${CLOVERROOT}"/HFSPlus/X64/HFSPlus.efi and ${CLOVERROOT}"/FileSystems/HFSPlus/X64/HFSPlus.efi The correct path to these files is in the folder “${CLOVERROOT}"/FileSystems” . code in ebuild.sh seems wrong. # Add edk2 build macro addEdk2BuildMacro() { local macro="$1" [[ "$macro" == "NO_GRUB_DRIVERS" ]] && M_NOGRUB=1 if [[ "$macro" == "USE_APPLE_HFSPLUS_DRIVER" && "$TARGETARCH" == "X64" ]]; then [[ ! -e "${CLOVERROOT}"/HFSPlus/X64/HFSPlus.efi ]] && return M_APPLEHFS=1 fi addEdk2BuildOption "-D" "$macro" } if [[ $M_APPLEHFS -eq 0 ]]; then copyBin "$BUILD_DIR_ARCH"/VBoxHfs.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers64UEFI/VBoxHfs-64.efi else copyBin "${CLOVERROOT}"/HFSPlus/X64/HFSPlus.efi "$CLOVER_PKG_DIR"/EFI/CLOVER/drivers64UEFI/HFSPlus.efi fi
  13. This is to say that using betterzip or commented code or both? Initially I modified "Distribution" file to achieve the effect of removing the extra option. Later I commented the code and rebuild,there is no extra option. Most people who use the package already have at least one theme and the built-in theme does`t look good .... I try to build and succeed,it`s only 3.5 MB. I searched for "CloverV2/EFI/CLOVER/refit.conf" Revision 1654 - no more refit.conf and settings.conf. All settings are in config.plist and theme.plist - plist files now can include tags <array>, <true/>, <integer> Are you talking about this?
  14. I am a beginner,I started looking for a long time in the file(Build_Clover.command ebuild.sh makepkg)but did`t find it. Just now I finally found it in buildpkg.sh, I commented line 734-804 and 1094-1117.Did i do right?It seems include cloverupdater,will it affect other features? ## build theme packages # echo "======================== Themes ========================" # addGroupChoices "Themes" # local specialThemes=('christmas' 'newyear') # # # Using themes section from Azi's/package branch. # packagesidentity="${clover_package_identity}".themes # local artwork="${SRCROOT}/CloverV2/themespkg/" # local themes=($( find "${artwork}" -type d -depth 1 -not -name '.svn' )) # local themeDestDir='/EFIROOTDIR/EFI/CLOVER/themes' # local defaultTheme= # $(trim $(sed -n 's/^theme *//p' "${SRCROOT}"/CloverV2/EFI/CLOVER/refit.conf)) # for (( i = 0 ; i < ${#themes[@]} ; i++ )); do # local themeName=${themes[$i]##*/} # [[ -n $(inArray "$themeName" ${specialThemes[@]}) ]] && continue # it is a special theme # mkdir -p "${PKG_BUILD_DIR}/${themeName}/Root/" # rsync -r --exclude=.svn --exclude="*~" "${themes[$i]}/" "${PKG_BUILD_DIR}/${themeName}/Root/${themeName}" # packageRefId=$(getPackageRefId "${packagesidentity}" "${themeName}") # addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${themeName}" \ # --subst="themeName=$themeName" \ # --subst="INSTALLER_CHOICE=$packageRefId" \ # InstallTheme # # buildpackage "$packageRefId" "${themeName}" "${PKG_BUILD_DIR}/${themeName}" "${themeDestDir}" # # # local selectTheme="checkFileExists('${themeDestDir}/$themeName/icons/func_clover.png')" # local selectTheme="choicePreviouslySelected('$packageRefId')" # # Select the default theme # [[ "$themeName" == "$defaultTheme" ]] && selectTheme='true' # addChoice --group="Themes" --start-selected="$selectTheme" --pkg-refs="$packageRefId" "${themeName}" # done # # # Special themes # packagesidentity="${clover_package_identity}".special.themes # local artwork="${SRCROOT}/CloverV2/themespkg/" # local themeDestDir='/EFIROOTDIR/EFI/CLOVER/themes' # local currentMonth=$(date -j +'%-m') # for (( i = 0 ; i < ${#specialThemes[@]} ; i++ )); do # local themeName=${specialThemes[$i]##*/} # # Don't add christmas and newyear themes if month < 11 # [[ $currentMonth -lt 11 ]] && [[ "$themeName" == christmas || "$themeName" == newyear ]] && continue # mkdir -p "${PKG_BUILD_DIR}/${themeName}/Root/" # rsync -r --exclude=.svn --exclude="*~" "$artwork/${specialThemes[$i]}/" "${PKG_BUILD_DIR}/${themeName}/Root/${themeName}" # packageRefId=$(getPackageRefId "${packagesidentity}" "${themeName}") # addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${themeName}" \ # --subst="themeName=$themeName" \ # --subst="INSTALLER_CHOICE=$packageRefId" \ # InstallTheme # # buildpackage "$packageRefId" "${themeName}" "${PKG_BUILD_DIR}/${themeName}" "${themeDestDir}" # addChoice --start-visible="false" --start-selected="true" --pkg-refs="$packageRefId" "${themeName}" # done # # # build CloverThemeManager package # local CTM_Dir="${SRCROOT}"/CloverThemeManager # local CTM_Dest='/Applications' # # packagesidentity="${clover_package_identity}".CTM.themes # choiceId="CloverThemeManager" # packageRefId=$(getPackageRefId "${packagesidentity}" "${choiceId}") # # ditto --noextattr --noqtn "$CTM_Dir" \ # "${PKG_BUILD_DIR}/${choiceId}/Root/${CTM_Dest}"/ # buildpackage "$packageRefId" "${choiceId}" "${PKG_BUILD_DIR}/${choiceId}" "/" # # CloverThemeManager.app can update it-self, # # so there's no need to record the choice as 'previously selected'. # addChoice --group="Themes" --start-selected="false" \ # --start-enabled="checkFileExists('/Users')" \ # --start-visible="checkFileExists('/Users')" \ # --pkg-refs="$packageRefId" "${choiceId}" # # end CloverThemeManager package ## End build theme packages if [[ "$add_ia32" -eq 1 ]]; then # build mandatory drivers-ia32 packages echo "================= drivers32 mandatory ==================" packagesidentity="${clover_package_identity}".drivers32.mandatory local drivers=($( find "${SRCROOT}/CloverV2/EFI/CLOVER/drivers32" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers32' for (( i = 0 ; i < ${#drivers[@]} ; i++ )) do local driver="${drivers[$i]##*/}" local driverChoice="${driver%.efi}" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverChoice}/Root/" find "${PKG_BUILD_DIR}/${driverChoice}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverChoice}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverChoice}") # Add postinstall script for VBoxHfs driver to remove it if HFSPlus driver exists [[ "$driver" == VBoxHfs* ]] && \ addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverChoice}" \ --subst="DRIVER_NAME=$driver" \ --subst="DRIVER_DIR=$(basename $driverDestDir)" \ "VBoxHfs" buildpackage "$packageRefId" "${driverChoice}" "${PKG_BUILD_DIR}/${driverChoice}" "${driverDestDir}" addChoice --start-visible="false" --selected="!choices['UEFI.only'].selected" \ --pkg-refs="$packageRefId" "${driverChoice}" rm -R -f "${PKG_BUILD_DIR}/${driverChoice}" done # End mandatory drivers-ia32 packages # build drivers-ia32 packages echo "===================== drivers32 ========================" addGroupChoices --title="Drivers32" --description="Drivers32" \ --enabled="!choices['UEFI.only'].selected" \ "Drivers32" packagesidentity="${clover_package_identity}".drivers32 local drivers=($( find "${SRCROOT}/CloverV2/drivers-Off/drivers32" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers32' for (( i = 0 ; i < ${#drivers[@]} ; i++ )); do local driver="${drivers[$i]##*/}" local driverName="${driver%.efi}" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverName}/Root/" find "${PKG_BUILD_DIR}/${driverName}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverName}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverName}") addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice buildpackage "$packageRefId" "${driverName}" "${PKG_BUILD_DIR}/${driverName}" "${driverDestDir}" addChoice --group="Drivers32" --title="$driverName" \ --enabled="!choices['UEFI.only'].selected" \ --start-selected="choicePreviouslySelected('$packageRefId')" \ --selected="!choices['UEFI.only'].selected && choices['$driverName'].selected" \ --pkg-refs="$packageRefId" \ "${driverName}" rm -R -f "${PKG_BUILD_DIR}/${driverName}" done # End build drivers-ia32 packages # build mandatory drivers-ia32UEFI packages echo "=============== drivers32 UEFI mandatory ===============" packagesidentity="${clover_package_identity}".drivers32UEFI.mandatory local drivers=($( find "${SRCROOT}/CloverV2/EFI/CLOVER/drivers32UEFI" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers32UEFI' for (( i = 0 ; i < ${#drivers[@]} ; i++ )) do local driver="${drivers[$i]##*/}" local driverChoice="${driver%.efi}.UEFI" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverChoice}/Root/" find "${PKG_BUILD_DIR}/${driverChoice}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverChoice}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverChoice}") # Add postinstall script for VBoxHfs driver to remove it if HFSPlus driver exists [[ "$driver" == VBoxHfs* ]] && \ addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverChoice}" \ --subst="DRIVER_NAME=$driver" \ --subst="DRIVER_DIR=$(basename $driverDestDir)" \ "VBoxHfs" buildpackage "$packageRefId" "${driverChoice}" "${PKG_BUILD_DIR}/${driverChoice}" "${driverDestDir}" addChoice --start-visible="false" --start-selected="true" --pkg-refs="$packageRefId" "${driverChoice}" rm -R -f "${PKG_BUILD_DIR}/${driverChoice}" done # End mandatory drivers-ia32UEFI packages fi # build mandatory drivers-x64 packages if [[ -d "${SRCROOT}/CloverV2/EFI/CLOVER/drivers64" ]]; then echo "================= drivers64 mandatory ==================" packagesidentity="${clover_package_identity}".drivers64.mandatory local drivers=($( find "${SRCROOT}/CloverV2/EFI/CLOVER/drivers64" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers64' for (( i = 0 ; i < ${#drivers[@]} ; i++ )) do local driver="${drivers[$i]##*/}" local driverChoice="${driver%.efi}" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverChoice}/Root/" find "${PKG_BUILD_DIR}/${driverChoice}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverChoice}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverChoice}") # Add postinstall script for VBoxHfs driver to remove it if HFSPlus driver exists [[ "$driver" == VBoxHfs* ]] && \ addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverChoice}" \ --subst="DRIVER_NAME=$driver" \ --subst="DRIVER_DIR=$(basename $driverDestDir)" \ "VBoxHfs" buildpackage "$packageRefId" "${driverChoice}" "${PKG_BUILD_DIR}/${driverChoice}" "${driverDestDir}" addChoice --start-visible="false" --selected="!choices['UEFI.only'].selected" \ --pkg-refs="$packageRefId" "${driverChoice}" rm -R -f "${PKG_BUILD_DIR}/${driverChoice}" done fi # End mandatory drivers-x64 packages # build drivers-x64 packages if [[ -d "${SRCROOT}/CloverV2/drivers-Off/drivers64" ]]; then echo "===================== drivers64 ========================" addGroupChoices --title="Drivers64" --description="Drivers64" \ --enabled="!choices['UEFI.only'].selected" \ "Drivers64" packagesidentity="${clover_package_identity}".drivers64 local drivers=($( find "${SRCROOT}/CloverV2/drivers-Off/drivers64" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers64' for (( i = 0 ; i < ${#drivers[@]} ; i++ )); do local driver="${drivers[$i]##*/}" local driverName="${driver%.efi}" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverName}/Root/" find "${PKG_BUILD_DIR}/${driverName}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverName}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverName}") addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice buildpackage "$packageRefId" "${driverName}" "${PKG_BUILD_DIR}/${driverName}" "${driverDestDir}" addChoice --group="Drivers64" --title="$driverName" \ --enabled="!choices['UEFI.only'].selected" \ --start-selected="choicePreviouslySelected('$packageRefId')" \ --selected="!choices['UEFI.only'].selected && choices['$driverName'].selected" \ --pkg-refs="$packageRefId" \ "${driverName}" rm -R -f "${PKG_BUILD_DIR}/${driverName}" done fi # End build drivers-x64 packages # build mandatory drivers-x64UEFI packages if [[ -d "${SRCROOT}/CloverV2/EFI/CLOVER/drivers64UEFI" ]]; then echo "=============== drivers64 UEFI mandatory ===============" packagesidentity="${clover_package_identity}".drivers64UEFI.mandatory local drivers=($( find "${SRCROOT}/CloverV2/EFI/CLOVER/drivers64UEFI" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers64UEFI' for (( i = 0 ; i < ${#drivers[@]} ; i++ )) do local driver="${drivers[$i]##*/}" local driverChoice="${driver%.efi}.UEFI" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverChoice}/Root/" find "${PKG_BUILD_DIR}/${driverChoice}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverChoice}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverChoice}") # Add postinstall script for VBoxHfs driver to remove it if HFSPlus driver exists [[ "$driver" == VBoxHfs* ]] && \ addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverChoice}" \ --subst="DRIVER_NAME=$driver" \ --subst="DRIVER_DIR=$(basename $driverDestDir)" \ "VBoxHfs" buildpackage "$packageRefId" "${driverChoice}" "${PKG_BUILD_DIR}/${driverChoice}" "${driverDestDir}" addChoice --start-visible="false" --start-selected="true" --pkg-refs="$packageRefId" "${driverChoice}" rm -R -f "${PKG_BUILD_DIR}/${driverChoice}" done fi # End mandatory drivers-x64UEFI packages # build drivers-x64UEFI packages if [[ -d "${SRCROOT}/CloverV2/drivers-Off/drivers64UEFI" ]]; then echo "=================== drivers64 UEFI =====================" addGroupChoices --title="Drivers64UEFI" --description="Drivers64UEFI" "Drivers64UEFI" packagesidentity="${clover_package_identity}".drivers64UEFI local drivers=($( find "${SRCROOT}/CloverV2/drivers-Off/drivers64UEFI" -type f -name '*.efi' -depth 1 )) local driverDestDir='/EFIROOTDIR/EFI/CLOVER/drivers64UEFI' for (( i = 0 ; i < ${#drivers[@]} ; i++ )) do local driver="${drivers[$i]##*/}" local driverName="${driver%.efi}" ditto --noextattr --noqtn --arch i386 "${drivers[$i]}" "${PKG_BUILD_DIR}/${driverName}/Root/" find "${PKG_BUILD_DIR}/${driverName}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null fixperms "${PKG_BUILD_DIR}/${driverName}/Root/" packageRefId=$(getPackageRefId "${packagesidentity}" "${driverName}") addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${driverName}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice buildpackage "$packageRefId" "${driverName}" "${PKG_BUILD_DIR}/${driverName}" "${driverDestDir}" addChoice --group="Drivers64UEFI" --title="$driverName" \ --start-selected="choicePreviouslySelected('$packageRefId')" \ --pkg-refs="$packageRefId" "${driverName}" rm -R -f "${PKG_BUILD_DIR}/${driverName}" done fi # End build drivers-x64UEFI packages # build rc scripts package echo "===================== RC Scripts =======================" packagesidentity="$clover_package_identity" choiceId="rc.scripts.on.target" packageRefId=$(getPackageRefId "${packagesidentity}" "${choiceId}") rcScriptsOnTargetPkgRefId=$packageRefId mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Root addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${choiceId}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice buildpackage "$packageRefId" "${choiceId}" "${PKG_BUILD_DIR}/${choiceId}" "/" addChoice --start-visible="true" \ --start-selected="checkFileExists('/System/Library/CoreServices/boot.efi') && choicePreviouslySelected('$packageRefId')" \ --start-enabled="checkFileExists('/System/Library/CoreServices/boot.efi')" \ --pkg-refs="$packageRefId" "${choiceId}" choiceId="rc.scripts.on.all.volumes" packageRefId=$(getPackageRefId "${packagesidentity}" "${choiceId}") rcScriptsOnAllColumesPkgRefId=$packageRefId mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Root addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${choiceId}" \ --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice buildpackage "$packageRefId" "${choiceId}" "${PKG_BUILD_DIR}/${choiceId}" "/" addChoice --start-visible="true" --start-selected="choicePreviouslySelected('$packageRefId')" \ --pkg-refs="$packageRefId" "${choiceId}" choiceIdRcScriptsCore="rc.scripts.core" choiceId=$choiceIdRcScriptsCore mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Root/Library/LaunchDaemons mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Root/Library/Application\ Support/Clover mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Root/etc mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Scripts addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${choiceId}" \ --subst="INSTALLER_ON_TARGET_REFID=$rcScriptsOnTargetPkgRefId" \ --subst="INSTALLER_ON_ALL_VOLUMES_REFID=$rcScriptsOnAllColumesPkgRefId" \ RcScripts # Add the rc script library cp -f "$SCPT_LIB_DIR"/rc_scripts.lib "${PKG_BUILD_DIR}/${choiceId}"/Scripts rsync -r --exclude=.* --exclude="*~" ${SRCROOT}/CloverV2/rcScripts/ ${PKG_BUILD_DIR}/${choiceId}/Root/ local toolsdir="${PKG_BUILD_DIR}/${choiceId}"/Scripts/Tools mkdir -p "$toolsdir" (cd "${PKG_BUILD_DIR}/${choiceId}"/Root && find {etc,Library} -type f > "$toolsdir"/rc.files) fixperms "${PKG_BUILD_DIR}/${choiceId}/Root/" chmod 644 "${PKG_BUILD_DIR}/${choiceId}/Root/Library/LaunchDaemons/com.projectosx.clover.daemon.plist" chmod 744 "${PKG_BUILD_DIR}/${choiceId}/Root/Library/Application Support/Clover/CloverDaemon" chmod 744 "${PKG_BUILD_DIR}/${choiceId}/Root/Library/Application Support/Clover/CloverDaemon-stopservice" chmod 755 "${PKG_BUILD_DIR}/${choiceId}/Root/etc"/rc.*.d/*.{local,local.disabled} chmod 755 "${PKG_BUILD_DIR}/${choiceId}/Scripts/postinstall" packageRefId=$(getPackageRefId "${packagesidentity}" "${choiceId}") buildpackage "$packageRefId" "${choiceId}" "${PKG_BUILD_DIR}/${choiceId}" "/" addChoice --start-visible="false" \ --selected="choices['rc.scripts.on.target'].selected || choices['rc.scripts.on.all.volumes'].selected" \ --pkg-refs="$packageRefId" "${choiceId}" # End build rc scripts package # build optional rc scripts package echo "================= Optional RC Scripts ==================" packagesidentity="$clover_package_identity".optional.rc.scripts addGroupChoices --title="Optional RC Scripts" --description="Optional RC Scripts" \ --enabled="choices['$choiceIdRcScriptsCore'].selected" \ "OptionalRCScripts" local scripts=($( find "${SRCROOT}/CloverV2/rcScripts/etc" -type f -name '*.disabled' -depth 2 )) for (( i = 0 ; i < ${#scripts[@]} ; i++ )) do local script_rel_path=etc/"${scripts[$i]##*/etc/}" # ie: etc/rc.boot.d/70.xx_yy_zz.local.disabled local script="${script_rel_path##*/}" # ie: 70.xx_yy_zz.local.disabled local choiceId=$(echo "$script" | sed -E 's/^[0-9]*[.]?//;s/\.local\.disabled//') # ie: xx_yy_zz local title=${choiceId//_/ } # ie: xx yy zz packageRefId=$(getPackageRefId "${packagesidentity}" "${choiceId}") mkdir -p ${PKG_BUILD_DIR}/${choiceId}/Root addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${choiceId}" \ --subst="RC_SCRIPT=$script_rel_path" \ --subst="INSTALLER_ON_TARGET_REFID=$rcScriptsOnTargetPkgRefId" \ --subst="INSTALLER_ON_ALL_VOLUMES_REFID=$rcScriptsOnAllColumesPkgRefId" \ --subst="INSTALLER_CHOICE=$packageRefId" \ OptRcScripts # Add the rc script library cp -f "$SCPT_LIB_DIR"/rc_scripts.lib "${PKG_BUILD_DIR}/${choiceId}"/Scripts fixperms "${PKG_BUILD_DIR}/${choiceId}/Root/" chmod 755 "${PKG_BUILD_DIR}/${choiceId}/Scripts/postinstall" buildpackage "$packageRefId" "${choiceId}" "${PKG_BUILD_DIR}/${choiceId}" "/" addChoice --group="OptionalRCScripts" --title="$title" \ --start-selected="choicePreviouslySelected('$packageRefId')" \ --enabled="choices['OptionalRCScripts'].enabled" \ --pkg-refs="$packageRefId" "${choiceId}" done # End build optional rc scripts package #local cloverUpdaterDir="${SRCROOT}"/CloverUpdater #local cloverPrefpaneDir="${SRCROOT}"/CloverPrefpane #if [[ -x "$cloverPrefpaneDir"/build/Clover.prefPane/Contents/MacOS/Clover ]]; then ## build CloverPrefpane package # echo "==================== Clover Prefpane ===================" # packagesidentity="$clover_package_identity" # choiceId="CloverPrefpane" # packageRefId=$(getPackageRefId "${packagesidentity}" "${choiceId}") # # ditto --noextattr --noqtn "$cloverUpdaterDir"/CloverUpdaterUtility.plist \ # # "${PKG_BUILD_DIR}/${choiceId}"/Root/Library/LaunchAgents/com.projectosx.Clover.Updater.plist # ditto --noextattr --noqtn "$cloverUpdaterDir"/CloverUpdaterUtility \ # "${PKG_BUILD_DIR}/${choiceId}/Root/Library/Application Support/Clover"/ # ditto --noextattr --noqtn "$cloverUpdaterDir"/build/CloverUpdater.app \ # "${PKG_BUILD_DIR}/${choiceId}/Root/Library/Application Support/Clover"/CloverUpdater.app # ditto --noextattr --noqtn "$cloverPrefpaneDir"/build/Clover.prefPane \ # "${PKG_BUILD_DIR}/${choiceId}/Root/Library/PreferencePanes/"/Clover.prefPane # addTemplateScripts --pkg-rootdir="${PKG_BUILD_DIR}/${choiceId}" \ # --subst="INSTALLER_CHOICE=$packageRefId" MarkChoice # buildpackage "$packageRefId" "${choiceId}" "${PKG_BUILD_DIR}/${choiceId}" "/" # addChoice --start-selected="checkFileExists('/bin/launchctl') && choicePreviouslySelected('$packageRefId')" \ # --start-enabled="checkFileExists('/bin/launchctl')" \ # --pkg-refs="$packageRefId" "${choiceId}" ## end CloverUpdater package #fi
×