我正在尝试生成一个签debian 软件包用于部署到 Launchpad。我可以使用以下方法生成仅二进制版本:
dpkg-buildpackage -b -pgpg [email protected]
dpkg-buildpackage: source package netatmo-indicator
dpkg-buildpackage: source version 0.1-1
dpkg-buildpackage: source distribution xenial
dpkg-buildpackage: source changed by Mihai Galos <[email protected]>
dpkg-buildpackage: host architecture amd64
dpkg-source --before-build netatmo-indicator
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
dh_clean
debian/rules build
dh build
dh_testdir
dh_update_autotools_config
dh_auto_configure
dh_auto_build
dh_auto_test
fakeroot debian/rules binary
dh binary
dh_testroot
dh_prep
dh_auto_install
dh_install
dh_installdocs
dh_installchangelogs
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package netatmo-indicator: unknown substitution variable ${python:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: building package 'netatmo-indicator' in '../netatmo-indicator_0.1-1_all.deb'.
dpkg-genchanges -b >../netatmo-indicator_0.1-1_amd64.changes
dpkg-genchanges: binary-only upload (no source code included)
dpkg-source --after-build netatmo-indicator
dpkg-buildpackage: binary-only upload (no source included)
signfile netatmo-indicator_0.1-1_amd64.changes
You need a passphrase to unlock the secret key for
user: "Mihai Galos <[email protected]>"
2048-bit RSA key, ID 174B180D, created 2018-10-26
(done)
到目前为止一切顺利,但 Launchpad 仅接受纯源代码构建。因此我使用以下方式构建-S
:
dpkg-buildpackage -S -pgpg [email protected]
dpkg-buildpackage: source package netatmo-indicator
dpkg-buildpackage: source version 0.1-1
dpkg-buildpackage: source distribution xenial
dpkg-buildpackage: source changed by Mihai Galos <[email protected]>
dpkg-source --before-build netatmo-indicator
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
dh_clean
dpkg-source -b netatmo-indicator
dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../netatmo-indicator_0.1.orig.tar.{bz2,gz,lzma,xz}
dpkg-buildpackage: error: dpkg-source -b netatmo-indicator gave error exit status 255
我的 debian/source/format 文件包含3.0 (quilt)
。
这可能是什么问题?
提前谢谢了!
答案1
您收到的错误信息:
dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../netatmo-indicator_0.1.orig.tar.{bz2,gz,lzma,xz}
Debian 打包程序方式
在正常的工作流程中,打包器首先下载*.orig.tar.gz
档案然后解压。因此原始档案已经就位。
Debian 软件包可分为两类:原生‘
3.0 (native)
’和非原生‘3.0 (quilt)
’。他们的建造方式略有不同。检查Debian导师常见问题或者
man dpkg-source
。无论如何,只需在父文件夹中创建一个原始源档案,并使用精确命名和允许的格式之一即可。例如:
netatmo-indicator_0.1.orig.tar.gz
上游开发者方式
- 还有其他辅助工具可以直接从源代码树构建 Debian 软件包,而无需原始档案。查找:
git-buildpackage
、、bzr-builddeb
...