微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在错误情况下中止macports端口文件?

如何解决如何在错误情况下中止macports端口文件?

我正在研究 cc65 上的版本变更,并且遇到了 linuxdoc-tools 问题。由于我无法修复 linuxdoc-tools ,并且有一种简单的解决方法,因此我决定添加一个if语句,以将解决方法告知用户

    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
    }

粗暴但我能做的最好,因为我既不是 perl5 也不是 linuxdoc-tools 维护者,并且我不想花很多时间在版本凸块。

但是,MacPorts无法理解exit 1,而ui_error不会自行停止执行。

我该如何停止执行,以免浪费用户时间在构建上,否则最终会失败。

解决方法

使用return -code error "error message"或同一事物的简写error "error message"

请注意,在此之前,您应该使用ui_error为用户打印一条人类可读的消息-当错误消息也在被打印时,有时会在输出中丢失。

此外,请注意$prefix/bin/perllinuxdoc-tools的构建依赖项。如果在运行时也需要它,则应提交将depends_run path:bin/perl:perl5添加到端口的拉取请求,而不要尝试在端口中修复此错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。