web-dev-qa-db-ja.com

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

2
Łukasz Zaroda

ほとんどのパッケージは、インストール時に役立つことを望んでいるため、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-configbase-develにあるので、気にする必要はありません。

  • Perlbaseの一部です。

  • flexbase-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
1
grochmal