web-dev-qa-db-ja.com

PKGBUILDとは正確には何ですか?パッケージをインストールするときに編集する必要がありますか?

Manjaro Linuxシステムでyaourt -Syuaを使用すると、いつでも

Edit PKGBUILD ? [Y/n] ("A" to abort)

そして時折

Edit chromium-pepper-flash.install ? [Y/n] ("A" to abort)

どこかで、これらのファイルを編集することを否定しました。

ウィキ: https://wiki.archlinux.org/index.php/PKGBUILD

PKGBUILDはインストール時に変更するスイッチのほんの一部であるため、デフォルトのままにしても問題ありませんか?

.installファイルに関する情報が見つかりません。何ですか。

6
ahtmatrix

リンクされている のWikiページをよく読んでみませんか?

Arch LinuxのパッケージはmakepkgユーティリティとPKGBUILDに保存された情報を使用してビルドされます。 makepkgが実行されると、it 現在のディレクトリでPKGBUILDを検索し、その中の指示に従いますいずれかのコンパイルまたは、ファイルを取得してパッケージファイルをビルドします

したがって、PKGBUILDは、パッケージを作成するための「レシピ」です(RPMspecと同様、gentooebuildなど)。パッケージがインストール/削除/アップグレードされると、パッケージファイルがディスクに書き込まれる/ディスクから削除される前/後に、いくつかのスクリプト/プログラムを自動的に実行する必要がある場合があるため、追加の "レシピ"が必要です。つまり、.install(同じリンクからの抜粋):

インストール

パッケージに含まれる。installスクリプトの名前。 pacmanは、パッケージをインストール、削除、またはアップグレードするときに、パッケージ固有のスクリプトを保存して実行する機能を備えています。 スクリプトには、さまざまなタイミングで実行される次の関数が含まれています

pre_install - The script is run right before files are extracted. One argument is passed: new package version.
post_install - The script is run right after files are extracted. One argument is passed: new package version.
pre_upgrade - The script is run right before files are extracted. Two arguments are passed in the following order: new package version, old package version.
post_upgrade - The script is run after files are extracted. Two arguments are passed in the following order: new package version, old package version.
pre_remove - The script is run right before files are removed. One argument is passed: old package version.
post_remove - The script is run right after files are removed. One argument is passed: old package version.

通常、PKGBUILDを編集して、パッケージのビルド方法をカスタマイズします(例:--configureオプションの追加/削除、インストールプレフィックスの変更、ソースコードへのパッチ適用、パッケージからのファイルの除外など)。同様に、.installを編集して、パッケージのインストール/アップグレード/削除の前後に自動的に実行されるコマンドを追加または削除します。
すべてが問題ないことを確認するために、プロンプトが表示されたらこれらのファイルを開き、その内容を読むことをお勧めします。

9
don_crissti

[〜#〜] aur [〜#〜] からのみ利用可能なパッケージをインストールする場合、 yaourt は目的のパッケージのPKGBUILD(そしておそらく他のいくつかのファイル)とPKGBUILD( makepkg プログラム)でパッケージをビルドしてインストールできるようにします。

必要な場合はPKGBUILDを編集できますが、ほとんどの場合それは不要だと思います。この質問が不要な場合は(そして常にYESと答える場合)、次のようにできます。次の行を/etc/yaourtrcに配置します。

EDITFILES=0

AURのパッケージを使用していますが、PKGBUILDを編集する必要はありません。

Edit:これはPKGBUILDの編集に関する質問のみを防ぎます。 AURからサポートされていないパッケージのインストールが中断する可能性があり、パッケージのビルドとインストールの前にPKGBUILDを確認できます。

2
uzsolt