为什么我的 debian/config 脚本在安装过程中没有被调用?
Why is my debian/config script not called during installation?
我想在我的 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。为什么我的控制脚本在安装过程中没有被调用?
好的,我注意到调用了配置脚本(使用对 stderr 的 echo 语句)
使用调试模式:
DEBCONF_DEBUG=developer
export DEBCONF_DEBUG
我可以指出问题是找不到模板。问题在于:
db_clear
db_purge
我的目的是确保 debconf 没有保存
已经是配置值,但是这个语句被删除了
以前定义的模板定义。删除它们后,对话框会在安装过程中打开。
如果您想在安装过程中被问到问题,db_fset dn-native-drivers/choose_port seen false
行似乎很重要。
否则我遇到的问题是它只在 dpkg-reconfigure
期间提出问题。
我想在我的 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。为什么我的控制脚本在安装过程中没有被调用?
好的,我注意到调用了配置脚本(使用对 stderr 的 echo 语句) 使用调试模式:
DEBCONF_DEBUG=developer
export DEBCONF_DEBUG
我可以指出问题是找不到模板。问题在于:
db_clear
db_purge
我的目的是确保 debconf 没有保存 已经是配置值,但是这个语句被删除了 以前定义的模板定义。删除它们后,对话框会在安装过程中打开。
如果您想在安装过程中被问到问题,db_fset dn-native-drivers/choose_port seen false
行似乎很重要。
否则我遇到的问题是它只在 dpkg-reconfigure
期间提出问题。