Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 哈希在自制公式中的作用是什么?_Macos_Package_Homebrew_Libdc1394 - Fatal编程技术网

Macos 哈希在自制公式中的作用是什么?

Macos 哈希在自制公式中的作用是什么?,macos,package,homebrew,libdc1394,Macos,Package,Homebrew,Libdc1394,sha1哈希标记是出于安全目的,还是为了指定公式依赖关系?在下面的示例中(对于libdc1394),我可以在本地文件中将源url修改为我自己的补丁版本吗?或者,标签是否阻止我将此作为握手/安全功能 在文章中,它说“一个散列指定了一个带有一些附加信息的公式依赖关系”,所以我对散列的实际用途感到困惑 下面是/usr/local/Library/Formula/libdc1394.rb: require "formula" class Libdc1394 < Formula homepag

sha1哈希标记是出于安全目的,还是为了指定公式依赖关系?在下面的示例中(对于libdc1394),我可以在本地文件中将源url修改为我自己的补丁版本吗?或者,标签是否阻止我将此作为握手/安全功能

在文章中,它说“一个散列指定了一个带有一些附加信息的公式依赖关系”,所以我对散列的实际用途感到困惑

下面是
/usr/local/Library/Formula/libdc1394.rb

require "formula"

class Libdc1394 < Formula
  homepage "http://damien.douxchamps.net/ieee1394/libdc1394/"
  url "https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/2.2.2/libdc1394-2.2.2.tar.gz"
  sha1 "13958c3cd0709565b5e4a9012dcf2a9b710264e2"

  bottle do
    cellar :any
    sha1 "063e3babff63f462de1b7d053690ae3f0e250bcb" => :mavericks
    sha1 "52d23eb6514dfc5c9aa554bade7dac92deefec70" => :mountain_lion
    sha1 "9f703002e33433885f3f2cb9e4a4006585282a01" => :lion
  end

  depends_on "sdl"

  # fix issue due to bug in OSX Firewire stack
  # libdc1394 author comments here:
  # http://permalink.gmane.org/gmane.comp.multimedia.libdc1394.devel/517
  patch :DATA

  def install
    system "./configure", "--disable-dependency-tracking",
                          "--prefix=#{prefix}",
                          "--disable-examples",
                          "--disable-sdltest"
    system "make install"
  end
end

__END__
diff --git a/dc1394/macosx/capture.c b/dc1394/macosx/capture.c
index c7c71f2..8959535 100644
--- a/dc1394/macosx/capture.c
+++ b/dc1394/macosx/capture.c
@@ -150,7 +150,7 @@ callback (buffer_info * buffer, NuDCLRef dcl)

     for (i = 0; i < buffer->num_dcls; i++) {
         int packet_size = capture->frames[buffer->i].packet_size;
-        if ((buffer->pkts[i].status & 0x1F) != 0x11) {
+        if (buffer->pkts[i].status && (buffer->pkts[i].status & 0x1F) != 0x11) {
             dc1394_log_warning ("packet %d had error status %x",
                     i, buffer->pkts[i].status);
             corrupt = 1;
需要“公式”
类Libdc1394<公式
主页“http://damien.douxchamps.net/ieee1394/libdc1394/"
url“https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/2.2.2/libdc1394-2.2.2.tar.gz"
sha1“13958c3cd0709565b5e4a9012dcf2a9b710264e2”
瓶装水
酒窖:有吗
sha1“063E3BABF63F462DE1B7D053690AE3F0E250BCB=>:小牛队
sha1“52d23eb6514dfc5c9aa554bade7dac92deefec70=>:山狮
sha1“9F703002E3333885F3F2CB9E4A4006585282A01”=>:狮子座
结束
取决于“sdl”
#修复OSX Firewire堆栈中的错误导致的问题
#libdc1394作者评论如下:
# http://permalink.gmane.org/gmane.comp.multimedia.libdc1394.devel/517
补丁:数据
def安装
系统“/configure”、“--禁用依赖项跟踪”,
“--前缀=#{prefix}”,
“--禁用示例”,
“--禁用sdltest”
系统“进行安装”
结束
结束
__结束__
diff——git a/dc1394/macosx/capture.cb/dc1394/macosx/capture.c
索引c7c71f2..8959535 100644
---a/dc1394/macosx/capture.c
+++b/dc1394/macosx/capture.c
@@-150,7+150,7@@callback(buffer\u info*buffer,NuDCLRef dcl)
对于(i=0;inum\u dcls;i++){
int packet\u size=capture->frames[buffer->i]。packet\u size;
-if((缓冲区->pkts[i].状态&0x1F)!=0x11){
+if(buffer->pkts[i]。状态和(buffer->pkts[i]。状态和0x1F)!=0x11){
dc1394\u日志\u警告(“数据包%d的错误状态为%x”,
i、 buffer->pkts[i].状态);
腐败=1;

开源项目在发布软件时(尤其是以二进制形式)通常会指定MD5或SHA哈希值,这样用户就可以确保软件在下载过程中不会被破坏。我想自制只是为了验证哈希值是否匹配

请注意,您在食谱中引用的这句话是关于Ruby的哈希对象类型的,它与MD5/SHA哈希无关(实际上也与社交媒体上的哈希标记无关)——特别是作为
依赖于
方法的参数
是一个接受散列的函数,特别是一个带有字符串值的散列函数;在这种情况下,它意味着当作为依赖项安装公式时,Homebrew将在
boost
公式中特别调用选项


当然,您可以将所需软件的修补版本放入公式中,只要您根据自己的版本计算哈希值并在公式中指定,或者只需完全去掉
sha1
(或
md5
,等等)行。

这些是哈希值,而不是哈希标记。