問題タブ [rpm]

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 投票する
1 に答える
670 参照

deployment - rpm 形式での Web アプリケーションのパッケージ化/デプロイ

Web アプリケーションを rpm 形式でパッケージ化してデプロイすることは良い考えですか、それとも悪い考えですか。誰かがこれを実験しましたか。?

ありがとうございました

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

rpm - 空の本体でrpm仕様マクロを定義する方法は?

問題は非常に簡単に示されます。

patch_levelを取得したいのですが、echo_distがsles11またはsles11sp1を返す場合があります。sle1s11の場合、patch_levelを空の文字列にしたいだけですが、これにより空のボディエラーが発生します。

私はrpmスペックファイルを完全に理解していません、問題への提案はありますか?

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

rpm - 新しい rpm のインストール中に rpm をアンインストールする方法

rpm ベースのシステムの場合、新しいパッケージをインストールする際に、パッケージを別のパッケージに変更する必要があります。たとえば、package2.rpm をインストールすると、package1.rpm がアンインストールされ、インストールが少し続行されます。このため、package2 のインストール中に package1 を消去し、package2.rpm の %pre セクションで rpm -e を呼び出す予定です。しかし、rpm が動作した直後に rpm データベースをロックするのか、それともインストールの進行が始まる直前に rpm データベースをロックするのかはわかりません。悲しいことに、これは今のところ概念上の問題であるため、すぐに試すための Linux システムがありません。%pre セクションで rpm -e を使用できますか? または、パッケージを rpm パッケージとして配布する必要があるため、単一の rpm パッケージでこれを行う方法はありますか。

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

rpm - rpm仕様はuname-rを呼び出します

アプリをインストールするときに、にいくつかのファイルをコピーしたいと思います/lib/modules/KERNEL_VERSION/extra

もちろん問題はそれKERNEL_VERSIONが修正されていないということです。

を呼び出すことで見つけることができます"uname -r"が、rpmスペックファイルでこれを行うにはどうすればよいですか?

また、もっと良い方法があれば、私はアイデアを受け入れることができます。

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

linux - LSB に RPM ファイルの命名規則はありますか?

RPM は LSB のパッケージ形式ですが、LSB は次のように RPM の命名基準を強制します。

http://www.rpm.org/max-rpm/ch-rpm-file-format.html

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

redhat - 複雑な RPM セットの依存関係を自動的にテストする

約 150 個のカスタム RPM のソフトウェア スイートがあり、それらの間にかなり複雑な依存関係があります。

  • 各パッケージの依存関係のツリーは通常、約 5 レベルの深さです
  • (意図的に) 互いに競合するパッケージがいくつかあります
  • ほとんどのパッケージは、1 つ以上の Red Hat パッケージと他のカスタム パッケージに依存しています。

私の継続的インテグレーション マシンは、すべてのパッケージをビルドし、それらから yum リポジトリを作成してから、yum リポジトリの ISO をスピンします。これが私のソフトウェアの配布方法です。

私の問題: CI マシンに、ISO 内のすべてのパッケージについて、すべての依存関係が ISO 内の他のカスタム パッケージまたは Red Hat パッケージによって満たされていることを確認してもらいたいです。これは、基盤となるソフトウェアのバグだけでなく、ソース管理で変更をリリース ブランチにプッシュするのを忘れた開発者もトラップすることを目的としています。

これが私がそれを解決したい方法です(より良い方法があると皆さんに教えてください!):各パッケージに対して、次のコマンドでクリーンな仮想マシンを作成します:

  • RHEL または CentOS の基本インストール
  • RHEL ミラーと自分の ISO を指すパッケージ リポジトリ (ループ デバイス経由でマウント)

...そして、仮想マシンで「yum install xxx」を呼び出します。

問題は、これには時間がかかりすぎることです。各パッケージのインストールを実行すると、仮想マシンの状態が変更されます。各 RPM は実際には「クリーンな」OS でテストする必要があり、再作成にはパッケージごとに最大10 分かかります。VM を変更したり、毎回 VM を最初から再作成したりせずに、パッケージのインストールをテストできますか? 「rpm -i --test」と同様の方法で「--test」コマンドライン引数が yum にあることを期待していましたが、表示されません。依存関係を自動的にダウンロードしないため、「rpm」を直接使用することはできません。

質問:

  • 「シミュレート」モードで yum を実行する方法を知っている人はいますか?
  • 私の問題を解決するより良い方法はありますか?

ここでは Fedora ではなく RHEL (yum 3.2.22) を使用していますが、おそらく EPEL を使用しても問題ありません。

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

php - RPM PHP および PEAR パッケージ

最新の PHP (5.3.3) のカスタム ビルドを一連の pear パッケージでパッケージ化しようとしています。残念ながら、これを行うために与えられたオプションは機能していないようです。仕様ファイルを掲載しています。指定されたバージョンは実際には失敗しませんが、PEAR パッケージを間違った場所にインストールします。/var/tmp/my_php-5.3.3-1-buildroot/usr/local/lib/php に移動する必要がありますが、最終的には /var/tmp/my_php-5.3.3-1-buildroot/var/ になります。 tmp/my_php-5.3.3-1-buildroot/usr/local/lib/php.

また、pear コマンドが渡した include_path 設定 (PHP_PEAR_INSTALL_DIR 環境変数から派生) を完全に無視していたため、pearcmd.php スクリプトをハックしなければならなかった場所もわかります。これは完全に間違っている可能性がありますが、実際に何かをインストールする唯一の方法です。

この仕様の他の多くのバリエーションを試しましたが、それらはすべて独自の方法で「失敗」しているようです。参考までに、Pyrus も使用してみましたが、同様の問題がありました (非 PEAR2 パッケージの問題に加えて)。

助けてくれてありがとう!

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

cmake - CPACK_RPM_POST_INSTALL_SCRIPT_FILEの使用方法は?

問題を再現するためにCMake2.8.2を使用して試したセットアップは次のとおりです。

/test.sh:

/CMakeLists.txt:

それから:

結果:

CPackRPM:警告:CPACK_RPM_POST_INSTALL_SCRIPT_FILEが存在しません-無視します

ビルドシステムに私のファイルtest.shを認識させる方法は?

0 投票する
5 に答える
12419 参照

rpm - rpmを使用してスペックファイル内のマクロを展開できますか?

具体的な例としては、Source0:またはSourceマクロを含む他の行を含む多くのスペックファイルがあります。スペックファイルで実際にビルドを開始したり、独自のパーサーを作成したりせずに、これらのマクロを展開するにはどうすればよいですか?

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

java - Javaで実装されたrpmbuildツールと同等のもの?

Javaで書かれたrpmbuildの実装はありますか?

残念ながら、ビルドサーバーはWindowsで実行されていますが、特定のJavaベースのアプリケーションのビルドプロセスでは、RedHatLinuxサーバーにインストールできるようにするためのrpmを生成する必要があります。

ビルドサーバー(Hudson)は、msbuildを実行してさまざまなC#.NETソリューションプロジェクトをビルドするため、WindowsOSにとどまる必要があります。