我如何编写自制食谱?


19

自制食谱的主要特征是什么?

如果我想向hombrew-science资料库贡献一份食谱(例如udunits的一份食谱),我将如何转换这样的命令行脚本:

wget ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.1.24.tar.gz
tar -xvf udunits-2.1.24.tar.gz
cd udunits-2.1.24
./configure 
make 
make check
make clean

变成有效的食谱?


Brew将cd自动提取。您不需要运行make clean,因为构建目录是临时的。当前的答案有剩下的。
daviewales 2014年

Answers:


22

此自制程序自述文件提供了以下步骤(以及指向更多信息的链接):

贡献

简而言之:

  1. 叉自制
  2. brew create http://example.com/foo-0.1.tar.gz
  3. git checkout -b foo
  4. git commit Library/Formula/foo.rb && git push
  5. 拉取请求

总而言之:

自制公式是用Ruby编写的(已针对Ruby 2.0.0进行了测试)。Ruby的知识当然会有所帮助,但是您只需阅读一些现有的公式,就可以像上面概述的那样大致了解如何执行基本过程。

要使公式被接受,还需要对Git和GitHub拉取请求有一点了解,但涵盖了如何打开Homebrew拉取请求(并将其合并)


4
关于“自制的公式是用Ruby点编写的” —我现在已经看到了一堆公式,这些公式使用Ruby作为以另一种语言编写的安装例程的调用者。因此,您至少需要了解足够的Ruby来执行安装/卸载例程,其余的可以通过调用帮助脚本以<插入您选择的语言>来完成。
伊恩·C(

1
很高兴知道。
echristopherson

5
创建食谱所需了解的Ruby数量几乎为零,约占整个Ruby语言的0.00001%。您基本上是在设置一些参数,但是用Ruby编写它的最大好处是您可以使用所有Ruby来完成所需的任何事情。(使用Ruby 传播有关Homebrew或Vagrant或Puppet 等的 FUD的人要么笨拙,要么不诚实,因为在任何情况下,您都可以编写与.INI文件一样复杂的内容,但您不仅限于此。)底线:不要被吓倒。您不需要Ruby经验。
iconoclast

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.