我想在我的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。为什么在安装过程中没有调用我的控制脚本?
答案 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
期间才问这个问题。