3 # This script initialize the buxton system layer temp (in memory)
4 # with values from the system layer base. It searchs the keys of
5 # prefix memory_init/ and copy their value to memory.
7 # See vconf-buxton-backup-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 in memory vconf
33 if buxtonctl -s list-groups "$layermem" | grep -q "found group $groupmem"
35 echo "${green}group $groupmem already exists${reset}"
36 elif buxtonctl -s create-group "$layermem" "$groupmem"
38 echo "${green}group $groupmem succesfully created${reset}"
40 echo "${red}ERROR: can't create group '$groupmem' for layer '$layermem'${reset}"
45 # Ensure label for the group
47 if buxtonctl -s set-label "$layermem" "$groupmem" "$label"
49 echo "${green}group $groupmem succesfully set to label '$label'${reset}"
51 echo "${red}ERROR: can't set label '$label' to group '$groupmem' for layer '$layermem'${reset}"
56 buxtonctl -s list-keys "$layerdb" "$groupdb" memory_init/ |
57 sed 's:^found key ::' |
60 keymem=${keydb#memory_init/}
61 if ! q=$(buxtonctl -s get "$layerdb" "$groupdb" "$keydb")
63 echo "${red}ERROR can't get value of $keydb${reset}"
65 type=$(echo -n "$q" | sed 's/.* = \([^:]*\): .*/\1/')
66 value=$(echo -n "$q" | sed 's/.* = [^:]*: \(.*\)/\1/')
67 echo -n "${reset}setting $keymem, $type: $value ..."
68 if ! buxtonctl -s -- set-$type "$layermem" "$groupmem" "$keymem" "$value"
70 echo "${red}ERROR WHILE SETTING VALUE${reset}"
71 elif ! buxtonctl -s set-label "$layermem" "$groupmem" "$keymem" "$label"
73 echo "${red}ERROR WHILE SETTING LABEL${reset}"
75 echo "${green}done${reset}"