3 # This script backup the buxton system layer temp that is
4 # in memory to the system layer base. All keys are copied
5 # prefixed with memory_init/ .
7 # See vconf-buxton-restore-mem-layer.sh
9 # author: jose.bollo@open.eurogiciel.org
17 reset=$(printf '\e[0m')
18 red=$(printf '\e[1;31m')
19 green=$(printf '\e[1;32m')
22 # check that buxton service is available
24 if ! buxtonctl -s check > /dev/null
26 echo "${red}ERROR: can not connect to buxton service${reset}"
31 # create the group for vconf
33 if buxtonctl -s list-groups "$layerdb" | grep -q "found group $groupdb"
35 echo "${green}group $groupdb already exists${reset}"
36 elif buxtonctl -s create-group "$layerdb" "$groupdb"
38 echo "${green}group $groupdb succesfully created${reset}"
40 echo "${red}ERROR: can't create group '$groupdb' for layer '$layerdb'${reset}"
45 # Ensure label for the group
47 if buxtonctl -s set-label "$layerdb" "$groupdb" "$label"
49 echo "${green}group $groupdb succesfully set to label '$label'${reset}"
51 echo "${red}ERROR: can't set label '$label' to group '$groupdb' for layer '$layerdb'${reset}"
56 buxtonctl -s list-keys "$layermem" "$groupmem" |
57 sed 's:^found key ::' |
60 keydb="memory_init/$keymem"
61 if ! q=$(buxtonctl -s get "$layermem" "$groupmem" "$keymem")
63 echo "${red}ERROR can't get value of $keymem${reset}"
65 type=$(echo -n "$q" | sed 's/.* = \([^:]*\): .*/\1/')
66 value=$(echo -n "$q" | sed 's/.* = [^:]*: \(.*\)/\1/')
67 echo -n "${reset}setting $keydb, $type: $value ..."
68 if ! buxtonctl -s -- set-$type "$layerdb" "$groupdb" "$keydb" "$value"
70 echo "${red}ERROR WHILE SETTING VALUE${reset}"
71 elif ! buxtonctl -s set-label "$layerdb" "$groupdb" "$keydb" "$label"
73 echo "${red}ERROR WHILE SETTING LABEL${reset}"
75 echo "${green}done${reset}"