Ubuntu 使用package.subsvars定义二进制包描述,而不通过debhelper脚本获取clobber?

Ubuntu 使用package.subsvars定义二进制包描述,而不通过debhelper脚本获取clobber?,ubuntu,debian,deb,Ubuntu,Debian,Deb,好的,我有一个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 require

好的,我有一个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"
override_dh_gencontrol:
        dh_gencontrol -- -Tpath/to/my/substvars
忽略我奇怪的“获取原始源”策略。我最终希望动态更改二进制软件包的debian/control文件中的Description字段。我的理解是,我需要将变量定义添加到packagename/debian/中的packagename.subsvars。然而,因为我的简单dh$@--使用python2动态生成该文件,所以我所能做的任何添加现在都与dh进程竞争

所以我想问你们stackoverflow的好朋友们这个问题


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

任何包准备工具都可以附加到SUBSVARS文件中;如果您使用的是debhelper,请确保在调用
dh_prep
后执行此操作,因为这将删除任何
debian/*.subsvar
文件

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

#!/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"
override_dh_gencontrol:
        dh_gencontrol -- -Tpath/to/my/substvars
有关更多信息,请参见
man deb SUBSVARS
man dpkg SUBSVARS
man dh_SUBSVARS

在-T和path之间没有空格(至少我使用jessie/sid时它不起作用)。