[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

use case of db_input 30 return value



Hello mentors,

From the debconf-devel(7) manual:
   If the question will not be displayed, debconf replies with code 30.

What is a use case if db_input 30 return value? 

If question is skipped (will not be displayed) by db_input:
 * Should I also skip db_go?
 * Or should I safely ignore 30 return code and do db_go? if so, What is the use case of db_input 30 return value?

Because, if I do skip db_go and want to unregister (just for example) my template then db_unregister fails with 10 return code:
debconf (developer): <-- INPUT high my-package/some-template
debconf (developer): --> 30 question skipped
debconf (developer): <-- UNREGISTER my-package/some-template
debconf (developer): --> 10 my-package/some-template is busy, cannot unregister right now
debconf (developer): <-- PURGE
debconf (developer): --> 0

example code:
#!/bin/sh
. /usr/share/debconf/confmodule
db_version 2.0
TMPL_FILE="$(mktemp)"
question="my-package/some-template"
cat > "${TMPL_FILE}" <<'!EOF!'
Template: my-package/some-template
Type: string
Description: Some short description:
 Some long description
!EOF!
db_x_loadtemplatefile "${TMPL_FILE}" my-package
main(){
        # emulate upgrade procedure or preseeded case
        db_fset "$question" seen true
        db_input high "$question" || return 0
        db_go
}
db_register "$question" "$question"
main
db_unregister "$question" || true
db_purge
rm -f "${TMPL_FILE}"




Reply to: