2

好的,所以我有一个看起来像这样的 debian/rules 文件:

#!/usr/bin/make -f

PACKAGE = packagename
SRC_VERSION := $(shell grep version setup.py | awk -F [\'] '{print $$2}')
TARBALL = $(PACKAGE)_$(SRC_VERSION).orig.tar.gz
.PHONY: get-orig-source

%:
        # Adding the required helpers
        dh $@ --with python2

get-orig-source:
        python setup.py sdist --formats=gztar
        mv dist/*gz ../$(TARBALL)
        echo "  "$(TARBALL)" created"

忽略我奇怪的获取源代码操作。我最终想动态更改二进制包的 debian/control 文件中的描述字段。我的理解是我需要将变量定义添加到 packagename/debian/ 中的 packagename.substvars 中。但是,因为我的简单 dh $@ --with python2 动态生成该文件,所以我可以添加的任何内容现在都与 dh 进程竞争。

所以我对stackoverflow的好人的问题变成了......

如果我想使用 substvars 动态定义二进制包描述,我该怎么做?

4

1 回答 1

5

任何包准备工具都可以附加到 substvars 文件中;只要确保,如果你正在使用 debhelper,你在dh_prep被调用后执行它,因为这会擦除debian/*.substvars周围的所有文件。

如果您愿意,如果您担心干扰 debhelper(或 debhelper 干扰您),您甚至可以使用您自己的 substvars 文件。只需将 substvar 文件名添加到参数中dh_gencontrol,如下所示:

override_dh_gencontrol:
        dh_gencontrol -- -Tpath/to/my/substvars

请参阅man deb-substvarsman dpkg-substvarsman dh_substvars了解更多信息。

于 2013-03-14T20:10:32.730 回答