2009-06-25 7 views
1

Debianベースのシステムで私的使用のためにいくつかのソフトウェア(独自のインストーラを持っています)を再パッケージしています。そのソフトウェアは既にコンパイルされています(ソースはありません)ので、基本的にインストーラを$DESTDIRツリーに実行します。Debian:パッケージ化中にユーザを作成する

残念ながら、インストーラーではシステムのユーザー名とグループ名が事前に作成されている必要があります。さて、私は、Debianパッケージをビルド(およびインストール)する前に、 "手作業で"それを行うのは簡単なことです。しかし、私はdebuildに "ユーザの作成を偽造"するよう指示することが可能かどうか疑問に思っています(fakerootでrootとして実行中)。 debian/preinst.exdebian/postrm.exファイルを編集すると、これらの操作を行うことができますが、ビルドにも関係します。このステージでは、ビルド後に不要になります。

これは基本的に、Debianビルドツール(およびビルド内で実行されるツール)が特定のユーザがすでに存在していると「信じる」ためのものです。 chroot-ed環境(pbuilderなど)での実行が不十分ですが、どうすればいいですか?

+0

どのようなアイデアですか?... :-( – jbatista

答えて

2

少し遅れますが、私の推測ではLD_PRELOADになります。ダイナミックライブラリにコンパイルされた別のCファイルをビルドする必要があります。 getpwnam()これはおそらく、インストーラがユーザーを確認するために使用するものです。

しかし、まず、本当に "インストーラ"がアンパックモードに強制できないかどうかを確認してください。隠されたオプションを使用して、多くのインストーラができます。

関連する問題