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
ほとんどのパッケージは、インストール時に役立つことを望んでいるため、README
またはINSTALL
ファイルに依存関係情報が含まれます。それ以外の場合は、configure
スクリプトをチェックすることが唯一のリアルオプションです(注:autoconf
は依存関係を列挙するconfigure.log
を生成し、他のいくつかの構成スクリプトは最後に依存関係の概要を出力して作成しますこれはパッケージャーにとってより簡単です)。
手元にある問題については、READMEが最も役立ちます、と書かれています。
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
の一部です。
flex
:base-devel
もう一度。
libusb 1.0.9 or above
およびpcsclite 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
ロールフォワード配布の利点は、ユーザーが最新のパッケージを持っていると想定できることです(彼が正気のユーザーである場合、AURパッケージをインストールする前にpacman -Syu
を実行します)。したがって、(PKGBUILD
内で)簡単に実行できます。
depends=(libusb pcsclite)
追記:README
またはINSTALL
が話しているパッケージを見つけるのは簡単ではない場合があります。この場合google-fが必要です。それでも、Archにはpkgfile
もあります。これは、どのファイルがどのパッケージに含まれているかのデータベースです。
AURパッケージに追加する依存関係を見つけるには、pkgfile
をインストールすることを強くお勧めします。
pacman -S pkgfile
次に、疑わしいパッケージにライブラリを照会できます。
pkgfile -l <package> | grep lib