我成功构建了一个 debian 包,没有任何错误。但是 pbuilder 和我的 ppa 上传不会将文件复制到 /opt/ 目录。我有以下树:
├── opt
│ └── myDir
│ └── myfile
└── DEBIAN
├── control
├── postinst
└── preinst and many more ....
我已经创建了模板dh_make
并编辑了postinst、版权、控制等。
我以为安装后/opt
会自动克隆到我的/opt
。当我使用构建我的包debuild -us -uc
并使用安装该包时,情况就是这样dpkg -i
,但不幸的是,当我检查 pbuilder 或我的 ppa 的输出时并没有发生这种情况。只创建了一个空的构建目录/opt/myDir
。如果需要,我愿意提供更多信息。任何指导都值得赞赏。
部分信息如下:
debian/control 文件
Source: myproj Section: utils Priority: optional Maintainer: My Name <myname...> Build-Depends: debhelper (>=9), sudo, qtbase5-dev, qtchooser, qt5-qmake, qtbase5-dev-tools, gksu, nmap, xterm, fontconfig Standards-Version: 3.9.6 Homepage: <mygit..> #Vcs-Git: git://anonscm.debian.org/collab-maint/myproject.git #Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/myproject.git Package: mypackage Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: descriptions
postinst
:是一个在目标中编译 Qt 项目的 bash 脚本/opt/myDir
- 我没有碰过
rules
文件。 copyright
是公认的。
debuild
给出了一些警告,但没有错误。请帮我解决 /opt 未被克隆到目标文件系统的原始问题。谢谢。
答案1
可能您正在使用自定义构建位置,因此 debian helper 无法自动找出文件在哪里。
DEBIAN
大写的 ?!!! 表示这是一个二进制 Debian 软件包,您确定这是预构建的二进制文件吗?否则将其重命名debian
或重新检查文档。如果您不想更改文件位置的构建规则。编写一个
debian/<packagename>.install
文件,将每个文件夹或文件(在构建树中)映射到正确的安装位置。例如,如果您想在安装后复制到source-package/opt
,/opt
则此文件的内容应该是opt/* opt
参考:Debian 维护者指南