Magellan Linux

Diff of /trunk/grubby/grubby-bls

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3142 by niro, Tue Jul 7 11:15:41 2020 UTC revision 3146 by niro, Tue Jul 7 11:22:01 2020 UTC
# Line 56  get_bls_value() { Line 56  get_bls_value() {
56      local bls="$1" && shift      local bls="$1" && shift
57      local key="$1" && shift      local key="$1" && shift
58    
59      echo "$(grep "^${key}[ \t]" "${bls}" | sed -e "s,^${key}[ \t]*,,")"      echo "$(grep "^${key}[ \t]" "${bls}" | sed -e "s!^${key}[ \t]*!!")"
60  }  }
61    
62  set_bls_value() {  set_bls_value() {
# Line 64  set_bls_value() { Line 64  set_bls_value() {
64      local key="$1" && shift      local key="$1" && shift
65      local value="$1" && shift      local value="$1" && shift
66    
67      sed -i -e "s,^${key}.*,${key} ${value}," "${bls}"      sed -i -e "s!^${key}.*!${key} ${value}!" "${bls}"
68  }  }
69    
70  append_bls_value() {  append_bls_value() {
# Line 159  param_to_indexes() { Line 159  param_to_indexes() {
159      fi      fi
160    
161      for i in ${!bls_file[@]}; do      for i in ${!bls_file[@]}; do
162          if [[ $param = "${bls_linux[$i]}" ]]; then          if [[ $param = "${bls_linux[$i]}" || "/${param##*/}" = "${bls_linux[$i]}" ]]; then
163              indexes="$indexes $i"              indexes="$indexes $i"
164          fi          fi
165    
# Line 234  remove_bls_fragment() { Line 234  remove_bls_fragment() {
234      done      done
235    
236      get_bls_values      get_bls_values
237    
238        update_grubcfg
239  }  }
240    
241  add_bls_fragment() {  add_bls_fragment() {
# Line 245  add_bls_fragment() { Line 247  add_bls_fragment() {
247    
248      if [[ $kernel = *"vmlinuz-"* ]]; then      if [[ $kernel = *"vmlinuz-"* ]]; then
249   kernelver="${kernel##*/vmlinuz-}"   kernelver="${kernel##*/vmlinuz-}"
250     prefix="vmlinuz-"
251      else      else
252   kernelver="${kernel##*/}"   kernelver="${kernel##*/}"
253      fi      fi
254    
255      if [[ ! -d "/lib/modules/${kernelver}" || ! -f "/boot/vmlinuz-${kernelver}" ]] &&      if [[ ! -f "/boot/${prefix}${kernelver}" ]] &&
256         [[ $bad_image != "true" ]]; then         [[ $bad_image != "true" ]]; then
257          print_error "The ${kernelver} kernel isn't installed in the machine"          print_error "The ${kernelver} kernel isn't installed in the machine"
258      fi      fi
# Line 308  add_bls_fragment() { Line 311  add_bls_fragment() {
311          set_default_bls "TITLE=${title}"          set_default_bls "TITLE=${title}"
312      fi      fi
313    
314        update_grubcfg
315    
316      exit 0      exit 0
317  }  }
318    
# Line 317  update_args() { Line 322  update_args() {
322      local add_args=($1) && shift      local add_args=($1) && shift
323    
324      for arg in ${remove_args[*]}; do      for arg in ${remove_args[*]}; do
325          args="$(echo $args | sed -e "s,$arg[^ ]*,,")"          args="$(echo $args | sed -e "s!$arg[^ ]*!!")"
326      done      done
327    
328      for arg in ${add_args[*]}; do      for arg in ${add_args[*]}; do
# Line 326  update_args() { Line 331  update_args() {
331              key=${arg%%=$value}              key=${arg%%=$value}
332              exist=$(echo $args | grep "${key}=")              exist=$(echo $args | grep "${key}=")
333              if [[ -n $exist ]]; then              if [[ -n $exist ]]; then
334                  args="$(echo $args | sed -e "s,$key=[^ ]*,$key=$value,")"                  args="$(echo $args | sed -e "s!$key=[^ ]*!$key=$value!")"
335              else              else
336                  args="$args $key=$value"                  args="$args $key=$value"
337              fi              fi
# Line 357  update_bls_fragment() { Line 362  update_bls_fragment() {
362      set_bls_value "${bls_file[$i]}" "initrd" "${initrd}"      set_bls_value "${bls_file[$i]}" "initrd" "${initrd}"
363   fi   fi
364      done      done
365    
366        update_grubcfg
367  }  }
368    
369  set_default_bls() {  set_default_bls() {
# Line 397  remove_var_prefix() { Line 404  remove_var_prefix() {
404      fi      fi
405  }  }
406    
407    update_grubcfg()
408    {
409        if [[ $arch = 'ppc64' || $arch = 'ppc64le' ]]; then
410     grub2-mkconfig -o /boot/grub2/grub.cfg >& /dev/null
411        fi
412    }
413    
414  print_usage()  print_usage()
415  {  {
416      cat <<EOF      cat <<EOF

Legend:
Removed from v.3142  
changed lines
  Added in v.3146