Add bash completion script 69/60469/14
authorAdam Malinowski <a.malinowsk2@partner.samsung.com>
Fri, 26 Feb 2016 07:39:35 +0000 (08:39 +0100)
committerAdam Malinowski <a.malinowsk2@partner.samsung.com>
Thu, 5 May 2016 11:01:17 +0000 (13:01 +0200)
Change-Id: I281d9c9a72ba8b764de855fd5ebb38d6b4399ca1

debian/bash-completion [new file with mode: 0644]
debian/control
debian/rules
etc/bash_completion.d/sd-mux-ctrl [new file with mode: 0644]
packaging/sd-mux-ctrl.spec

diff --git a/debian/bash-completion b/debian/bash-completion
new file mode 100644 (file)
index 0000000..441000e
--- /dev/null
@@ -0,0 +1 @@
+etc/bash_completion.d/sd-mux-ctrl
index d6d09b1..f69f762 100644 (file)
@@ -5,6 +5,7 @@ Priority: optional
 Build-Depends: libftdi1-dev (>= 1.2),
                libpopt-dev,
                debhelper (>=9),
+               bash-completion,
 Standards-Version: 3.9.5
 
 Package: sd-mux-ctrl
index 2d33f6a..18c1c50 100755 (executable)
@@ -1,4 +1,4 @@
 #!/usr/bin/make -f
 
 %:
-       dh $@
+       dh $@ --with bash-completion
diff --git a/etc/bash_completion.d/sd-mux-ctrl b/etc/bash_completion.d/sd-mux-ctrl
new file mode 100644 (file)
index 0000000..6cfa28a
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+#
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+# @file        etc/bash_completion.d/sd-mux-ctrl
+# @author      Adam Malinowski <a.malinowsk2@partner.samsung.com>
+#
+
+_sdmux()
+{
+    local cur prev opts
+    COMPREPLY=()
+    cur="${COMP_WORDS[COMP_CWORD]}"
+    prev="${COMP_WORDS[COMP_CWORD-1]}"
+    opts="--help --usage --list --device-serial --device-id --show-serial --set-serial --info --status --init --tick --tick-time --dut --ts --vendor --pins --invert"
+
+    case "${prev}" in
+      --device-serial)
+          local running=$(sd-mux-ctrl -l | awk '/Serial/ {sub(",$", "", $6); print $6}')
+          COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
+                return 0
+                ;;
+      --device-id)
+          local running=$(sd-mux-ctrl -l | awk '/Serial/ {sub(",$", "", $2); print $2}')
+          COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
+                return 0
+                ;;
+            *)
+            ;;
+    esac
+
+    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+    return 0
+}
+complete -F _sdmux sd-mux-ctrl
index a949add..66450a5 100644 (file)
@@ -15,6 +15,7 @@ Source0:        %{name}_%{version}.tar.gz
 BuildRequires:  cmake
 Requires:       libftdi >= 1.2
 Requires:       popt
+Requires:       awk
 
 BuildRoot:  %{_tmppath}/%{name}_%{version}-build
 
@@ -40,7 +41,10 @@ rm -rf %{buildroot}
 
 mkdir -p %{buildroot}/%{_mandir}/man1
 install -m644 docs/man/%{name}.1 %{buildroot}/%{_mandir}/man1
+install -d -m0755 %{buildroot}/%{_sysconfdir}/bash_completion.d/
+install -Dp -m0755 etc/bash_completion.d/%{name} %{buildroot}/%{_sysconfdir}/bash_completion.d/
 
 %files
 %{_bindir}/%{name}
 %{_mandir}/man1/*
+%{_sysconfdir}/bash_completion.d/*