如何解决如何在错误情况下中止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/perl
是linuxdoc-tools
的构建依赖项。如果在运行时也需要它,则应提交将depends_run path:bin/perl:perl5
添加到端口的拉取请求,而不要尝试在端口中修复此错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。