为什么在安装过程中未调用我的debian / config脚本?

时间:2018-08-06 08:33:21

标签: debian package debconf

我想在我的debian软件包中使用debconf来获取一些用户输入。我有一个debian / config文件:

#!/bin/sh
set -e
. /usr/share/debconf/confmodule
db_fset dn-native-drivers/choose_port seen false
db_clear
db_purge
db_input critical dn-native-drivers/choose_port || true
db_go

和一个debian / templates文件:

Template: dn-native-drivers/choose_port
Type: string
Default: 50
Description: Which vcom-port should be used?
 The port can be changed later in /etc/dn with the property
 vcom.nativePort

当我自己调用配置脚本时,它只是在执行我想要的操作(显示debconf问题),但是当我使用dpkg-buildpackage -us -uc构建软件包,然后使用dpkg -i packagename安装软件包时没有显示。我检查了配置文件和模板文件是否位于control.tar.gz中,并且它们在那里。如果重要的话,我会使用raspbian。为什么在安装过程中没有调用我的控制脚本?

2 个答案:

答案 0 :(得分:0)

好吧,我注意到配置脚本已被调用(对stderr使用echo语句) 使用调试模式:

DEBCONF_DEBUG=developer
export DEBCONF_DEBUG

我可以指出问题在于找不到模板。问题出在行中:

db_clear
db_purge

我的目的是确保debconf没有保存 已经是配置值,但是此语句已删除 前一个定义的模板定义。删除它们后,对话框将在安装过程中打开。

答案 1 :(得分:0)

如果您想在安装过程中被问到问题,db_fset dn-native-drivers/choose_port seen false行似乎至关重要。

否则,我会遇到一个问题,即它只在dpkg-reconfigure期间才问这个问题。