2009-06-25 76 views
1

我重新包装为一个基于Debian的系统下,私人使用的一些软件(它有自己的安装程序)时创建用户。该软件已编译(无源),所以我基本上运行安装程序到$DESTDIR树。Debian的:包装

不幸的是,安装程序需要一个系统的用户名和组名是以前创建的。现在,我知道在构建(和安装)Debian软件包之前,“手工”完成这件事很简单。但我想知道是否有可能指示debuild“伪造用户”(以root用户运行fakeroot时)。编辑debian/preinst.exdebian/postrm.ex文件适用于做这些操作,但是这也涉及构建阶段,其中这些用户成为构建之后不必要的。

因此,基本上这样可以让Debian构建工具(以及在构建中运行的工具)“相信”某个用户已经存在。缺少在chroot-ed环境(如pbuilder)中运行,我该怎么做?

+0

任何想法?... :-( – jbatista 2009-06-28 08:33:11

回答

2

有点晚了,但我最好的猜测将是一个LD_PRELOAD,这就需要建立编译成可覆盖例如一个动态库,一个单独的C-文件getpwnam()这可能是安装程序用来检查用户的。

但首先,我会确实看看是否不能将“安装程序”强制转换为解包模式。许多安装者可以使用隐藏选项。