問題タブ [dpkg-buildpackage]
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.
deb - preinst にある deb パッケージのディレクトリを取得する方法
シェル スクリプトを preinst として実行する .deb パッケージを作成しています。
シェル スクリプトにはいくつかの入力ファイルが必要です。これらのファイルは、以下の .deb パッケージがある場所で利用できます。
すべてのファイルを任意の場所にある別のマシンに転送し、dpkg -i mydebpackage.deb でインストールします。
preinst で pwd を使用して、現在の deb ファイルにあるディレクトリを取得しようとしました。
したがって、preinst スクリプトから入力ファイルのパスを取得できます。
しかし、pwd
preinst から実行すると、パッケージにあるディレクトリの代わりに / が表示されます。
また、以下のように、これを達成するために PIPE から pwd を渡そうとしました。
しかし、パスのユーザー入力に依存したくありません。
preinst スクリプト内から現在の deb パッケージにあるディレクトリ パスを取得する方法を教えてください。
dpkg-buildpackage - conffile を .deb パッケージに追加できません
の設定ファイルを含む debian パッケージを作成しようとしていますが/etc
、うまくいきません。すべてのファイルに加えて、etc
ディレクトリとdebian
ディレクトリを含むソースディレクトリがあります。ディレクトリ内debian
に、他のファイル (ルール、コントロールなど) と一緒に、作成<pkgname>.conffiles
して配置しetc/sxfeeder.ini
ました。/
パスの先頭でも試してみましたが、パッケージ作成中に同じエラーが発生しました: dpkg-deb: error: conffile 'etc/sxfeeder.ini' does not appear in package
. を削除する<pkgname>.conffiles
と、パッケージは正常にビルドされます (バイナリのみ)。sxfeeder.ini
また、ソース ファイルと同じレベルのファイルを試してみました (etc
フォルダー インサイダー ソース レベルのインストール)。これを解決するために何をすべきかわかりません。このコマンドを使用してパッケージをビルドしています: fakeroot dpkg-buildpackage -b
(バイナリのみ)
dpkg-buildpackage - dpkg-buildpackage が一部のドキュメント コンテンツを圧縮する理由と、これを停止する方法は?
dpkg-buildpackageを使用して、アプリケーション用の debian および Ubuntu パッケージをビルドします。これは今のところ問題なく動作しますが、インストール先のファイル (*.json および *.md) の一部が、/usr/share/doc/
apt または dpkg によってターゲット マシンに最終的に *.gz としてインストールされるのはなぜでしょうか。
たとえば、サンプルの json ファイルをビルド スクリプト${PACKAGE_ROOT}/usr/share/doc/samba-exporter/grafana/SambaService.json
内にインストールします。debian/rules
しかし、パッケージが作成されると/usr/share/doc/samba-exporter/grafana/SambaService.json.gz
、パッケージ内に見つかります。また、ファイルはターゲット マシンにも圧縮バージョンとしてインストールされます。
フォルダー内の「より大きな」(5kB 以上の) ファイルでこの動作が見られ/usr/share/doc/*
ます。小さいものはそのまま取り付けます。
これはhttps://www.debian.org/doc/debian-policy/ch-docs.html#additional-documentationのせいでしょうか? そこでdebianチームはそれを伝えていますPlain text documentation should be compressed with gzip -9 unless it is small
理由はわかりますが、現代では 5kB や 20kB のファイルは小さいと考えています。
それで、なぜこれが起こるのか、そしてどうすればこの動作を上書きできるのか知っていますか?
助けてくれてありがとう。
イムカー
PS: ここでサンプル パッケージを調べてください: https://github.com/imker25/samba_exporter/releases/download/1.6.2-pre/samba-exporter_1.6.2-pre.ppa1.debian11_amd64.deb
makefile - バスターでのパッケージングの問題
ソースからいくつかのパッケージをビルドしようとしていますが、何度もグーグル検索してもわからない問題に直面しています。これは一部のパッケージで発生しますが、他のパッケージは正常にコンパイルおよびパックされます。パッケージ化に失敗するソフトウェアの 1 つに libva があります。
使うときは・・・
このエラーが発生します。
また、制御ファイルにアーキテクチャを設定しています。
ただし、実行すると;
正常にコンパイルされますが、fakeroot の下の同じフォルダーにインストールしようとすると、別の問題に直面します。
aria2 や intel-media などの他のパッケージをビルドしているときに、同様のエラーが発生します。
ストック gcc、glibc、および libtool を使用して、debian バスターでコンパイルします。
ヘルプや指針を提供できますか?