2017-08-31 63 views
0

我正在尝试为不需要编译的应用程序创建自制公式。我试过翻阅食谱,但我错过了一些能够使事情正常工作的东西。下面是我更常用的文件名的用例。为独立应用程序创建自制公式

容器内部有两个文件:一个是应用程序的脚本,另一个是手册页的文件。我们将使用下面的文件名,以保持通用的东西:

  • myapp.py(可执行的脚本)
  • resource.txt(资源文件,脚本需要)
  • myapp.1(手册页)

将这些设置到正确位置的最佳方法是什么?假设我有能力修改脚本中用于选择加载资源的位置的代码。

谢谢。

回答

1

您可以在安装时修改脚本以使用正确的资源位置,或者假设它位于相同的目录中,并让Homebrew为您做出魔法。我在another answer中为后一种情况写了一个示例公式。

这是它看起来像你的需求:

class Foo < Formula 
    desc "Blah blah" 
    url "https://github.com/foo/foo/archive/master.zip" 
    version "1.2.3" 

    def install 
    man1.install "myapp.1" 
    libexec.install Dir["*"] 
    bin.write_exec_script (libexec/"myapp.py") 
    end 
end 

它在正确的目录安装myapp.1。您还可以使用man2,man3等用于其他man目录。

然后,它将所有其余文件安装在libexec下,然后在bin/myapp.py中创建exec脚本。这将是一个简单的shell脚本,execlibexec中的脚本。这样,您的脚本将从libexec执行,因此将能够找到位于相同目录中的resource.txt

如果你想叫它myapp而不是myapp.py它会看起来像:

def install 
    man1.install "myapp.1" 
    libexec.install "resource.txt" 
    libexec.install "myapp.py" => "myapp" 
    bin.write_exec_script (libexec/"myapp") 
    end