問題タブ [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.
rpm - Rpmbuild - 作成された .rpm の設定名
作成中に固定ファイル名を設定する最も簡単な方法を見つけようとしていますrpm
。.spec ファイルのどこかに、またはrpmbuild
パラメーターとして設定できますか? デフォルト名は、バージョンとリリース番号によって異なります。私のrpmの名前は常に同じでなければなりません。
ありがとう
同期
linux - rpmbuild はサブディレクトリに RPM を生成します。
rpmbuild はどのディレクトリの下に RPM を生成しますか?
RPMSディレクトリを確認しました:-
上記のサブディレクトリのどの rpmbuild 出力を決定するか? スペックファイルで制御されていますか?デフォルトのオプションは何ですか?
と思いましたが、使われuname -p
ている可能性が高いわけではありませんuname -i
。
私の最後の質問にリンクされています「マシンハードウェア」と「ハードウェアプラットフォーム」の違い
redhat - rpmbuild の宛先フォルダーを設定する方法
rpmbuild (-bb および --buildroot オプション) は、使用している OS に応じて異なる場所に .rpm を作成することに気付きました。
- GNU/Linux Ubuntu <= 9.04: /usr/src/rpm/...
- GNU/Linux Ubuntu >= 9.10: /home/rpmbuild/...
- GNU/Linux Fedora: /usr/src/redhat/...
では、すべての OS の宛先フォルダーを手動で設定するにはどうすればよいですか?
linux - rpmbuild の仕組みを理解する
RPM ロジックは、私が既に知っているものとはかなり異なっているようで、「RPM ロジック」の理解に問題があります。私の仕事では、「Red Hat 5 で RPM パッケージを作成する方法」に関するドキュメントを作成する必要があります。
私は Debian とその派生物 (Ubuntu など) に慣れているため、Debian パッケージ(aka..deb
ファイル) にも慣れています。
root
私が読んだところによると、RPM パッケージを作成する必要があるようです。パッケージをインストールするために必要な理由は理解root
できますが、パッケージを作成するためだけに昇格された特権が必要な理由はまだわかりません。
ユーザーとして RPM パッケージを作成しようとすると、 にファイルを書き込む権限がないため、変更buildroot
が失敗します。十分ですが...なぜこのステップで私のファイルをコピーしたいのですか?! インストールではなく、パッケージを作成したいだけです!%install
/usr/bin
/usr/bin
私はここで何かが欠けていると確信しています。どのように機能し、その理由について、少なくとも基本的な理解を私に与えることができる人はいますrpmbuild
か?
linux - RPM パッケージの開発バージョンと通常バージョンの両方をビルドする
2 つの RPM パッケージを作成したいライブラリがあります。
基本的な RPM パッケージの作成方法に関するリンクはいくつか見つかりましたが、パッケージの作成方法が見つかりません(パッケージとは何か疑問がある場合は、この質問devel
を参照してください)。devel
devel
RPM パッケージのとnon-devel
バージョンの両方を生成するにはどうすればよいですか?
ありがとう。
svn - rpmbuild は buildroot のファイルを無視できますか?
svn にチェックインされているターゲット ディレクトリがあります。rpmbuild を実行するとき、ターゲットを --buildroot として使用します。これにより、各ディレクトリに .svn ディレクトリがあるため、rpmbuild が気を失います。rpmbuild にリラックスするように指示する方法はありますか?
svn export target target-build を見ましたが、rpm で追跡されたファイルしか認識していません。おそらくそれを行うのは悪い方法ではありませんが、それが最善の方法であるかどうかはわかりません。
build-process - 呼び出しごとにrpmbuildのビルド領域を設定する方法
自動ビルドを変更していますが、呼び出すときに特定のビルド領域rpmbuild
を使用するように指示したいと思います。
これは既存の質問に似ていますが、より具体的です。
rootユーザーとしてビルドコマンドを実行したくありません。目的はRPMを持つことだけであり、システムに何もインストールすることではありません。
ユーザーにドットファイルの変更を要求したくありません(例
$HOME/.rpmrc
)。ビルドは自己完結型であり、ユーザーの既存の設定に影響を与えないようにする必要があります。foo.spec
場所をファイルにハードコーディングしたくありません。ユーザーが別の場所にビルドする場合は、そのファイルをそのまま使用できる必要があります。--buildroot
オプションは私が必要とするものではありません。これにより、ビルドプロセスの一部に疑似ルートファイルシステムが設定されますが、 RPMビルドプロセス全体make
の「ビルド領域」を指定する必要があります。
私が探しているのは、コマンドに指定できる架空の--build-area FOODIR
オプションrpmbuild
、または同等の環境変数です。したがって、コマンドの1回の呼び出しにのみ影響し、ビルド領域に指定されたユーザー書き込み可能な場所を使用するようになります。
私が_topdir
話しているように見えるマクロへの参照を見てきましたが、呼び出しごとに構成可能ではないようです。
rpmbuild
必要なときにその場所に独自の環境を設定できれば理想的ですが、ビルドの一部として自動化できるため、ビルドごとにディレクトリを設定してもかまいません。目標は、ユーザーが書き込み可能な場所をビルド実行中のみ存在させ、RPMファイルが生成されたらその場所全体を削除してクリーンアップすることです。
linux - インストール中にユーザー入力を取得する方法
そのため、debian パッケージを作成すると、問題なく動作するインストール後のシェル スクリプトを作成できます。現在、私のものは行うように構成されています
これは Ubuntu では問題なく動作します。しかし、Fedora の RPM を操作するためのユーザー入力を取得できないようです。ユーザー入力を取得する良い方法はありますか? 私の理解では、RPM はインタラクティブなインストールを許可しないように設計されています。しかし、私はこれを行うためのより良い方法を見ることができません..
ユーザーに尋ねることなく、ローカルの MySQL 設定を自動的に見つける方法はありますか? それ以外の場合、ユーザー入力を求める最善の方法は何ですか?
rpm - rpmがインストールされていると、adduserとgroupaddの呼び出しが機能しないのはなぜですか?
次の「Pre」セクションをrpmインストーラーのbuild.specに追加しました。rpmをインストールしても、新しいグループやユーザーは作成されませんか?
これをスクリプトに貼り付けて実行すると、期待どおりに機能します。私は何が欠けていますか?
前もって感謝します、
-エド
RHEL 5.2
rpm - 新しい rpm のインストール中に rpm をアンインストールする方法
rpm ベースのシステムの場合、新しいパッケージをインストールする際に、パッケージを別のパッケージに変更する必要があります。たとえば、package2.rpm をインストールすると、package1.rpm がアンインストールされ、インストールが少し続行されます。このため、package2 のインストール中に package1 を消去し、package2.rpm の %pre セクションで rpm -e を呼び出す予定です。しかし、rpm が動作した直後に rpm データベースをロックするのか、それともインストールの進行が始まる直前に rpm データベースをロックするのかはわかりません。悲しいことに、これは今のところ概念上の問題であるため、すぐに試すための Linux システムがありません。%pre セクションで rpm -e を使用できますか? または、パッケージを rpm パッケージとして配布する必要があるため、単一の rpm パッケージでこれを行う方法はありますか。