A maioria dos pacotes deseja ser útil ao instalá-los para que eles tenham algumas informações de dependência no arquivo README ou INSTALL . Caso contrário, sim, verificando o script configure como a única opção real (Nota: autoconf produz configure.log que enumera dependências e vários outros scripts de configuração imprimem um resumo de dependência no final para tornar isso mais fácil para os empacotadores).
Para o problema em questão, o README é mais útil, diz:
Linux
- pcsclite 1.8.3 or above
- libusb 1.0.9 or above
- flex
- perl
- pkg-config
Agora, vamos dar uma olhada nisso. Um pacote do AUR pode assumir que base e base-devel grupos de pacotes estão instalados, o que facilita o raciocínio. Enumerando as dependências que vemos:
-
pkg-config: está embase-devel, não precisamos nos preocupar com isso. -
perl: faz parte debase, tudo bem. -
flex:base-develnovamente. -
libusb 1.0.9 or aboveepcsclite 1.8.3 or abovepacman -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
A beleza de uma distribuição contínua é que você pode assumir que o usuário possui os pacotes mais recentes (se ele for um usuário sensato, ele fará pacman -Syu antes de instalar seu pacote AUR). Portanto, podemos simplesmente fazer (dentro de PKGBUILD ):
depends=(libusb pcsclite)
Nota extra: às vezes, não é tão fácil encontrar o pacote do qual fala README ou INSTALL . Nesse caso, é necessário google-fu . No entanto, o arch também tem pkgfile , que é o banco de dados de quais arquivos estão em quais pacotes.
Para encontrar dependências a serem adicionadas aos pacotes do AUR, é altamente recomendável instalar o pkgfile , ou seja,
pacman -S pkgfile
E então você pode consultar pacotes suspeitos para bibliotecas, por exemplo
pkgfile -l <package> | grep lib