From: Damir Dzeko Date: Tue, 29 Mar 2005 20:28:57 +0000 (+0000) Subject: r34: ispravke vezano uz cp_db_get X-Git-Tag: debian/3.0.0~72 X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=commitdiff_plain;h=faaf01a6e019eadf76bfb8960cbbffa7f1c4c921;p=carnet-tools-cn.git r34: ispravke vezano uz cp_db_get --- diff --git a/README.CARNet b/README.CARNet index 1ec6ee1..8ee99b4 100644 --- a/README.CARNet +++ b/README.CARNet @@ -75,15 +75,17 @@ cp_mv cp_yes_no [] - Funkcija za jednostavni (y)es/(n)o dijalog. Odgovor y/n vraca u RET. + Funkcija za jednostavni (y)es/(n)o dijalog. Odgovor y/n vraca u RET. Valja napomenuti da je kao i sve ostalo sto trosi stdin/stdout - nekompatibilan s debconfom (doticnog treba pogasiti prvo). + nekompatibilan s debconfom (doticnog treba pogasiti prvo). -cp_db_get_wrap / - - Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane - greske vrati prazni RET. Kome treba greska neka ga ne koristi. +cp_db_get / + Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane + greske vrati prazni RET. Kome treba greska neka ga ne koristi. + Funkcija je namijenjena koristenju na mjestu gdje se inace poziva + db_get, sto znaci da korisnik mora sam napraviti sve potrebne + predradnje, od . /usr/share/debconf/confmodule nadalje. Funkcije cije ime pocinje sa cp_get_ pohranjuju rezultat u varijabli $RET, a one s prefiksom cp_check_ kao rezultat vracaju exit status. U pozivnoj diff --git a/carnet-tools.8 b/carnet-tools.8 index 8e2322b..593ed2f 100644 --- a/carnet-tools.8 +++ b/carnet-tools.8 @@ -112,9 +112,12 @@ Funkcija za jednostavni \fUy\fRes/\fUn\fRo dijalog. Odgovor '\fBy\fR' | '\fBn\fR vraca u RET. Valja napomenuti da je kao i sve ostalo sto koristi stdin/stdout nekompatibilan s debconfom (doticnog treba ugasiti prvo). .TP -\fBcp_db_get_wrap\fR \fIpackage\fR\fB/\fR\fIvariable\fR +\fBcp_db_get\fR \fIpackage\fR\fB/\fR\fIvariable\fR Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane greske vrati prazni \fBRET\fR. Kome treba greska neka ga ne koristi. +Funkcija je namijenjena koristenju na mjestu gdje se inace poziva +\fBdb_get\fR, sto znaci da korisnik mora sam napraviti sve potrebne +predradnje, od \fB. /usr/share/debconf/confmodule\fR nadalje. .PP Funkcije cije ime pocinje sa \fBcp_get_\fR pohranjuju rezultat u varijabli \fB$RET\fR, a one s prefiksom cp_check_ kao rezultat vracaju exit status. U pozivnoj diff --git a/functions.sh b/functions.sh index 3141959..bf92729 100644 --- a/functions.sh +++ b/functions.sh @@ -264,7 +264,7 @@ cp_yes_no () { # check to prevent user from using this when debconf is active # (it would break communication with its backend - uses stdin/out) if [ "$DEBCONF_REDIR" ]; then - echo "cn_yes_no: debconf redirection detected" >&2 + echo "cp_yes_no: debconf redirection detected" >&2 return 1 fi @@ -295,9 +295,17 @@ cp_yes_no () { # --> that's why we wrap the db_get call to return unset RET variable # instead of some gibberish error message that our script does # not expect -cp_db_get_wrap() { +cp_db_get() { local var var="$1" + + # check to prevent user from using this before activating debconf + # confmodule needs to be loaded before accessing db_* functions + if [ -z "$DEBCONF_REDIR" ]; then + echo "cp_db_get_wrap: debconf not activated!" >&2 + return 1 + fi + if ! db_get "$var"; then case "$RET" in *doesn\'t\ exist)