回复: [edk2-devel] DSC POSTBUILD problem/question

gaoliming gaoliming at byosoft.com.cn
Tue May 11 02:57:45 UTC 2021


Garrett:

 I agree build should return error code reported from post build fail.
Seemly, current logic doesn’t handle the failure case.

 

Thanks

Liming

发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Kirkendall, Garrett
发送时间: 2021年5月11日 4:05
收件人: devel at edk2.groups.io
主题: [edk2-devel] DSC POSTBUILD problem/question

 

I'm checking out the PREBUILD and POSTBUILD option in a DSC.  I can launch
my scripts, etc.

 

When there is a POSTBUILD error,  build.py properly says the build failed,
but build.py is still returning 0 (success).  MyBuild.LaunchPostBuild()
execution does not look like it affects ReturnCode which is returned at the
end of Main.  "Conclusion" is updated though to indicate a failure.  Any
ideas?  I assume build.py should return non-zero if POSTBUILD fails.

 

 

 

 

>From end of edk-stable202011build.py:Main()

 

    if ReturnCode == 0:

        try:

            MyBuild.LaunchPostbuild()

            Conclusion = "Done"

        except:

            Conclusion = "Failed"

    elif ReturnCode == ABORT_ERROR:

        Conclusion = "Aborted"

    else:

        Conclusion = "Failed"

    FinishTime = time.time()

    BuildDuration = time.gmtime(int(round(FinishTime - StartTime)))

    BuildDurationStr = ""

    if BuildDuration.tm_yday > 1:

        BuildDurationStr = time.strftime("%H:%M:%S", BuildDuration) + ", %d
day(s)" % (BuildDuration.tm_yday - 1)

    else:

        BuildDurationStr = time.strftime("%H:%M:%S", BuildDuration)

    if MyBuild is not None:

        if not BuildError:

            MyBuild.BuildReport.GenerateReport(BuildDurationStr,
LogBuildTime(MyBuild.AutoGenTime), LogBuildTime(MyBuild.MakeTime),
LogBuildTime(MyBuild.GenFdsTime))

 

    EdkLogger.SetLevel(EdkLogger.QUIET)

    EdkLogger.quiet("\n- %s -" % Conclusion)

    EdkLogger.quiet(time.strftime("Build end time: %H:%M:%S, %b.%d %Y",
time.localtime()))

    EdkLogger.quiet("Build total time: %s\n" % BuildDurationStr)

    Log_Agent.kill()

    Log_Agent.join()

    return ReturnCode

 

master is the same code:

https://github.com/tianocore/edk2/blob/master/BaseTools/Source/Python/build/
build.py#L2738

 

 

Garrett Kirkendall
SMTS Firmware Engineer
7171 Southwest Parkway, Austin, TX 78735 USA 
AMD    <https://www.facebook.com/AMD> facebook  |   <http://www.amd.com/>
amd.com

 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#74935): https://edk2.groups.io/g/devel/message/74935
Mute This Topic: https://groups.io/mt/82738004/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20210511/2b4c9382/attachment.htm>


More information about the edk2-devel-archive mailing list