我有一个源树结构,如 -
/src
/moduleA
/moduleB
/common
其中moduleA和moduleB需要单独打包,但共享公共代码。
是否可以使用dpkg-buildpackage创建2个单独的二进制包?
谢谢!
答案 0 :(得分:2)
有可能。为此,您应该修改控制文件。
当您使用dh_make -s
时,您会有以下内容:
Source: yourpackage
Section: unknown
Priority: optional
Maintainer: toto <toto@unknown>
Build-Depends: debhelper (>= 8.0.0), autotools-dev
Standards-Version: 3.9.4
Homepage: <insert the upstream URL, if relevant>
#Vcs-Git: git://git.debian.org/collab-maint/libsnow.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/libsnow.git;a=summary
Package: yourpackage
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
你所要做的就是添加一个这样的段落:
Package: yourpackagebis
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
(我应该警告你,你只能使用小写字符作为包名)。完成后,您必须指定哪个文件将放在哪里。您必须创建四个新文件:yourpackage.dirs,yourpackage.install,yourpackagebis.dirs和yourpackagebis.install。在yourpackage.dirs中,您必须指定需要创建的目录(每行一个)。在yourpackage.install中,你必须告诉dpkg-buildpackage应该把什么文件放在你的包中,以及放在哪里。它必须采用以下格式(每行一个):
moduleA/foo usr/bin
(假设你的makefile在src /中。它可能不是usr / bin)。 yourpackagebis.dirs和yourpackagebis.install的工作方式与yourpackagebis包相同。