問題タブ [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.
rpm - シェルコマンドを実行するだけの更新rpmを作成する方法は?
rsv-1.0 という rpm をビルドします。rsv-1.0.rpm をインストールすると、自動的に rsv.cfg ファイルが /etc にインストールされます。
パッケージには、ファイル etc/rsc.cfg が 1 つだけ含まれています。
更新された rpm 用にファイル rsv.cfg を変更したい場合は、rsv-2.0.rpm とします。
次に、空のディレクトリを作成し、これを新しいSPECファイルに含めてrsv-2.0.tar.gzにテアしました
シェルコマンドとして
しかし、rpm -ivh rsv-2.0.rpmを使用した場合にのみ機能することがわかりました
rpm -Uvh rsv-2.0.rpm を使用すると、/etc/rsv.cfg 内のファイルが消えます。
だから私の質問は、シェルコマンドを実行するだけの更新rpmを作成する方法ですか?
v2 の仕様ファイルを更新する
v1.0 のスペック ファイルは、%config と #cp のコメントを外すだけです。
build-process - rpm 5.1.6 で rrpmrc ファイル機能を置き換える方法
私のプロジェクトでは、rpmbuild 設定に --rcfile オプションを使用しています...ただし、新しい rpm バージョン (5.1.6) では、このオプションは使用できません ... どうすれば rpmrc ファイルを新しいバージョンに置き換えることができますか? ?
dependencies - RPM 仕様で openjdk6 または openjdk7 のいずれかを要求する
現在、openjdk-6 を要件としてマークしている RPM を構築しています。openjdk-7 のサポートも追加したいと考えています。しかし、仕様ファイルを変更して openjdk6 または openjdk7 を要件として探す方法がわかりません。仮想パッケージの概念について読み、それを使用しようとしています。追加しています
私の仕様では; %pre セクションで 6 または 7 をチェックします。しかし、ビルドされた RPM パッケージは libjvm.so を認識しません。
rpm -q --provides java-1.6.0-openjdk を試してみましたが、一覧表示されます
仮想パッケージの依存関係を間違っていますか? またはJDK6/7を依存関係として言及する、よりクリーンで明白な方法はありますか?
rpmbuild - rpm 4.7.2 と 4.9.1 の間で %defattr の動作が変わりますか?
%defattr
仕様ファイルで複数回使用することは許可されていますか? Ubuntu 10 (rpm バージョン 4.7.1) では、次の定義により、777 のアクセス許可が/var/log/testdir2に適用されます。
Ubuntu 12.04.1 (x86_64RPM バージョン 4.9.1.1) にアップグレードした後、同じスペック ファイルを使用して rpm を再生成し、同じターゲット マシンにデプロイすると、/var/log/testdir2のアクセス許可が 755 になりました。スペック ファイルを次のように変更する必要があります。必要な権限を取得するには、上記の/var/log/testdir3のように定義%attr
します。
spec ファイルには、%defattr
定義があり、その後にそれらの権限を持つファイルのセットが続き、別の%defattr
定義の後にそれらの権限を持つファイルのセットが続きます。それは許されませんか?または、アクセス許可に関してディレクトリとファイルの処理方法に違いはありますか?
linux - %config(noreplace) ファイルでの予期しない RPM の競合
を使用して独自のRPMrpmbuild
を作成しています。
私の RPM には、たとえ RPM にこれらの構成ファイルの新しいバージョンが含まれていたとしても、上書きされるべきではない構成ファイルが含まれています。
これをアーカイブするために、これらにタグを付けました
スペックファイルで。
ドキュメントとこのサイトによると、この場合、ローカルで変更されたファイルが上書きされることはありません。これはまさに私が望んでいることです。
ただし、次の操作を行う場合:
- RPM のバージョン 1 をインストールする
- 構成ファイルの変更
etc/myconfig
- RPM のバージョン 2 でパッケージを更新します。
競合が発生しています:
質問:
- この対立はどのように説明できますか?
myconfig.rpmnew
(構成ファイルの新しいバージョンはそのまま保存され、既存のものは変更されないことを期待しています) - 私が間違っていることは何ですか?
UPDATE(追加情報)
の出力rpm -qcp dist/mypackage-1.0.1-1.x86_64.rpm
は次のとおりです。
完全な%files
セクション: