問題タブ [rpm-spec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
centos - arch に基づいて /usr/lib xor /usr/lib64 にライブラリをインストールする rpm 仕様を作成するには?
私は centos の RPM 仕様に取り組んでいます。アーチが 64 ビットの場合は共有ライブラリを /usr/lib64 に、それ以外の場合は /usr/lib にインストールする必要がありますか?
makefile - Makefile:CLIまたはパッケージングシステムから使用可能なターゲットをインストールしますか?
私のMakefileのこの単純なインストールターゲットを考えると:
ルートmake install
として(または使用して)簡単に実行でき、美しくインストールされます。foo(非特権)ユーザーとして、呼び出すとエラーが返されます(-oオプションにはスーパーユーザーが必要です)。sudo
make install
これを変更して、両方を実行できるようにする必要がありsudo make install
ます。make install DESTDIR=/tmp/foo
または、これを.debまたは.rpmにパッケージ化して、Makefileからインストールターゲットを呼び出すだけでもかまいません。
私にとって最良の解決策は何でしょうか?cpへのインストール呼び出しを置き換えますか?-oを削除し、chown / chmodを配置しますか?
ありがとうございました。
rpm - rpmを使用してスペックファイル内のマクロを展開できますか?
具体的な例としては、Source0
:またはSource
マクロを含む他の行を含む多くのスペックファイルがあります。スペックファイルで実際にビルドを開始したり、独自のパーサーを作成したりせずに、これらのマクロを展開するにはどうすればよいですか?
rpm - RPM パッケージの i386 バージョンが必要です
これがここに属しているかどうかは定かではありませんが...
Centos 用の RPM を正常にビルドしています。問題は、それが 32 ビット バイナリであることです (聞かないでください..) - rpm 仕様の必要な部分は、必要なライブラリの 64 ビット/x86_64 バージョンのみをインストールします。
libicu に対してリンクしています。rpm で 32 ビット バージョンを依存関係として自動的にインストールする必要があります。私の rpmspec ファイルでは、私の require は次のようになります。
rpm のビルドは問題なく動作しますが、完全にクリーンなシステムに rpm をインストールしようとすると、yum がこれを依存関係としてインストールする必要があります。
ライブラリの x86_64 バージョンのみであるため、これは機能しません。libicu を手動でインストールしようとすると:
私は得る:
ライブラリの 32 ビット バージョンもインストールされ、アプリケーションが動作します。このライブラリの 32 ビット バージョンを自動的にインストールするように rpm を取得するにはどうすればよいですか? どんなアイデアでも大歓迎です...
maven-plugin - Maven RPM プラグインが指定されたスクリプトレットを生成しない
rpm-maven-plugin を使用して rpm パッケージを作成しようとしています。
%pre スクリプトレット (またはその他のスクリプトレット) を生成するまでは、すべてうまくいきます。
pom.xml の抜粋は次のとおりです。
... そして、生成された Spec ファイルは次のとおりです。
注: mappings タグは関連するマッピングを生成しますが、わかりやすくするためにここでは削除されています。いずれにせよ、sciptlets は生成されません。
入力はありますか?
皆さんありがとう
編集1:
Maven 2 と 3 の両方で構築 - 結果は同じです。
macros - 複数行の rpm スペック ファイル マクロを作成できる構文またはトリックはありますか
バックグラウンド。
複数のスクリプトレットでファイルのリストを処理する必要がある仕様ファイルに取り組んでいます。DRY (繰り返さないでください) では、さまざまなヘルパー スクリプトに展開されるマクロとしてリストを 1 回定義する必要があります。すべてのファイルを同じ行に配置しないようにする方法を見たことがないので、リストを維持するのは大変です。
エラーを与える
エラーも出ます
再帰エラーで失敗
linux - またはRPMの依存関係?
いくつかの依存関係がそれらから1つ選択する方法でリストされているRPMパッケージを作成できますか?私が尋ねている理由は、私のアプリにはスケーラブルなミンチョスタイルの日本語フォントが必要であり、RPMベースのLinuxのさまざまなフレーバーが、共通の分母なしでさまざまなフレーバーを提供しているように見えます。ディストリビューションごとに異なるRPMを作成したくありません。
python - Distutils、古い rpm、およびカスタマイズされたスペック ファイル
昨日、ようやくプログラムを Fedora 14 の RPM にパッケージ化しました。CentOS 4.8 ボックスでも同じようにビルドするのは簡単だと思いました。古いバージョンの rpm と distutils にはいくつかの制限があることがわかりました。
基本的な問題は、Python 2.7 の distutils が、スクリプトを指定できる「--post-install」というオプションをサポートしていることです。スクリプトが含まれており、yum または rpm でインストールすると実行されます。すべてが素晴らしいです。ただし、Python 2.3 には --post-install オプションがありません (実際には RPM では使用できません)。とにかく、.spec ファイルの "%install" セクションに追加するだけです。だから私はRPM構築プロセスを開始します
python setup.py bdist_rpm --spec-only
私の.specを作成します。それを編集して、スクリプトを .spec に貼り付けます。次に、ソースをビルドします
python setup.py bdist_rpm --source-only
ここから問題が発生し始めます。distutils は、次のサブディレクトリ ./build/bdist.linux-i686/rpm/ を作成します。その中にSPECS/netinfo.specというフォルダがあります(私のプログラムはnetinfoと呼ばれています)。ただし、作成したばかりのカスタム .spec は使用されません。生成された .spec を使用する必要があるため、これは奇妙です。デフォルトの .spec でビルドしようとすると、予想どおりスクリプトが RPM に含まれません。それをカスタム .spec で上書きしても、まだ機能しません。すべてのコマンドの .spec を再作成するようなものです。
bdist_rpm にはさまざまなコマンドがあり、次のコマンドで一覧表示できます。
使用する .spec ファイルを指定できるオプションを見つけることを期待していました。しかし、Python 2.3 と 2.7 にはオプションがありません。
distutils でカスタム .spec ファイルを使用するには、簡単な方法が必要です。これを指定する方法を知っている人はいますか?
ありがとう、
linux - CentOS5.5-RPMスペックファイルへのシンボリックリンクの作成
RPMファイルに次のシンボリックリンクを作成する必要があります
私のRPMスペックファイル:
/lib/libcrypto.so.0.9.8eと/lib/libssl.so.0.9.8eはPCに存在しますが、RPMをインストールしようとすると、エラーが発生します。
どうしたの?RPMインストールの一部としてシンボリックリンクを作成するために何をする必要がありますか?
ありがとう
linux - パッケージの rpm をビルドする
別の rpm をインストールする rpm を作成する方法、このための仕様ファイルを見つける方法を教えてください。または、そのような仕様ファイルを構築するためのチュートリアルを示してください。