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 via email to