0

我在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不会自行停止执行。

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

4

1 回答 1

1

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

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

此外,请注意,这$prefix/bin/perllinuxdoc-tools. 如果在运行时也需要它,您应该提交一个添加depends_run path:bin/perl:perl5到端口的拉取请求,而不是尝试在您的端口中修复此错误。

于 2020-10-04T12:49:15.113 回答