問題タブ [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(1) が、RPM の「spec」ファイルの「Source:」タグで指定された圧縮 tar(1) ファイルを無視するのはなぜですか?
ファイルldm.spec
には次の行が含まれています
その最初のセクションで。%{name} と %{version} が正しく設定されています。指定されたファイルは存在します。
コマンドrpmbuild --nobuild ldm.spec
はエラーで終了し、メッセージが表示されます
これを機能させるために何をしなければなりませんか?
追加情報:
unix - automake、libtool、および rpmbuild を連携させる方法
automake
と を使用してビルドされたパッケージの RPM を作成しようとしていますlibtool
が、問題が発生しました。rpmbuild
パッケージのインストール済みプログラムに、パッケージの共有可能なライブラリのインストール ディレクトリのパス名が含まれていることを発見すると、中止されます (ののオプションautomake
の使用)。-rpath
ld
rpmbuild
パッケージが再配置可能であることを保証するためにこれを行うことを理解しています。私の質問は、それについて何をすべきかです。共有可能なライブラリの使用を排除する (そしてその利点を失う) かautomake
、共有可能なライブラリをインストールしないように指示し (オプションの使用を停止し-rpath
ます)、とにかくそれらをインストールすることができます。この後者のオプションの代償は、ユーザーが常に正しく設定された環境変数を持っている必要があることです。LD_LIBRARY_PATH
別のオプションはありますか?
あなたならどうしますか?
packaging - RPM 仕様での同じファイルの複数のリストに関する問題
同じファイルを複数回リストしている rpm 仕様ファイルに問題があります。この仕様では、通常のコンパイルを実行してから、すべてをビルドルートにコピーするスクリプトを作成します。このビルドルート内には、最終システムにインストールする必要がある汎用スクリプトが多数あるため、このディレクトリをリストするだけです。
ただし、問題は、スクリプトの 1 つが変更され、スクリプト内で構成オプションが変更される可能性があることです。そのため、このスクリプトをさまざまな属性とともに としてリストします%config
。ただし、これはスクリプトが競合する属性で複数回定義されていることを意味するため、rpmbuild はエラーを出し、インストール パッケージにスクリプトをまったく含めません。
この問題を処理し、rpmbuild に 2 番目の定義のみを使用するように指示する良い方法はありますか? それとも、スクリプトを 2 つの部分 (1 つは構成を含み、もう 1 つは実際のロジックを含む) に分ける必要がありますか?
linux - RPMスペックファイルに追加のREADME%docファイルを作成するにはどうすればよいですか?
スペックファイルを作成する場合、そのテキストファイルが元のソースの一部ではない場合に、RPMによってインストールされる追加のテキストドキュメントファイルを作成するための適切な手順は何ですか?
たとえば、現在の%doc行に、ソースにある次のファイルが含まれている場合:
スペックファイルで、同じdocsディレクトリ(パッケージ固有の構成手順が含まれている)に書き込まれるREADME_FOOを作成したいのですが、それを行う適切な方法は何ですか?
スペックファイルの%installセクションに次のテキストファイルを作成できることを知っています。
しかし、$ RPM_BUILD_ROOTの後に使用する正しいパス、または既存の%doc行または新しいファイルで新しいファイルを参照する方法がわかりません。
前もって感謝します。
linux - SPEC ファイルは 2 つの RPM をビルドしますが、依存関係により -Uvh アップグレードが不可能になります
私は仕様ファイル (foo.spec) に取り組んでいます。このファイルをビルドすると、foo-1-1.i386.rpm (メイン プログラム) とlibfoo-1-1.i386.rpm (必要なライブラリ ファイル)。foo.spec ファイルには、foo には同じバージョンとリリース レベルの libfoo が必要であると記載されています。
foo-1-1 は次のようにインストールするとうまくいきます:
依存ライブラリをインストールし、次に:
ただし、新しいバージョン (foo-2-1) へのアップグレードは、ライブラリに依存しているため機能しません。
だから私は立ち往生しています。私は、ユーザーが rpm -Uvh を実行して foo パッケージをアップグレードできるようにしたいと考えています (依存関係を無視することをユーザーに要求するなどは、初心者ユーザーに多くのことを要求しています)。
新しいリリースが利用可能になったときに rpm -Uvh を使用してパッケージのすべての部分をアップグレードできるように、これを回避する方法についてのアイデアはありますか?
前もって感謝します。
linux - 結果の RPM に OS とアーキテクチャが含まれるようにするには、spec ファイルのどこに OS を追加すればよいですか?
いくつかの異なる VM (CentOS5 32 & 64、CentOS6 32 & 64、Fedora など) でパッケージをビルドしています。結果の RPM ファイルには、次のように name.version.release.arch.rpm が含まれます。
しかし、代わりに、次のように出力したい:
どこ(仕様ファイル? .rpmmacros?) で、どのように行うのですか?
前もって感謝します。
rpmbuild - rpmbuild の失敗: エラー: インストールされた (パッケージ化されていない) ファイルが見つかりました:
これが質問を投稿するのに適切な場所かどうかはわかりません。自分のプロジェクト用に rpm を作成しようとしていますが、仕様ファイルを作成するのはこれが初めてです。コマンドでファイルの仕様を構築しているとき
rpmbuild -ba name.spec
仕様ファイルへのリンク ( http://pastie.org/2426321 ) を見つけてください。これに関するヘルプは大歓迎です。前もって感謝します。
linux - インストールセクションでRPMビルドが失敗する
最初のrpmパッケージをビルドしようとしています。これは1つの単純な実行可能ファイル(mysh)です。
私のスペックファイル:
次のエラーで失敗します。
もちろん、このファイルはそこには存在しません。私はそれをそこにコピーしようとしましたが、それでも同じエラーがあります。インストールセクションでBUILDROOTフォルダーに何かを配置する必要があるかどうかわかりません。
私はUbuntu11.04を使用しています。