問題タブ [pbuilder]
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.
debian - 依存関係を格納するpbuilder
限られた数のパッケージのみをビルドしており、すべてのビルドに同じ依存関係が設定されています。残念ながら、pbuilderは、たとえば、準備されたイメージを保存して毎回再利用するのではなく、再構築ごとに依存関係をインストールしようとします。
そのような機能を有効にする方法はありますか?後続のビルド間で変更されなかった場合、ビルドの依存関係をインストールする長いステップを何とかスキップできますか?
java - Javaでdebian用のパッケージを作成しようとしています
に正確に依存しsun-java6-jre
(この場合、他のバリアントは機能しません)、ビルド依存のパッケージを作成しようとしていますsun-java6-jdk
。残念ながら、pbuilder は次のようには動作しません。
openjdk-6-jre
依存関係としてインストールされます- 戻ります
pbuilder-satisfydepends-dummy: Depends: sun-java6-jdk which is a virtual package.
debian/control
これは仮想パッケージではなく、明示的にリストしているため、わかりません:
私はpbuilder
基本的なlennyで環境を使用しています。
debian - pbuilderでローカル依存関係を使用する
を使用して一連のパッケージを作成しようとしていますpbuilder
。これらのパッケージは相互に依存しているため、それを容易にするために、を使用して管理するローカルリポジトリがありますreprepro
。このローカルリポジトリには、(以前のビルドからの)すべての依存関係が含まれています。
ただし、依存パッケージを作成しようとすると、これらの依存関係が見つかりません。
を使用してログインするpbuilder --login
と、パッケージは。の後にのみ使用可能になりますapt-get update
。apt
使用時にpbuilderのchroot内のデータを自動的に更新する方法はありますpbuilder --build
か?
python - pBuilder環境内でPython統合テストを実行する
私はPythonプロジェクトからDebianパッケージを構築しましたが、これは多数のDebianパッケージが機能することに依存しています。Pythonプロジェクトには、ユニットテストと統合テストも含まれています(py.testを使用)。
私のプロジェクトはいくつかのDebianパッケージに依存しているので、これらのパッケージをテスト環境内にインストールする必要があり、モジュールがこれらのパッケージと一緒に正しく動作することを確認する必要があります(これらのライブラリの更新時にモジュールが壊れないようにしたい) )。
これらのテスト環境の構成と実行をMakefileに入れたいと思います。これらのテストは、開発者ワークステーションとJenkins搭載の統合サーバーの両方で実行可能である必要があります。
私のパッケージの完全な統合テストに対する私の現在のアプローチは次のとおりです。
- pBuilder環境を作成する
- Debian-controlfileからpBuilderenvに依存関係をインストールします
- このpBuilder環境内でpy.testを起動し、virtualenv / toxを使用してさまざまなPythonインタープリターバージョンをテストします
- テスト環境からテスト結果を収集します(py.testは、Jenkinsが簡単に公開できるJUnitのような優れたテスト出力を生成できます)
残念ながら、私はこのことを実現する方法、特に3)を実現する方法についてのヒントを見つけることができませんでした。私が見つけたすべてのドキュメントは、テストの実行ではなく、パッケージのビルドに関するものでした。
誰かが私にそのようなテストセットアップを構築する方法のヒントを教えてもらえますか?また、自分が目指していることをやるのが理にかなっているのか知りたいです。他の人は(Python)モジュールと他のDebianパッケージの統合をどのようにテストしますか?
cmake - pbuilder env debian/rules スクリプトから cmake の「make install」を使用するには?
これは、ubuntu ランチパッド ビルド ボットのリポジトリからソースがフェッチされる (メイン プログラムのソースと同様に) 静的ライブラリ (ビルド時の依存関係のみ) をコンパイルおよびリンクすることです。
現在私はやっています:
しかし、それは失敗します:
アイデアは、ランチパッド pbuilder env の ubuntu リポジトリにパッケージ化されていない静的ライブラリの依存関係をインストールすることです。これにより、既にシステムの依存関係であるかのように使用できます。
「sudo make install」(および debian/control の build-deps に sudo を追加) を実行しようとすると、ローカルでテストするときに「pbuilder」パスワードを要求されます。これにより、ubuntu でマシンがハングアップすると想定しています。ビルドボット。
編集:「ttyが存在せず、askpassプログラムが指定されていない」ため、ビルドボットで実際に失敗します。
debian - pdebuild で渡された環境変数をクリアする
pdebuild
古いバージョンの Ubuntu でパッケージをテストするために使用しています。ただし、環境変数GOROOT
が私の環境からビルドに漏れています。
を呼び出すときに、これ (およびその他の環境変数) をクリアするにはどうすればよいpdebuild
ですか?
ubuntu - インストールする pbuilder 環境で sudo
Python バインディングを含む PJSIP の Ubuntu 用の PPA を構築しようとしています。
バインディングをインストールするには、コマンド (make install で実行)
実行する必要があります。sudoがないと、ファイルの制限によりコマンドが失敗します。
ビルドの依存関係にsudoを追加しましたが、なぜかパスワード要求が開かれます。
助言がありますか?
ubuntu - pbuilder ビルド中: setup.py --install-layout=deb の実行が失敗します (/usr/lib/python2.7/dist-packages に書き込む権限がありません)
PJSIP 用の PPA を作成しようとしていますが、python-bindings を含めたいと考えています。
setup.py が呼び出されるように Makefile を変更しました。
ただし、pbuilder環境では、/usr/lib/python2.7/dist-packages/ に対する権限が不十分なために失敗します。
そして、sudoを使用できません(明らかに)...
提案?
shared-libraries - valac-0.18 以降を使用してランチパッドでパッケージをビルドするにはどうすればよいですか?
ランチパッドで valac-0.18 と libgranite1 を使用してパッケージをビルドするにはどうすればよいですか? valac-0.16 と libgranite0 しかありません。
「--aptconfdir /etc/apt」を使用してコンピューターのソースリストを追加することにより、pbuilder を使用して .deb パッケージを正常にビルドしました。
pbuilder-dist 正確な作成 --extrapackages valac-0.16 --extrapackages libgranite-dev --aptconfdir /etc/apt
(valac16(およびlibgranite0)しかないことは知っていますが、apconfdirを使用すると0.23(およびlibgranite1)になりました)
でランチパッドにアップロードしました
出力
ただし、ランチパッドは引き続き古いライブラリを検索します。
md5 - reprepro は、生成された pbuilder debian.tar.gz アーカイブ md5 について不平を言います
プライベート APT リポジトリを構成しました ( http://inodes.org/2009/09/14/building-a-private-ppa-on-ubuntu/などのインターネット上のリソースを使用)。私の C++ アプリケーションのソースを含むパッケージ。したがって、reprepro リポジトリは空です。
ビルドを開始するには、次のコマンドを使用します。
pbuilder
その後、ビルドが開始され、多くの出力が生成され、プロジェクトのソース コードがコンパイルされていることがわかります。すべて問題ありません。result/
フォルダーdebianパッケージなどでも見つけることができます...
しかし、ビルドは POST_BUILD_FAILED で失敗しました。これは、pbuilder がdouane-testing_0.8.1-apt1.debian.tar.gzファイルを変更したようで、md5 サムが次のように異なるためです。
2つのパッケージ(これらのmd5サムを持つ)を比較すると、コンテンツが厳密に同じであるため、なぜ失敗するのかわかりません(差分ツールを使用しましたが、違いはなく、新しいファイルまたは削除されたファイルはありません)。私が確認できる唯一のことは、pbuild からのアーカイブが、アップロードした元のアーカイブよりも 10 バイト大きいことです。
私の開発マシンでは、md5 97257ae2c5790b84ed7bb1b412f1d518のファイル:
私のサーバーでは、 md5 df78f88b97cadc10bc0a73bf86442838のファイル:
サーバーに pbuild バージョン 0.213 があります。
この動作の理由は何ですか?どうすれば修正できますか?
編集
行方不明に見えるGPGキーの問題が疑われ、ファイルが署名されていないため、md5sumが異なります。ビルドプロセス中に、次の行があります。
編集 2
.debian.tar.gz ファイルを手動で作成するコマンドを見つけようとしました。私が見つけた最高のものは次のとおりです。
同じ結果は得られませんがdpkg-source
、サーバーで同じコマンドを試しましたが(少なくとも同じサイズにする必要があります)、一致しません...
Debian と Ubuntu が同じ方法で圧縮していないということでしょうか?