[tilelite] 01/01: Attempt to fix an issue with db_get returning a error message as the RET
Christopher Baines
cbaines-guest at moszumanska.debian.org
Mon Sep 7 21:37:40 UTC 2015
This is an automated email from the git hooks/post-receive script.
cbaines-guest pushed a commit to branch debconf
in repository tilelite.
commit 0098fdbfe014c62115fc356567eff968fd7182b2
Author: Christopher Baines <mail at cbaines.net>
Date: Mon Sep 7 22:34:24 2015 +0100
Attempt to fix an issue with db_get returning a error message as the RET
When running in developer mode, I was seeing output like this. Unfortunately I
am no longer able to get debconf to give the same responses.
debconf (developer): <-- GET tilelite/tilesets
debconf (developer): --> 10 tilelite/tilesets doesn't exist
I think by checking the return code from db_get, I am able to use a default
value instead of the RET, which means things don't break when debconf decides
to act in this way.
---
debian/config | 32 +++++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/debian/config b/debian/config
index d38f9b6..5a441ea 100755
--- a/debian/config
+++ b/debian/config
@@ -18,6 +18,20 @@ TILESET_QUESTIONS=(processname mapfile url user group)
TILESET_QUESTIONS_WITHOUT_PROCESSNAME=(mapfile url user group)
+db_get_or_default() {
+ local key=$1
+ local default=$2
+
+ db_get $key
+ local return_value=$?
+
+ if ! db_get $key; then
+ $RET=$default
+ fi
+
+ return 0
+}
+
containsElement() {
# https://stackoverflow.com/a/8574392
local e
@@ -123,7 +137,7 @@ change_tileset() {
db_go || return 0 # user has canceled
- db_get tilelite/change-tileset && processname="$RET"
+ db_get_or_default tilelite/change-tileset "" && processname="$RET"
else
processname=${TILESETS[0]}
@@ -146,7 +160,7 @@ change_tileset() {
db_go
- db_get tilelite/processname && new_processname="$RET"
+ db_get_or_default tilelite/processname "" && new_processname="$RET"
if [ "$new_processname" != "$processname" ]; then
# change the name of the tileset
@@ -159,7 +173,7 @@ change_tileset() {
for question in ${TILESET_QUESTIONS_WITHOUT_PROCESSNAME[@]}; do
db_register tilelite/$question "$new_prefix$question" || return 1
- db_get "$old_prefix$question" && answer="$RET"
+ db_get_or_default "$old_prefix$question" "" && answer="$RET"
db_set "$new_prefix$question" "$answer" || return 1
@@ -193,7 +207,7 @@ remove_tileset() {
db_go || return 0
- db_get tilelite/remove-tileset && processname="$RET"
+ db_get_or_default tilelite/remove-tileset "" && processname="$RET"
else
processname=${TILESETS[0]}
@@ -206,7 +220,7 @@ remove_tileset() {
db_go || return 0 # user has canceled
- db_get tilelite/confirm-tileset-removal && confirm_removal="$RET"
+ db_get_or_default tilelite/confirm-tileset-removal "" && confirm_removal="$RET"
if ! $confirm_removal; then
log "user has not confirmed removal, going back"
@@ -241,7 +255,7 @@ select_action() {
return 0 # user has canceled
fi
- db_get tilelite/select-action && action="$RET"
+ db_get_or_default tilelite/select-action "" && action="$RET"
case "$action" in
Add) add_tileset || return 1
@@ -255,7 +269,7 @@ select_action() {
configure() {
while true; do
- db_get tilelite/tilesets
+ db_get_or_default tilelite/tilesets ""
local joined_tilesets="$RET"
@@ -274,7 +288,7 @@ configure() {
db_go
- db_get tilelite/add-tileset && add="$RET"
+ db_get_or_default tilelite/add-tileset "" && add="$RET"
if $add; then
add_tileset
else
@@ -294,7 +308,7 @@ configure() {
return 1
fi
- db_get tilelite/finished && finished="$RET"
+ db_get_or_default tilelite/finished "" && finished="$RET"
if $finished; then
break
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/tilelite.git
More information about the Pkg-grass-devel
mailing list