How to abort a macports portfile on an error condition?

Eric F eric at iefdev.se
Sat Oct 3 10:30:28 UTC 2020


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20201003/a7652422/attachment.htm>


More information about the macports-dev mailing list