Arch Linux:找出构建依赖项,以便将它们转换为 AUR 依赖项

Arch Linux:找出构建依赖项,以便将它们转换为 AUR 依赖项

我正在使用 Arch Linux 并尝试创建一个 AUR 文件来下载驱动程序的源代码、编译并安装它。我想知道的是 - 如何检查编译成功所需的包(这样我就可以在 AUR 中声明这些依赖项)?我真的必须分析很长的configure文件还是有更好的方法?

编辑:或者也许我不应该将构建依赖项添加到 AUR 中的使用依赖项中?

编辑#2:我正在尝试为此创建 AUR:http://www.acs.com.hk/download-driver-unified/6258/ACS-Unified-Driver-Lnx-Mac-113-P.zip

答案1

大多数软件包都希望在安装时有所帮助,因此它们将在READMEINSTALL文件中包含一些依赖项信息。否则,是的,检查configure脚本是唯一真正的选择(注意:autoconf生成configure.log枚举依赖项,并且其他几个配置脚本在最后打印依赖项摘要,以使打包者更容易)。

对于手头的问题,自述文件是最有用的,它说:

Linux
- pcsclite 1.8.3 or above
- libusb 1.0.9 or above
- flex
- perl
- pkg-config

现在,让我们看一下。 AUR 包可以假设安装了basebase-devel组包,这使得事情更容易推理。枚举我们看到的依赖关系:

  • pkg-config: 中base-devel,我们不需要关心它。

  • perl: 是 的一部分base,很好。

  • flexbase-devel再次。

  • libusb 1.0.9 or abovepcsclite 1.8.3 or above

    pacman -Ss libusb
    core/libusb 1.0.20-1
        Library that provides generic access to USB devices
    
    pacman -Ss pcsclite
    community/pcsclite 1.8.16-1
        PC/SC Architecture smartcard middleware library
    

前滚发行版的美妙之处在于,您可以假设用户拥有最新的软件包(如果他是一个理智的用户,他会pacman -Syu在安装您的 AUR 软件包之前这样做)。因此我们可以简单地做(内部PKGBUILD):

depends=(libusb pcsclite)

README额外注意:有时找到a或INSTALL谈论的包并不那么容易。在这种情况下谷歌-fu是需要的。然而,arch 还具有pkgfile哪个数据库,其中哪些文件位于哪个包中。

为了查找要添加到 AUR 包的依赖项,我强烈建议安装pkgfile,即

pacman -S pkgfile

然后你可以查询可疑包的库,例如

pkgfile -l <package> | grep lib

相关内容