summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Malinowski <a.malinowsk2@partner.samsung.com>2016-02-26 08:39:35 +0100
committerAdam Malinowski <a.malinowsk2@partner.samsung.com>2016-04-26 17:43:06 +0200
commit9ed2d0cc067bc5b54acf8f5af81a9bc03c29560b (patch)
tree3437d91b63801aa61c8429ea9101adfb00bf77f6
parentc41eceb9d751bdf642d32d2dfc7cb299c85e6467 (diff)
downloadsd-mux-9ed2d0cc067bc5b54acf8f5af81a9bc03c29560b.tar.gz
sd-mux-9ed2d0cc067bc5b54acf8f5af81a9bc03c29560b.tar.bz2
sd-mux-9ed2d0cc067bc5b54acf8f5af81a9bc03c29560b.zip
Add bash completion scriptansible
Change-Id: I281d9c9a72ba8b764de855fd5ebb38d6b4399ca1
-rw-r--r--debian/bash-completion1
-rw-r--r--debian/control1
-rwxr-xr-xdebian/rules2
-rw-r--r--etc/bash_completion.d/sd-mux-ctrl45
-rw-r--r--packaging/sd-mux-ctrl.spec7
5 files changed, 54 insertions, 2 deletions
diff --git a/debian/bash-completion b/debian/bash-completion
new file mode 100644
index 0000000..441000e
--- /dev/null
+++ b/debian/bash-completion
@@ -0,0 +1 @@
+etc/bash_completion.d/sd-mux-ctrl
diff --git a/debian/control b/debian/control
index d6d09b1..f69f762 100644
--- a/debian/control
+++ b/debian/control
@@ -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
diff --git a/debian/rules b/debian/rules
index 2d33f6a..18c1c50 100755
--- a/debian/rules
+++ b/debian/rules
@@ -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
index 0000000..7fd4de7
--- /dev/null
+++ b/etc/bash_completion.d/sd-mux-ctrl
@@ -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 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 --info --status --init --tick --tick-time --dut --ts --vendor --pins --invert"
+
+ case "${prev}" in
+ --device-serial)
+ local running=$(sd-mux-ctrl -l | awk '/Serial/ {gsub(",$", "", $6); print $6}')
+ COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
+ return 0
+ ;;
+ --device-id)
+ local running=$(sd-mux-ctrl -l | awk '/Serial/ {gsub(",$", "", $6); print $6}')
+ COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
+ return 0
+ ;;
+ *)
+ ;;
+ esac
+
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ return 0
+}
+complete -F _sdmux sd-mux-ctrl
diff --git a/packaging/sd-mux-ctrl.spec b/packaging/sd-mux-ctrl.spec
index b285a9c..7e9dd92 100644
--- a/packaging/sd-mux-ctrl.spec
+++ b/packaging/sd-mux-ctrl.spec
@@ -15,6 +15,7 @@ Source0: %{name}_%{version}.tar.gz
BuildRequires: cmake
Requires: libftdi >= 1.2
Requires: popt
+Requires: awk
BuildRoot: %{_tmppath}/%{name}_%{version}-build
@@ -39,8 +40,12 @@ rm -rf %{buildroot}
%make_install
mkdir -p %{buildroot}/%{_mandir}/man1
-install -m644 docs/man/sd-mux-ctrl.1 %{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/*