Jump to content

Build_Clover.command, another Script to build standard Clover (or customized)


Micky1979
2,126 posts in this topic

Recommended Posts

  • 2 weeks later...

Clovers dropped x32 for sometime now and its not buildiing anymore (tried but failed).

a suggestion,remove or leave it as it is?

 

Also, what is the use of driver32uefi if all uefi bios are 64?

There was one real Mac with EFI BIOS 32bit, AFAIK MacPro1,1

But I think we can remove driver32uefi as never used.

  • Like 1
Link to comment
Share on other sites

for those that can't build after source forge server migration delete your EDK folder and rerun the script

 

edit:

on second retry removing src folder it only updated edk and failed clover.

I ran a manual ping test on both repo's as the script does and both returned data

but not always.

I was able to manually update the clover folder after retrieving it from the trash using svn up command and that also worked 

so maybe soureforge changed something that the script calls on to get versions if it does not get a reply then it behaves as if there is no internet access and kills the script. unless its curl or wget issue

 

edit2

source forge is not responding to ping properly or at all

also changing the clover repo in the buildcloverconfig.txt to other clover branches and it did not make a difference to the script I tried rehab man git branch and the race masters branch

  • Like 5
Link to comment
Share on other sites

i think, the problem is, the script is using ping command to svn.code.sf.net

 

# Remote and local revisions

getRev() {
if ping -c 1 svn.code.sf.net >> /dev/null 2>&1; then
REMOTE_REV=$(svn info ${CLOVER_REP} | grep '^Revision:' | tr -cd [:digit:])
REMOTE_EDK2_REV=$(svn info ${EDK2_REP} | grep '^Revision:' | tr -cd [:digit:])
else
REMOTE_REV=""
REMOTE_EDK2_REV=""
fi
 
svn.code.sf.net is not ping able at list on my end,
if i remove if condition, or change it with curl http_code, script is working again
 
sorry for my poor english
  • Like 3
Link to comment
Share on other sites

curl http_code, script is working again

 

Yep, you're right. Changing it to use curl http_code makes the script function perfectly again.

# Remote and local revisions
getRev() {
if ping -c 1 svn.code.sf.net >> /dev/null 2>&1; then
REMOTE_REV=$(svn info ${CLOVER_REP} | grep '^Revision:' | tr -cd [:digit:])
REMOTE_EDK2_REV=$(svn info ${EDK2_REP} | grep '^Revision:' | tr -cd [:digit:])
else
REMOTE_REV=""
REMOTE_EDK2_REV=""
fi

Change...

if ping -c 1 svn.code.sf.net >> /dev/null 2>&1; then

To...

if curl -sL -w "%{http_code}" svn.code.sf.net >> /dev/null; then

Save and try the script again and it should be working again now though the above is not meant to be a 'perfect' fix. It's really more like a one liner Band-Aid to get it functioning again. In fact, it's really an imperfect fix due to the script not knowing how to handle different http_code returns and because the domain is currently returning HTTP 403 forbidden.

 

Probably it's better to wait until SF fixes their stuff.

  • Like 2
Link to comment
Share on other sites

good call cecekapawon

 

that works

# if ping -c 1 svn.code.sf.net >> /dev/null 2>&1; then
REMOTE_REV=$(svn info ${CLOVER_REP} | grep '^Revision:' | tr -cd [:digit:])
REMOTE_EDK2_REV=$(svn info ${EDK2_REP} | grep '^Revision:' | tr -cd [:digit:])
# else
svn info remote REMOTE_REV=""
svn info remote REMOTE_EDK2_REV=""
# fi

but I get this 

svn: E155007: '/Users/hstest/remote' is not a working copy

svn: E155007: '/Users/hstest/remote' is not a working copy

CLOVER Remote revision: 4415 Local revision: 4415

EDK2 Remote revision: 26392 Local revision: 26300

 

and it compiles

 

Clover was built successfully!

 

Press any key to continue...

 

so script just probably needs a tweak 

  • Like 1
Link to comment
Share on other sites

good call cecekapawon

 

that works

# if ping -c 1 svn.code.sf.net >> /dev/null 2>&1; then
REMOTE_REV=$(svn info ${CLOVER_REP} | grep '^Revision:' | tr -cd [:digit:])
REMOTE_EDK2_REV=$(svn info ${EDK2_REP} | grep '^Revision:' | tr -cd [:digit:])
# else
svn info remote REMOTE_REV=""
svn info remote REMOTE_EDK2_REV=""
# fi

but I get this 

svn: E155007: '/Users/hstest/remote' is not a working copy

svn: E155007: '/Users/hstest/remote' is not a working copy

CLOVER Remote revision: 4415 Local revision: 4415

EDK2 Remote revision: 26392 Local revision: 26300

 

and it compiles

 

Clover was built successfully!

 

Press any key to continue...

 

so script just probably needs a tweak 

Not here  :idea:

Link to comment
Share on other sites

Maybe authors had to use that ping command to suppress svn command error while no internet connection available.

You may try and improve code below (got from stackoverflow here).

# --------------------------------------
#IsNumericOnly2() {
#[[ "${1}" =~ ^-?[0-9]+$ ]] && echo "1" || echo "0"
#}
# --------------------------------------
# Remote and local revisions
getRev() {
#if ping -c 1 svn.code.sf.net >> /dev/null 2>&1; then
#  REMOTE_REV=$(svn info ${CLOVER_REP} | grep '^Revision:' | tr -cd [:digit:])
#  REMOTE_EDK2_REV=$(svn info ${EDK2_REP} | grep '^Revision:' | tr -cd [:digit:])
#else
#  REMOTE_REV=""
#  REMOTE_EDK2_REV=""
#fi

#local ret

REMOTE_REV=$(svn info "${CLOVER_REP}" 2>&1 | grep '^Revision:' | tr -cd [:digit:])
REMOTE_EDK2_REV=$(svn info "${EDK2_REP}" 2>&1 | grep '^Revision:' | tr -cd [:digit:])

#ret=$(IsNumericOnly2 "${REMOTE_REV}")
#[[ $ret -eq "0" ]] && REMOTE_REV=""

#ret=$(IsNumericOnly2 "${REMOTE_EDK2_REV}")
#[[ $ret -eq "0" ]] && REMOTE_EDK2_REV=""

if [[ -d "${DIR_MAIN}"/edk2/Clover/.svn ]]; then
  svnUpgrade # upgrade the working copy to avoid errors
  LOCAL_REV=$(svn info "${DIR_MAIN}"/edk2/Clover | grep '^Revision:' | tr -cd [:digit:])
else
  LOCAL_REV=""
fi
if [[ -d "${DIR_MAIN}"/edk2/.svn ]]; then
  LOCAL_EDK2_REV=$(svn info "${DIR_MAIN}"/edk2 | grep '^Revision:' | tr -cd [:digit:])
else
  LOCAL_EDK2_REV=""
fi
}
# --------------------------------------
  • Like 3
Link to comment
Share on other sites

It' s now working fine with Build_Clover script v4.7.3. Thanks.  :)

 

 

 

MacBookPro:~ badruzeus$ buildclover

================================================================================
Build_Clover script v4.7.2                             Update available (v4.7.3)
                             <--------------------------------------------------
================================================================================
                        What's New in Version 4.7.3?

ping not allowed with sourceforge
================================================================================
By Micky1979 based on Slice, apianti, vit9696, Download Fritz, Zenith432,
STLVNUB, JrCs,cecekpawon, Needy, cvad, Rehabman, philip_petev, ErmaC

Supported OSes: macOS X, Ubuntu (16.04/16.10), Debian Jessie and Stretch
                             <--------------------------------------------------
CLOVER	Remote revision: unknown	Local revision: 4415
EDK2	Remote revision: unknown	Local revision: 26300

The current local EDK2 revision is the suggested one (26300). 
Used settings: /Users/badruzeus/BuildCloverConfig.txt 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Build_Clover.command
 2) run my script on the source
 3) build existing revision (no update, for testing only)
 4) build existing revision for release (no update, standard build)
 5) build existing revision with custom macros enabled
 6) enter Developers mode (only for devs)
 7) Try Clover Configurator Pro.app
 8) edit the configuration file
 9) Exit
? 1
================================================================================
SELF UPDATE
                             <--------------------------------------------------

A new Build_Clover.command is available,
do you want to overwrite the script? (Y/n): y

================================================================================
Build_Clover script v4.7.3                                  No update available.
                             <--------------------------------------------------
================================================================================
By Micky1979 based on Slice, apianti, vit9696, Download Fritz, Zenith432,
STLVNUB, JrCs,cecekpawon, Needy, cvad, Rehabman, philip_petev, ErmaC

Supported OSes: macOS X, Ubuntu (16.04/16.10), Debian Jessie and Stretch
                             <--------------------------------------------------
CLOVER	Remote revision: 4416	Local revision: 4415
EDK2	Remote revision: 26397	Local revision: 26300

The current local EDK2 revision is the suggested one (26300). 
Used settings: /Users/badruzeus/BuildCloverConfig.txt 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) enter Developers mode (only for devs)
 8) Try Clover Configurator Pro.app
 9) edit the configuration file
 10) Exit
? 1
================================================================================
Running from: macOS 10.11.6
Xcode 8.2.1
Build version 8C1002
                             <--------------------------------------------------
================================================================================
Compiler settings
                             <--------------------------------------------------
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
                             <--------------------------------------------------
edk2 appear to be up to date, skipping ...

================================================================================
Updating Clover, using the latest revision
                             <--------------------------------------------------
checking..available, continuing..
Updating '.':
D    CloverPackage/utils/partutil/findesp.c
U    rEFIt_UEFI/Platform/platformdata.c
Updated to revision 4416.
================================================================================
Apply Edk2 patches
                             <--------------------------------------------------
================================================================================
Downloading AptioFixPkg and dependencies
                             <--------------------------------------------------

AptioFixPkg:
checking..available, continuing..
Updating '.':
UU   Include/Protocol/AptioMemoryFixProtocol.h
UU   Platform/AptioMemoryFix/AptioMemoryFix.c
UU   Platform/AptioMemoryFix/Config.h
UU   Platform/AptioMemoryFix/CustomSlide.c
UU   Platform/AptioMemoryFix/MemoryMap.c
UU   Platform/AptioMemoryFix/ServiceOverrides.c
UU   Platform/AptioMemoryFix/ServiceOverrides.h
UU   Platform/AptioMemoryFix/Utils.c
UU   Platform/AptioMemoryFix/Utils.h
UU   README.md
Updated to revision 89.

CupertinoModulePkg:
checking..available, continuing..
r21 is already the latest version.

EfiMiscPkg:
checking..available, continuing..
r30 is already the latest version.

EfiPkg:
checking..available, continuing..
r116 is already the latest version.


CLOVER	Remote revision: 4416	Local revision: 4416
EDK2	Remote revision: 26397	Local revision: 26300

The current local EDK2 revision is the suggested one (26300). 
Used settings: /Users/badruzeus/BuildCloverConfig.txt 
                             <--------------------------------------------------
Please enter your choice: 
 1) update Clover only (no building)
 2) update Clover + force edk2 update (no building)
 3) run my script on the source
 4) build existing revision (no update, for testing only)
 5) build existing revision for release (no update, standard build)
 6) build existing revision with custom macros enabled
 7) enter Developers mode (only for devs)
 8) Try Clover Configurator Pro.app
 9) edit the configuration file
 10) Exit
?  

 

 

  • Like 1
Link to comment
Share on other sites

github.com does not guarantee ping responses anywhere. For reasons of website complexity and security, using ping to detect availability is out of place, which means that even with the correct ping response, it does not mean that the web service is normal.
  • Like 2
Link to comment
Share on other sites

Sure Badruzeus, .. an hour ago

 

hxbY32o.gif

 

id like to thanks to MaLd0n, Badruzeus, Sherlocks, cyberdevs, bronxteck, and Matgen84 for supporting.

 

Please enjoy the new version.

You are most welcome :)

 

Thanks to you for your efforts and supports and big thanks to all the guys and gals behind the clover and IM :)

 

New Build_Clover 4.7.3.command is working flawlessly Thanks

 

 

 

--------------------------

 Building process complete!

 --------------------------

 

 Build info.

 ===========

  Package name: Clover_v2.4k_r4416.pkg

  MD5:          c22285695c044ace441446953ac32863

  Version:      v2.4k

  Stage:        v2.4k

  Date/Time:    2018-02-24 19:55:42

  Built by:     cyberdevs

  Copyright     2012-2018

 

  adding: Clover_v2.4k_r4416.pkg (deflated 0%)

  adding: Clover_v2.4k_r4416.pkg.md5 (deflated 1%)

total 49664

drwxr-xr-x   9 cyberdevs  staff       288 Feb 24 19:56 .

drwxr-xr-x  14 cyberdevs  staff       448 Feb 24 19:56 ..

-rw-r--r--@  1 cyberdevs  staff  12543567 Feb 24 19:56 Clover_v2.4k_r4416.pkg

-rw-r--r--   1 cyberdevs  staff        68 Feb 24 19:56 Clover_v2.4k_r4416.pkg.md5

-rw-r--r--   1 cyberdevs  staff  12494481 Feb 24 19:56 Clover_v2.4k_r4416.zip

drwxr-xr-x   3 cyberdevs  staff        96 Feb 24 19:56 Resources

drwxr-xr-x   7 cyberdevs  staff       224 Feb 24 19:56 build

drwxr-xr-x   3 cyberdevs  staff        96 Feb 24 19:56 package

drwxr-xr-x   7 cyberdevs  staff       224 Feb 24 19:56 utils

================================================================================

build started at:

Sat Feb 24 19:54:38 +0330 2018

finished at

Sat Feb 24 19:56:39 +0330 2018

 

Done!

 

                             <--------------------------------------------------

Clover was built successfully!

Press any key to continue...

 

 

  • Like 1
Link to comment
Share on other sites

Hi

 

I update Build_clover to v4.7.4 and create /src from scratch. I've this issue this morning. Before, I note very low downloading edk2.

 

Sorry for my english

 

Edit: SF have some problems, once again...

Downloading edk2
                             <--------------------------------------------------
checking..available, continuing..
 U   .
Checked out revision 26300.

edksetup.sh:
checking..available, continuing..
Updating 'edksetup.sh':
A    edksetup.sh
Updated to revision 26300.

MdePkg:
checking..available, continuing..
svn: E170013: Unable to connect to a repository at URL 'svn://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg'
svn: E210002: Network connection closed unexpectedly

An error was encountered syncing the repository:
------------------------------

svn: E170013: Unable to connect to a repository at URL 'svn://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg'
svn: E210002: Network connection closed unexpectedly

------------------------------
Can be temporarily, retry later or seek for help.
Link to comment
Share on other sites

×
×
  • Create New...