首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arch Linux:找出构建依赖关系,以便将它们转换为AUR依赖关系。

Arch Linux:找出构建依赖关系,以便将它们转换为AUR依赖关系。
EN

Unix & Linux用户
提问于 2016-08-11 19:01:11
回答 1查看 1.8K关注 0票数 2

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

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

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

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-08-11 19:49:33

大多数包在安装它们时都希望有所帮助,这样它们就可以在READMEINSTALL文件中获得一些依赖信息。否则,请检查configure脚本--它是唯一的真正选项(注意:autoconf生成枚举依赖项的configure.log,其他几个配置脚本在结束时打印依赖项摘要,使打包程序更容易实现)。

对于当前的问题,自述是最有用的,它说:

代码语言:javascript
复制
Linux
- pcsclite 1.8.3 or above
- libusb 1.0.9 or above
- flex
- perl
- pkg-config

现在,让我们看看这个。AUR包可以假定安装了包的base组和base-devel组,这使得推理变得更容易。枚举我们看到的依赖项:

  • pkg-config:在base-devel,我们不需要关心它。
  • perl:是base的一部分,好吧。
  • flexbase-devel又来了。
  • libusb 1.0.9 or abovepcsclite 1.8.3 or above pacman -Ss libusb核心/libusb 1.0.20-1库,该库提供对USB pcsclite社区/pcsclite 1.8.16-1 PC/SC体系结构智能卡中间件库的通用访问

前滚发行版的优点在于,您可以假设用户拥有最新的包(如果他是一个正常的用户,他将在安装您的AUR包之前执行pacman -Syu )。因此,我们可以简单地(在PKGBUILD中)做:

代码语言:javascript
复制
depends=(libusb pcsclite)

额外注意:有时要找到READMEINSTALL谈论的包并不容易。在这种情况下,google-fu是必要的。然而,arch还有pkgfile,它是文件在哪个包中的数据库。

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

代码语言:javascript
复制
pacman -S pkgfile

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

代码语言:javascript
复制
pkgfile -l <package> | grep lib
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/302858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档