検索

3.6. Software Collection .pc ファイルのサポート

download PDF
.pc ファイルは、pkg-config プログラムが使用する特別なメタデータファイルで、システムで利用できるライブラリーに関する情報を保存します。
Software Collection 環境でのみ使用する .pc ファイル、またはシステムにインストールされている .pc ファイルも一緒に使用する場合は、PKG_CONFIG_PATH 環境変数を更新します。.pc ファイルで定義されている内容に応じて、%{_libdir} マクロの PKG_CONFIG_PATH 環境変数 (ライブラリーディレクトリー (通常は /usr/lib/ または /usr/lib64/) に拡張)、または %{_datadir} マクロ (通常は共有ディレクトリー /usr/share/ に拡張) を更新します。
ライブラリーディレクトリーが .pc ファイルに定義されている場合は、以下のように Software Collection の spec ファイルの %install セクションを調整して、PKG_CONFIG_PATH 環境変数を更新します。
%install
cat >> %{buildroot}%{_scl_scripts}/enable << EOF
export PKG_CONFIG_PATH="%{_libdir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}"
EOF
共有ディレクトリーが .pc ファイルに定義されている場合は、以下のように Software Collection の spec ファイルの %install セクションを調整して、PKG_CONFIG_PATH 環境変数を更新します。
%install
cat >> %{buildroot}%{_scl_scripts}/enable << EOF
export PKG_CONFIG_PATH="%{_datadir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}"
EOF
上記の 2 つの例は、Software Collection が有効な場合に、Software Collection の .pc ファイルがシステムで利用可能な .pc ファイルよりも優先されるように、enable スクリプトレットを設定します。
Software Collection は、たとえば /usr/bin ディレクトリーなど、Software Collection を有効にするためにシステムが認識できるラッパースクリプトを提供します。この場合は、Software Collection が無効であっても .pc ファイルがシステムに表示されていることを確認します。
無効になっている Software Collection からの .pc ファイルを使用できるようにするには、Software Collection に関連付けられた .pc ファイルへのパスで PKG_CONFIG_PATH 環境変数を更新します。.pc ファイルで定義されている内容に応じて、%{_libdir} マクロ (ライブラリーディレクトリーに拡張)、または%{_datadir} マクロ (共有ディレクトリーに拡張) の PKG_CONFIG_PATH 環境変数を更新します。

手順3.5 %{_libdir} の PKG_CONFIG_PATH 環境変数の更新

  1. %{_libdir} マクロの PKG_CONFIG_PATH 環境変数を更新するには、カスタムスクリプト /etc/profile.d/name.sh を作成します。このスクリプトは、システムでシェルが起動するとあらかじめ読み込みます。
    たとえば、以下のファイルを作成します。
    %{?scl_prefix}pc-libdir.sh
  2. PKG_CONFIG_PATH 変数を変更して .pc ファイルを参照するように短いスクリプト pc-libdir.sh を使用します。
    export PKG_CONFIG_PATH="%{_libdir}/pkgconfig:/opt/provider/software_collection/path/to/your/pc_files"
  3. このファイルを Software Collection パッケージの spec ファイルに追加します。
    SOURCE2: %{?scl_prefix}pc-libdir.sh
  4. Software Collection パッケージの spec ファイルの %install セクションを調整して、このファイルをシステムの /etc/profile.d/ ディレクトリーにインストールします。
    %install
    install -p -c -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/profile.d/

手順3.6 %{_datadir} の PKG_CONFIG_PATH 環境変数の更新

  1. %{_datadir} マクロの PKG_CONFIG_PATH 環境変数を更新するには、カスタムスクリプト /etc/profile.d/name.sh を作成します。このスクリプトは、システムでシェルが起動するとあらかじめ読み込みます。
    たとえば、以下のファイルを作成します。
    %{?scl_prefix}pc-datadir.sh
  2. PKG_CONFIG_PATH 変数を変更して .pc ファイルを参照するように短いスクリプト pc-datadir.sh を使用します。
    export PKG_CONFIG_PATH="%{_datadir}/pkgconfig:/opt/provider/software_collection/path/to/your/pc_files"
  3. このファイルを Software Collection パッケージの spec ファイルに追加します。
    SOURCE2: %{?scl_prefix}pc-datadir.sh
  4. Software Collection パッケージの spec ファイルの %install セクションを調整して、このファイルをシステムの /etc/profile.d/ ディレクトリーにインストールします。
    %install
    install -p -c -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/profile.d/
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.