【问题标题】:Creating multiple packages with dpkg-buildpackage使用 dpkg-buildpackage 创建多个包
【发布时间】:2014-07-10 07:20:11
【问题描述】:

我有一个源树结构,例如 -

/src 
   /moduleA
   /moduleB
   /common

其中 moduleA 和 moduleB 需要单独打包,但共享公共代码。

是否可以使用 dpkg-buildpackage 创建 2 个单独的二进制包?

谢谢!

【问题讨论】:

    标签: package debian deb dpkg


    【解决方案1】:

    这是可能的。为此,您应该修改控制文件。 当你使用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 哪些文件应该放在 yourpackage 包中,以及放在哪里。它必须采用以下格式(每行一个):

    moduleA/foo usr/bin
    

    (假设您的 makefile 在 src/ 中。它可以是 usr/bin 以外的其他东西)。 yourpackagebis.dirs 和 yourpackagebis.install 对于 yourpackagebis 包的工作方式相同。

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多