]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* util/grub-kbdcomp.in: Add decent help and gettextize.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 3 Feb 2012 20:22:12 +0000 (21:22 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 3 Feb 2012 20:22:12 +0000 (21:22 +0100)
* docs/man/grub-kbdcomp.h2m: New file.

ChangeLog
docs/man/grub-kbdcomp.h2m [new file with mode: 0644]
util/grub-kbdcomp.in

index 431adb41aed65a5e04f8c3ac4750493733708149..73932a30736d8a9dab1760af40ac26c80b99000f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * util/grub-kbdcomp.in: Add decent help and gettextize.
+       * docs/man/grub-kbdcomp.h2m: New file.
+
 2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Migrate grub-mkimage.c to argp.
diff --git a/docs/man/grub-kbdcomp.h2m b/docs/man/grub-kbdcomp.h2m
new file mode 100644 (file)
index 0000000..d81f915
--- /dev/null
@@ -0,0 +1,10 @@
+[NAME]
+grub-kbdcomp \- generate a GRUB keyboard layout file
+[DESCRIPTION]
+grub-kbdcomp processes a X keyboard layout description in
+.BR keymaps (5)
+format into a format that can be used by GRUB's
+.B keymap
+command.
+[SEE ALSO]
+.BR grub-mklayout (8)
index 05e516d231f0bb9fd30d41b294ca6ff0a8099b9e..2be541ba0406c007532e94734b62c3a583874340 100644 (file)
@@ -5,8 +5,69 @@ transform="@program_transform_name@"
 prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 bindir="@bindir@"
+datarootdir="@datarootdir@"
+datadir="@datadir@"
 
-grub_mklayout=${bindir}/`echo grub-mklayout | sed ${transform}`
+grub_mklayout="${bindir}/`echo grub-mklayout | sed ${transform}`"
 
-ckbcomp "$@" | $grub_mklayout -o "$1".gkb
+ckbcomp_options=""
+
+. "${datadir}/@PACKAGE@/grub-mkconfig_lib"
+
+self=`basename $0`
+
+usage () {
+    gettext_printf "Usage: %s -o OUTPUT CKBMAP_ARGUMENTS...\n" "$self"
+    gettext "Make GRUB layout file."; echo
+    echo
+    printf "  -h, --help              %s\n" "$(gettext "print this message and exit")"
+    printf "  -v, --version           %s\n" "$(gettext "print the version information and exit")"
+    printf "  -o, --output=%-11s%s\n" "$(gettext FILE)" "$(gettext "save output in FILE [required]")"
+    echo
+    gettext_printf "%s generates a keyboard layout for GRUB using ckbcomp\n" "$self"
+    echo
+    gettext "Report bugs to <bug-grub@gnu.org>."; echo
+}
+
+argument () {
+  opt=$1
+  shift
+
+  if test $# -eq 0; then
+      gettext_printf "%s: option requires an argument -- '%s'\n" "$0" "$opt" 1>&2
+      exit 1
+  fi
+  echo $1
+}
+
+output=
+
+while test $# -gt 0
+do
+    option=$1
+    shift
+    case "$option" in
+    -h | --help)
+       usage
+       exit 0 ;;
+    -v | --version)
+       echo "$self (${PACKAGE_NAME}) ${PACKAGE_VERSION}"
+       exit 0 ;;
+    -o | --output)
+       output=`argument $option "$@"`; shift ;;
+    --output=*)
+       output=`echo "$option" | sed 's/--output=//'` ;;
+    *)
+       ckbcomp_options="$ckbcomp_options $option";;
+    esac
+done
+
+if [ "x${output}" = x ] ; then
+  gettext "output file must be given" >&2
+  echo >&2
+  usage
+  exit 1
+fi
+
+ckbcomp $ckbcomp_options | "$grub_mklayout" -o "${output}"