我正在重新打包一些软件(它有自己的安装程序)供在基于Debian的系统下私人使用。该软件已经编译(没有源代码),因此我基本上将安装程序运行到$DESTDIR
树。
不幸的是,安装程序要求先前创建系统用户名和组名。现在,我知道在构建(和安装)Debian软件包之前“手动”完成它是一件简单的事情。但我想知道是否有可能指示debuild“伪造用户的创建”(当用fakeroot以root身份运行时)。编辑debian/preinst.ex
和debian/postrm.ex
文件可以用于执行这些操作,但这也涉及构建阶段,在构建之后这些用户变得不必要。
所以基本上这就是让Debian构建工具(以及在构建中运行的工具)“相信”某个用户已经存在。如果没有在chroot-ed环境(例如pbuilder)中运行,我该怎么做?
答案 0 :(得分:2)
有点晚了,但我最好的猜测是LD_PRELOAD
,这需要构建一个单独的C文件,编译成动态库,可以覆盖例如getpwnam()
可能是安装程序用来检查用户的内容。
但首先,我会真的看看“安装程序”是否无法强制进入解包模式。许多安装人员可以使用隐藏选项。