How to abort a macports portfile on an error condition?

Martin Krischik krischik at macports.org
Sat Oct 3 18:06:16 UTC 2020


That's. That worked. Preparing a pull request.

Eric F schrieb:
> Try using “return -code error”, something like:
> 
> ```tlc
>     if {![file exists ${prefix}/bin/perl]} {
>         ui_error "
> «${prefix}/bin/perl» is missing but the linuxdoc-tools depends on it.
> 
> Please create an appropriate symbolic link for linuxdoc-tools to work.
> "
>         return -code error "missing dependency"
>     }
> ```
> 
> · Eric
> 
> On 10/3/20 11:15 , Martin Krischik wrote:
>> Hello,
>>
>> I working on a version bump on the **cc65** and encountered a problem
>> with the **linuxdoc-tools**. Since I can't fix the **linuxdoc-tools**
>> and there is a simple workaround possible I decided to add an if
>> statement to inform the user together with the workaround:
>>
>> ```tlc
>> 	if {! [file exists ${prefix}/bin/perl] } {
>> 		ui_error "
>> «${prefix}/bin/perl» is missing but the linuxdoc-tools depends on it.
>>
>> Please create an appropriate symbolic link for linuxdoc-tools to work.
>> "
>> 	exit 1
>> 	}
>> ```
>>
>> Crude but the best I can do since I'm neither the **perl5** nor the
>> **linuxdoc-tools** maintainer and I don't want to spend to much time on
>> a otherwise simple version bump.
>>
>> However, the MacPorts doesn't understand `exit 1` and `ui_error` won't
>> stop execution on its own.
>>
>> How do I stop the execution so not to waste the users time on a build
>> which will otherwise fail right at the end.
>>
>> Regards
>>
>> Martin
> 

-- 
Martin Krischik
mailto://krischik@users.sourceforge.net
https://sourceforge.net/users/krischik
https://github.com/krischik



More information about the macports-dev mailing list