問題タブ [rpmbuild]

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.

0 投票する
2 に答える
2434 参照

repository - 現在のディレクトリからの RPM の作成

ローカル ソースから rpm を作成しようとしています。pdebuildローカルディレクトリをソースとしてコピーし、そのコピーを操作するだけで、コンパイルを行うことは可能ですか? 私が行うたびに、rpmbuild -ba ...アーカイブを解凍しようとしますがRPMBUILD/SOURCE、そのようにしたくありません。

基本的に、コードでリポジトリをチェックアウトしrpmbuild -ba application.spec、そのチェックアウトディレクトリで実行して、正しいことを実行できるようにしたいのですが...それは可能ですか?

0 投票する
7 に答える
72761 参照

linux - rpmパッケージからスペックファイルを抽出します

rpmパッケージからスペックファイルを抽出する方法はありますか(RPMファイルしかありません)

によってではない

(この構文は、rpmからのスクリプトのみをスペックファイルに取得しません)

0 投票する
2 に答える
4638 参照

bash - RPM 仕様ファイルで Bash 機能を使用できますか?

オープン ソース プロジェクトを検索すると、野生のスペック ファイルが bash 構造を使用していることがわかりますcat info|while read

しかし、それは本当に安全ですか?%buildrpm のドキュメントには、によって実行されているセクションを当てにできると書かれていBashますか?

0 投票する
1 に答える
2188 参照

rpm - RPM パッケージの作り方 (rpmbuild なし)

デブ:

回転数:

SOME_COMMAND と SOME_FILE として何を使用しますか?

0 投票する
2 に答える
1755 参照

rpm - coreutilsの後にAnacondaにパッケージを強制的にインストールさせるにはどうすればよいですか?

サブパッケージのセットを構築するカスタマイズされたRPMがあります。各サブパッケージのスペックファイルには、いくつかのシンボリックリンクを別のフォルダーにコピーするために使用される%postスクリプトがあります。

実行中のシステムにサブパッケージRPMの1つをインストールすると、正常に動作します。Anacondaを介して(キックスタートパッケージリストの一部として)インストールすると、RPMのインストール後のスクリプトが実行されないようです。

編集:結局のところ 、実際に実行されますが、次のようなエラーが発生します。

どうやら、Anacondaはcoreutilsを依存関係として指定しているにもかかわらず、coreutilsをインストールする前にRPMをインストールしようとしていますRequires:

だから、私の改訂された質問はタイトルです: coreutilsのにパッケージを強制的にインストールするにはどうすればよいですか?

0 投票する
3 に答える
13032 参照

relative-path - RPMを構築するときに、.specファイルの場所を基準にして_topdirをどのように作成しますか?

.specという変数に依存するファイルがあります_topdir

現在、gitからSRPMソースをチェックアウトするときは、を正しく機能_topdirさせるために、を指している場所を変更する必要があります。rpmbuild

ハードコーディングされないように、ファイル_topdirの場所に相対的である必要があることをどのように指定しますか?.spec_topdir

0 投票する
2 に答える
1143 参照

packaging - ソース tarball から rpm パッケージを作成する - ただし、tarball にはスペック ファイルは含まれず、インストール スクリプトのみが含まれます

システム管理者として、RedHat ベースのディストリビューションにインストールする rpm パッケージを提供せず、ソース tarball のみを提供するアプリケーションに遭遇しました。ソース tarball には、rpm パッケージの作成プロセスを簡素化するスペック ファイルが含まれていません。代わりに、ソース tarball は、アプリケーションをシステムにインストールするために root として実行する必要がある bash/ksh/ スクリプトのみを提供します。

基本的にインストール スクリプトを実行してインストール スクリプトを実行する rpm パッケージを作成しようとしました。また、root 以外のユーザーとしてパッケージの rpmbuild を試行し、スクリプトのインストール ディレクトリが rpm 環境/マクロを参照するようにインストール スクリプトをできる限り変更して、正しいことをしようとしました。しかし、数百行の長さの複雑なインストール スクリプトを使用すると、他のスクリプトも呼び出されます...まあ、私はこの努力に失敗する運命にありました。

このような .spec-less ソース tarball をパッケージ化するより良い方法はありますか? より良い解決策は次のとおりです。

  1. アプリケーションのインストール前に何らかの方法でシステムのスナップショットを取得する
  2. 提供されたインストール スクリプトを使用してソース tarball をインストールします
  3. インストール後にシステムのスナップショットを作成し、インストールによって行われた変更/追加を確認します
  4. 変更/追加のリストを仕様ファイルに入れて、この方法で rpm パッケージを作成しますか?

この問題に対する有用な/関連性のある/有益な/面白い/深遠な意見やアドバイスをいただければ幸いです。

前もって感謝します

0 投票する
2 に答える
39525 参照

linux - RPM ファイルの解凍と再パック

RPMファイルがあります。その RPM にいくつかの変更を加え、再パックしてテストする必要があります。誰でも私を助けることができますか?

0 投票する
2 に答える
1131 参照

linux - rpm をビルドし、_topdir をオーバーライドしますが、BuildRequires deps を取得しますか?

libfoo-develオーバーライドするトリックを使用して、作成できる rpm があります_topdirbarここで、BuildRequires ' " を持つパッケージ " " をビルドしたいと考えています。ビルド ホストにインストールせずlibfoo-develに のコンテンツにアクセスする正しい方法が見つからないようです。どのようにすればよいですか?libfoo-devel

編集:

私のビルドとターゲット ディストリビューションはどちらも SuSE です。

を必要としないソリューションを好みますmock。なぜなら、SuSE はそれをストック リポジトリに含めていないと思うからです。

その後の編集:

私が求める答えはbuildパッケージにあると信じています。おそらく、それは ? に対する SuSE の答えmockでしょうか? それとも、oBS サービスの分散バージョンですか?

説明

build は、SuSE Linux RPM を安全かつクリーンな方法でビルドするためのツールです。build は最小限の SuSE Linux をビルド システムとしてディレクトリにインストールし、このシステムに chroot してパッケージをコンパイルします。こうすることで、パッケージが BuildRoot を使用していない場合でも、動作中のシステムを破損する危険を回避できます (仕様ファイルの破損などによる)。

build は、spec ファイルで BuildRequires: 行を検索します。そのような行が見つかった場合、指定されたすべての rpm がインストールされます。それ以外の場合は、デフォルト パッケージの選択が使用されます。ビルドは不足している依存関係を自動的に解決しないため、指定された rpm はビルドに十分なものでなければならないことに注意してください。