chrootに* .debパッケージをビルドしようとしています。最初のパッケージであるbashをビルドしながら、難しさに遭遇しました。パッケージを構築するためにdebootstrapとchrootを使用します。
Debootstrapをインストールしました:sudo debootstrap stable /stable-chroothttp://deb.debian.org/debian/;
必要なパッケージをインストールします。apt -y install wget dpkg-dev devscripts dh-make locales;
ロケール設定を構成します。
/etc/apt/source.listの設定 - deb-srcの追加http://deb.debian.org/debianブルスアイメジャー
ビルドするソースコードをダウンロードする - apt source bash(またはDebian Webサイトでwgetを使用)
ビルド依存関係のインストール - apt build-dep bash
最後に、build -debuild -b(dpkg-buildpackageも試してください)
その結果、bashパッケージをビルドすると、次のエラーが発生します。
mkdir -p stamps:##327477を参照してください。 HAVE_DEV_STDINを定義する必要があります。 (test -d /dev/fd && test -r /dev/stdin < /dev/null)
|| (test -d /proc/self/fd && test - r /dev/stdin < /dev/null) make: *** [debian/rules:102: before-build] エラー 1 dpkg-buildpackage: エラー: debian/ rules build サブプロセスが終了状態 2 を返しました。
オンラインで見つけようとしましたが、成功しなかったため、このエラーの性質を自分で理解するのに十分な知識がありません。ビルド環境で何かを調整する必要があるのか、追加のパッケージが必要かを教えてください。
答え1
bashビルドには有効な/proc
andが必要/dev
なので、入力する前にchrootにバインドマウントする必要があります。
pbuilder
sbuild
これらすべての操作を手動で実行するよりも、スクリプトやスクリプトなどのツールを使用してこれらすべての操作を処理する方が簡単です。開始するには、インストールpbuilder
して実行します。
sudo pbuilder create
pdebuild
その後、代わりに実行してくださいdebuild
。