Better bash completion.
- Remove 'Group' which is not required by modern RPM. - Add patch to use new-style demand-loaded bash-completion scripts. - Spin bash-completion scripts into a new libguestfs-bash-completion package.
This commit is contained in:
parent
9670e20a7d
commit
61f528f2a0
965
0001-Use-new-style-demand-loaded-bash-completion-scripts.patch
Normal file
965
0001-Use-new-style-demand-loaded-bash-completion-scripts.patch
Normal file
@ -0,0 +1,965 @@
|
|||||||
|
From 3c34db980868057916d6fe2489ad8906660e83d6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Thu, 28 Mar 2013 17:13:34 +0000
|
||||||
|
Subject: [PATCH] Use new-style demand-loaded bash-completion scripts.
|
||||||
|
|
||||||
|
---
|
||||||
|
.gitignore | 9 +
|
||||||
|
Makefile.am | 3 +
|
||||||
|
README | 2 +
|
||||||
|
bash/Makefile.am | 68 ++++++++
|
||||||
|
bash/README | 3 +
|
||||||
|
bash/guestfish | 72 ++++++++
|
||||||
|
bash/guestmount | 67 ++++++++
|
||||||
|
bash/virt-alignment-scan | 108 ++++++++++++
|
||||||
|
bash/virt-rescue | 67 ++++++++
|
||||||
|
bash/virt-resize | 46 ++++++
|
||||||
|
configure.ac | 16 ++
|
||||||
|
fish/Makefile.am | 6 -
|
||||||
|
fish/libguestfs-bash-completion.sh | 326 -------------------------------------
|
||||||
|
src/guestfs.pod | 4 +
|
||||||
|
14 files changed, 465 insertions(+), 332 deletions(-)
|
||||||
|
create mode 100644 bash/Makefile.am
|
||||||
|
create mode 100644 bash/README
|
||||||
|
create mode 100644 bash/guestfish
|
||||||
|
create mode 100644 bash/guestmount
|
||||||
|
create mode 100644 bash/virt-alignment-scan
|
||||||
|
create mode 100644 bash/virt-rescue
|
||||||
|
create mode 100644 bash/virt-resize
|
||||||
|
delete mode 100644 fish/libguestfs-bash-completion.sh
|
||||||
|
|
||||||
|
diff --git a/.gitignore b/.gitignore
|
||||||
|
index fc03cd8..c4f488e 100644
|
||||||
|
--- a/.gitignore
|
||||||
|
+++ b/.gitignore
|
||||||
|
@@ -45,6 +45,15 @@ Makefile.in
|
||||||
|
/appliance/stamp-supermin
|
||||||
|
/appliance/supermin.d
|
||||||
|
/autom4te.cache
|
||||||
|
+/bash/virt-cat
|
||||||
|
+/bash/virt-df
|
||||||
|
+/bash/virt-edit
|
||||||
|
+/bash/virt-filesystems
|
||||||
|
+/bash/virt-format
|
||||||
|
+/bash/virt-inspector
|
||||||
|
+/bash/virt-ls
|
||||||
|
+/bash/virt-sysprep
|
||||||
|
+/bash/virt-sparsify
|
||||||
|
/build-aux
|
||||||
|
/cat/stamp-virt-*.pod
|
||||||
|
/cat/virt-cat
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 050c8b6..fef3421 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -69,6 +69,9 @@ SUBDIRS += fish
|
||||||
|
# virt-tools in C.
|
||||||
|
SUBDIRS += align cat df edit format inspector rescue
|
||||||
|
|
||||||
|
+# bash-completion
|
||||||
|
+SUBDIRS += bash
|
||||||
|
+
|
||||||
|
# Language bindings.
|
||||||
|
if HAVE_PERL
|
||||||
|
SUBDIRS += perl perl/examples
|
||||||
|
diff --git a/README b/README
|
||||||
|
index 5284d58..59abc70 100644
|
||||||
|
--- a/README
|
||||||
|
+++ b/README
|
||||||
|
@@ -207,6 +207,8 @@ The full requirements are described below.
|
||||||
|
| XML::XPath::XMLParser | O | Perl module used by some virt-* tools. |
|
||||||
|
+--------------+-------------+---+-----------------------------------------+
|
||||||
|
| perl-libintl | | O | Perl module for localization. |
|
||||||
|
++--------------+-------------+---+-----------------------------------------+
|
||||||
|
+| bash-completion | O | For tab-completion of commands in bash. |
|
||||||
|
+==============+=============+===+=========================================+
|
||||||
|
R = Required
|
||||||
|
O = Optional
|
||||||
|
diff --git a/bash/Makefile.am b/bash/Makefile.am
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..65f38cb
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/Makefile.am
|
||||||
|
@@ -0,0 +1,68 @@
|
||||||
|
+# libguestfs
|
||||||
|
+# Copyright (C) 2013 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+include $(top_srcdir)/subdir-rules.mk
|
||||||
|
+
|
||||||
|
+scripts = \
|
||||||
|
+ guestfish \
|
||||||
|
+ guestmount \
|
||||||
|
+ virt-alignment-scan \
|
||||||
|
+ virt-cat \
|
||||||
|
+ virt-df \
|
||||||
|
+ virt-edit \
|
||||||
|
+ virt-filesystems \
|
||||||
|
+ virt-format \
|
||||||
|
+ virt-inspector \
|
||||||
|
+ virt-ls \
|
||||||
|
+ virt-rescue \
|
||||||
|
+ virt-resize \
|
||||||
|
+ virt-sparsify \
|
||||||
|
+ virt-sysprep
|
||||||
|
+
|
||||||
|
+EXTRA_DIST = \
|
||||||
|
+ README \
|
||||||
|
+ $(scripts)
|
||||||
|
+
|
||||||
|
+# Some of the scripts are simply symbolic links.
|
||||||
|
+virt-cat:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-df:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-edit:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-filesystems:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-format:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-inspector:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-ls:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+virt-sysprep:
|
||||||
|
+ ln -sf virt-alignment-scan $@
|
||||||
|
+
|
||||||
|
+virt-sparsify:
|
||||||
|
+ ln -sf virt-resize $@
|
||||||
|
+
|
||||||
|
+if HAVE_BASH_COMPLETION
|
||||||
|
+
|
||||||
|
+# Bash completion script.
|
||||||
|
+
|
||||||
|
+bashcompletiondir = $(BASH_COMPLETIONS_DIR)
|
||||||
|
+bashcompletion_DATA = $(scripts)
|
||||||
|
+
|
||||||
|
+endif
|
||||||
|
diff --git a/bash/README b/bash/README
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..db7d7bb
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/README
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+This directory contains the scripts for tab-completing commands in
|
||||||
|
+bash. Note these new-style demand-loaded scripts require
|
||||||
|
+'bash-completion' >= 1.99.
|
||||||
|
diff --git a/bash/guestfish b/bash/guestfish
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..d342578
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/guestfish
|
||||||
|
@@ -0,0 +1,72 @@
|
||||||
|
+# guestfish bash completion script -*- shell-script -*-
|
||||||
|
+# Copyright (C) 2010-2013 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+# List all local libvirt domains.
|
||||||
|
+_guestfs_virsh_list ()
|
||||||
|
+{
|
||||||
|
+ local flag_ro=$1 flags
|
||||||
|
+
|
||||||
|
+ if [ "$flag_ro" -eq 1 ]; then
|
||||||
|
+ flags="--all"
|
||||||
|
+ else
|
||||||
|
+ flags="--inactive"
|
||||||
|
+ fi
|
||||||
|
+ virsh list $flags | head -n -1 | tail -n +3 | awk '{print $2}'
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_guestfish ()
|
||||||
|
+{
|
||||||
|
+ local cur prev words cword split
|
||||||
|
+ local longopts flag_ro=0 c=1 word cmds doms
|
||||||
|
+
|
||||||
|
+ _init_completion -s || return
|
||||||
|
+
|
||||||
|
+ longopts="$(guestfish --long-options)"
|
||||||
|
+
|
||||||
|
+ # See if user has specified certain options anywhere on the
|
||||||
|
+ # command line before the current word.
|
||||||
|
+ while [ $c -lt $COMP_CWORD ]; do
|
||||||
|
+ word="${COMP_WORDS[c]}"
|
||||||
|
+ case "$word" in
|
||||||
|
+ -r|--ro) flag_ro=1 ;;
|
||||||
|
+ esac
|
||||||
|
+ c=$((++c))
|
||||||
|
+ done
|
||||||
|
+
|
||||||
|
+ case "$prev" in
|
||||||
|
+ -a|--add)
|
||||||
|
+ COMPREPLY=( $(compgen "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ -d|--domain)
|
||||||
|
+ doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
+ COMPREPLY=( $(compgen -W "$doms" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+ case "$cur" in
|
||||||
|
+ --*)
|
||||||
|
+ # --options
|
||||||
|
+ COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ *)
|
||||||
|
+ # Might be a guestfish command.
|
||||||
|
+ cmds=$(guestfish -h| head -n -1 | tail -n +2 | awk '{print $1}')
|
||||||
|
+ COMPREPLY=( $(compgen -W "$cmds" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _guestfish guestfish
|
||||||
|
diff --git a/bash/guestmount b/bash/guestmount
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..fa36c60
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/guestmount
|
||||||
|
@@ -0,0 +1,67 @@
|
||||||
|
+# guestmount bash completion script -*- shell-script -*-
|
||||||
|
+# Copyright (C) 2010-2013 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+# List all local libvirt domains.
|
||||||
|
+_guestfs_virsh_list ()
|
||||||
|
+{
|
||||||
|
+ local flag_ro=$1 flags
|
||||||
|
+
|
||||||
|
+ if [ "$flag_ro" -eq 1 ]; then
|
||||||
|
+ flags="--all"
|
||||||
|
+ else
|
||||||
|
+ flags="--inactive"
|
||||||
|
+ fi
|
||||||
|
+ virsh list $flags | head -n -1 | tail -n +3 | awk '{print $2}'
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_guestmount ()
|
||||||
|
+{
|
||||||
|
+ local cur prev words cword split
|
||||||
|
+ local longopts flag_ro=0 c=1 word doms
|
||||||
|
+
|
||||||
|
+ _init_completion -s || return
|
||||||
|
+
|
||||||
|
+ longopts="$(guestmount --long-options)"
|
||||||
|
+
|
||||||
|
+ # See if user has specified certain options anywhere on the
|
||||||
|
+ # command line before the current word.
|
||||||
|
+ while [ $c -lt $COMP_CWORD ]; do
|
||||||
|
+ word="${COMP_WORDS[c]}"
|
||||||
|
+ case "$word" in
|
||||||
|
+ -r|--ro) flag_ro=1 ;;
|
||||||
|
+ esac
|
||||||
|
+ c=$((++c))
|
||||||
|
+ done
|
||||||
|
+
|
||||||
|
+ case "$prev" in
|
||||||
|
+ -d|--domain)
|
||||||
|
+ doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
+ COMPREPLY=( $(compgen -W "$doms" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+ case "$cur" in
|
||||||
|
+ --*)
|
||||||
|
+ # --options
|
||||||
|
+ COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ *)
|
||||||
|
+ COMPREPLY=( $(compgen "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _guestmount guestmount
|
||||||
|
diff --git a/bash/virt-alignment-scan b/bash/virt-alignment-scan
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..e9e65bd
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/virt-alignment-scan
|
||||||
|
@@ -0,0 +1,108 @@
|
||||||
|
+# virt-tools bash completion script -*- shell-script -*-
|
||||||
|
+# Copyright (C) 2010-2013 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+# List all local libvirt domains.
|
||||||
|
+_guestfs_virsh_list ()
|
||||||
|
+{
|
||||||
|
+ local flag_ro=$1 flags
|
||||||
|
+
|
||||||
|
+ if [ "$flag_ro" -eq 1 ]; then
|
||||||
|
+ flags="--all"
|
||||||
|
+ else
|
||||||
|
+ flags="--inactive"
|
||||||
|
+ fi
|
||||||
|
+ virsh list $flags | head -n -1 | tail -n +3 | awk '{print $2}'
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_guestfs_virttools ()
|
||||||
|
+{
|
||||||
|
+ local cur prev words cword split
|
||||||
|
+ local longopts="$1" flag_ro="$2" doms
|
||||||
|
+
|
||||||
|
+ _init_completion -s || return
|
||||||
|
+
|
||||||
|
+ case "$prev" in
|
||||||
|
+ -d|--domain)
|
||||||
|
+ doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
+ COMPREPLY=( $(compgen -W "$doms" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+ case "$cur" in
|
||||||
|
+ --*)
|
||||||
|
+ # --options
|
||||||
|
+ COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ *)
|
||||||
|
+ COMPREPLY=( $(compgen "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_virt_alignment_scan ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-alignment-scan --long-options)" 1
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_alignment_scan virt-alignment-scan
|
||||||
|
+
|
||||||
|
+_virt_cat ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-cat --long-options)" 1
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_cat virt-cat
|
||||||
|
+
|
||||||
|
+_virt_df ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-df --long-options)" 1
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_df virt-df
|
||||||
|
+
|
||||||
|
+_virt_edit ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-edit --long-options)" 0
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_edit virt-edit
|
||||||
|
+
|
||||||
|
+_virt_filesystems ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-filesystems --long-options)" 1
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_filesystems virt-filesystems
|
||||||
|
+
|
||||||
|
+_virt_format ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-format --long-options)" 0
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_format virt-format
|
||||||
|
+
|
||||||
|
+_virt_inspector ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-inspector --long-options)" 1
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_inspector virt-inspector
|
||||||
|
+
|
||||||
|
+_virt_ls ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-ls --long-options)" 1
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_ls virt-ls
|
||||||
|
+
|
||||||
|
+_virt_sysprep ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_virttools "$(virt-sysprep --long-options)" 0
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_sysprep virt-sysprep
|
||||||
|
diff --git a/bash/virt-rescue b/bash/virt-rescue
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..5e5cfd0
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/virt-rescue
|
||||||
|
@@ -0,0 +1,67 @@
|
||||||
|
+# virt-rescue bash completion script -*- shell-script -*-
|
||||||
|
+# Copyright (C) 2010-2013 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+# List all local libvirt domains.
|
||||||
|
+_guestfs_virsh_list ()
|
||||||
|
+{
|
||||||
|
+ local flag_ro=$1 flags
|
||||||
|
+
|
||||||
|
+ if [ "$flag_ro" -eq 1 ]; then
|
||||||
|
+ flags="--all"
|
||||||
|
+ else
|
||||||
|
+ flags="--inactive"
|
||||||
|
+ fi
|
||||||
|
+ virsh list $flags | head -n -1 | tail -n +3 | awk '{print $2}'
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_virt_rescue ()
|
||||||
|
+{
|
||||||
|
+ local cur prev words cword split
|
||||||
|
+ local longopts flag_ro=0 c=1 word doms
|
||||||
|
+
|
||||||
|
+ _init_completion -s || return
|
||||||
|
+
|
||||||
|
+ longopts="$(virt-rescue --long-options)"
|
||||||
|
+
|
||||||
|
+ # See if user has specified certain options anywhere on the
|
||||||
|
+ # command line before the current word.
|
||||||
|
+ while [ $c -lt $COMP_CWORD ]; do
|
||||||
|
+ word="${COMP_WORDS[c]}"
|
||||||
|
+ case "$word" in
|
||||||
|
+ -r|--ro) flag_ro=1 ;;
|
||||||
|
+ esac
|
||||||
|
+ c=$((++c))
|
||||||
|
+ done
|
||||||
|
+
|
||||||
|
+ case "$prev" in
|
||||||
|
+ -d|--domain)
|
||||||
|
+ doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
+ COMPREPLY=( $(compgen -W "$doms" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+ case "$cur" in
|
||||||
|
+ --*)
|
||||||
|
+ # --options
|
||||||
|
+ COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ *)
|
||||||
|
+ COMPREPLY=( $(compgen "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_rescue virt-rescue
|
||||||
|
diff --git a/bash/virt-resize b/bash/virt-resize
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..d9770dc
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/bash/virt-resize
|
||||||
|
@@ -0,0 +1,46 @@
|
||||||
|
+# virt-resize, virt-sparsify bash completion script -*- shell-script -*-
|
||||||
|
+# Copyright (C) 2010-2013 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+_guestfs_options_only ()
|
||||||
|
+{
|
||||||
|
+ local cur prev words cword split
|
||||||
|
+ local longopts="$1"
|
||||||
|
+
|
||||||
|
+ _init_completion -s || return
|
||||||
|
+
|
||||||
|
+ case "$cur" in
|
||||||
|
+ --*)
|
||||||
|
+ # --options
|
||||||
|
+ COMPREPLY=( $(compgen -W "$longopts" -- "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ *)
|
||||||
|
+ COMPREPLY=( $(compgen "$cur") )
|
||||||
|
+ return ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_virt_resize ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_options_only "$(virt-resize --long-options)"
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_resize virt-resize
|
||||||
|
+
|
||||||
|
+_virt_sparsify ()
|
||||||
|
+{
|
||||||
|
+ _guestfs_options_only "$(virt-sparsify --long-options)"
|
||||||
|
+} &&
|
||||||
|
+complete -o default -F _virt_sparsify virt-sparsify
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 0c72621..61a9ebb 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -1483,6 +1483,19 @@ m4_ifdef([GTK_DOC_CHECK], [
|
||||||
|
AM_CONDITIONAL([ENABLE_GTK_DOC], false)
|
||||||
|
])
|
||||||
|
|
||||||
|
+dnl Bash completion.
|
||||||
|
+PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], [
|
||||||
|
+ bash_completion=yes
|
||||||
|
+ AC_MSG_CHECKING([for bash-completions directory])
|
||||||
|
+ BASH_COMPLETIONS_DIR="`pkg-config --variable=completionsdir bash-completion`"
|
||||||
|
+ AC_MSG_RESULT([$BASH_COMPLETIONS_DIR])
|
||||||
|
+ AC_SUBST([BASH_COMPLETIONS_DIR])
|
||||||
|
+],[
|
||||||
|
+ bash_completion=no
|
||||||
|
+ AC_MSG_WARN([bash-completion not installed])
|
||||||
|
+])
|
||||||
|
+AM_CONDITIONAL([HAVE_BASH_COMPLETION],[test "x$bash_completion" = "xyes"])
|
||||||
|
+
|
||||||
|
dnl Library versioning.
|
||||||
|
MAX_PROC_NR=`cat $srcdir/src/MAX_PROC_NR`
|
||||||
|
AC_SUBST(MAX_PROC_NR)
|
||||||
|
@@ -1508,6 +1521,7 @@ AC_CONFIG_FILES([run],
|
||||||
|
AC_CONFIG_FILES([Makefile
|
||||||
|
align/Makefile
|
||||||
|
appliance/Makefile
|
||||||
|
+ bash/Makefile
|
||||||
|
cat/Makefile
|
||||||
|
csharp/Makefile
|
||||||
|
daemon/Makefile
|
||||||
|
@@ -1626,6 +1640,8 @@ AS_ECHO_N(["gobject bindings .................... "])
|
||||||
|
if test "x$HAVE_GOBJECT_TRUE" = "x"; then echo "yes"; else echo "no"; fi
|
||||||
|
AS_ECHO_N(["gobject introspection ............... "])
|
||||||
|
if test "x$HAVE_INTROSPECTION_TRUE" = "x"; then echo "yes"; else echo "no"; fi
|
||||||
|
+AS_ECHO_N(["bash completion ..................... "])
|
||||||
|
+if test "x$HAVE_BASH_COMPLETION_TRUE" = "x"; then echo "yes"; else echo "no"; fi
|
||||||
|
echo
|
||||||
|
echo "If any optional component is configured 'no' when you expected 'yes'"
|
||||||
|
echo "then you should check the preceding messages."
|
||||||
|
diff --git a/fish/Makefile.am b/fish/Makefile.am
|
||||||
|
index 5aa6528..d1b4701 100644
|
||||||
|
--- a/fish/Makefile.am
|
||||||
|
+++ b/fish/Makefile.am
|
||||||
|
@@ -47,7 +47,6 @@ EXTRA_DIST = \
|
||||||
|
$(BUILT_SOURCES) \
|
||||||
|
rc_protocol.x \
|
||||||
|
guestfish.pod \
|
||||||
|
- libguestfs-bash-completion.sh \
|
||||||
|
libguestfs-tools.conf \
|
||||||
|
virt-copy-in \
|
||||||
|
virt-copy-out \
|
||||||
|
@@ -243,11 +242,6 @@ stamp-virt-tar-out.pod: virt-tar-out.pod
|
||||||
|
toolsconfdir = $(sysconfdir)
|
||||||
|
toolsconf_DATA = libguestfs-tools.conf
|
||||||
|
|
||||||
|
-# Bash completion script.
|
||||||
|
-
|
||||||
|
-bashcompletiondir = $(sysconfdir)/bash_completion.d
|
||||||
|
-bashcompletion_DATA = libguestfs-bash-completion.sh
|
||||||
|
-
|
||||||
|
# Tests.
|
||||||
|
|
||||||
|
TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
||||||
|
diff --git a/fish/libguestfs-bash-completion.sh b/fish/libguestfs-bash-completion.sh
|
||||||
|
deleted file mode 100644
|
||||||
|
index 452fdc2..0000000
|
||||||
|
--- a/fish/libguestfs-bash-completion.sh
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,326 +0,0 @@
|
||||||
|
-# guestfish, guestmount and libguestfs tools bash completion script
|
||||||
|
-# Copyright (C) 2010-2013 Red Hat Inc.
|
||||||
|
-#
|
||||||
|
-# This program is free software; you can redistribute it and/or modify
|
||||||
|
-# it under the terms of the GNU General Public License as published by
|
||||||
|
-# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-#
|
||||||
|
-# This program is distributed in the hope that it will be useful,
|
||||||
|
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
-# GNU General Public License for more details.
|
||||||
|
-#
|
||||||
|
-# You should have received a copy of the GNU General Public License
|
||||||
|
-# along with this program; if not, write to the Free Software
|
||||||
|
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
-
|
||||||
|
-# To use this script, copy it into /etc/bash_completion.d/ if
|
||||||
|
-# that directory exists.
|
||||||
|
-#
|
||||||
|
-# If your distro does not have that directory (or if you cannot or
|
||||||
|
-# do not want to install this in /etc) then you can copy this to
|
||||||
|
-# somewhere in your home directory such as
|
||||||
|
-# ~/.libguestfs-bash-completion.sh and add this to your .bashrc:
|
||||||
|
-# source ~/.libguestfs-bash-completion.sh
|
||||||
|
-
|
||||||
|
-# This was "inspired" by the git bash completion script written by
|
||||||
|
-# Shawn O. Pearce.
|
||||||
|
-
|
||||||
|
-_guestfs_complete ()
|
||||||
|
-{
|
||||||
|
- local fn="$1" cmd="$2"
|
||||||
|
- complete -o bashdefault -o default -F "$fn" "$cmd" 2>/dev/null \
|
||||||
|
- || complete -o default -F "$fn" "$cmd"
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-# List all local libvirt domains.
|
||||||
|
-_guestfs_virsh_list ()
|
||||||
|
-{
|
||||||
|
- local flag_ro=$1 flags
|
||||||
|
-
|
||||||
|
- if [ "$flag_ro" -eq 1 ]; then
|
||||||
|
- flags="--all"
|
||||||
|
- else
|
||||||
|
- flags="--inactive"
|
||||||
|
- fi
|
||||||
|
- virsh list $flags | head -n -1 | tail -n +3 | awk '{print $2}'
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-# guestfish
|
||||||
|
-_guestfs_guestfish ()
|
||||||
|
-{
|
||||||
|
- local longopts flag_a=0 flag_d=0 flag_ro=0 c=1 word cmds doms
|
||||||
|
-
|
||||||
|
- longopts="$(guestfish --long-options)"
|
||||||
|
-
|
||||||
|
- # See if user has specified certain options anywhere on the
|
||||||
|
- # command line before the current word.
|
||||||
|
- while [ $c -lt $COMP_CWORD ]; do
|
||||||
|
- word="${COMP_WORDS[c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -r|--ro) flag_ro=1 ;;
|
||||||
|
- esac
|
||||||
|
- c=$((++c))
|
||||||
|
- done
|
||||||
|
-
|
||||||
|
- # Check for flags preceeding the current position.
|
||||||
|
- c=$(($COMP_CWORD-1))
|
||||||
|
- if [ "$c" -gt 0 ]; then
|
||||||
|
- word="${COMP_WORDS[$c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -a|--add) flag_a=1 ;;
|
||||||
|
- -d|--domain) flag_d=1 ;;
|
||||||
|
- esac
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- # Now try to complete the current word.
|
||||||
|
- word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
- case "$word" in
|
||||||
|
- --*)
|
||||||
|
- # --options
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$longopts" -- "$word")) ;;
|
||||||
|
- *)
|
||||||
|
- if [ "$flag_d" -eq 1 ]; then
|
||||||
|
- # -d <domain>
|
||||||
|
- doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$doms" -- "$word"))
|
||||||
|
- elif [ "$flag_a" -eq 1 ]; then
|
||||||
|
- # -a <file>
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen "$word"))
|
||||||
|
- else
|
||||||
|
- # A guestfish command.
|
||||||
|
- cmds=$(guestfish -h| head -n -1 | tail -n +2 | awk '{print $1}')
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$cmds" -- "$word"))
|
||||||
|
- fi ;;
|
||||||
|
- esac
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_guestfish guestfish
|
||||||
|
-
|
||||||
|
-# guestmount
|
||||||
|
-_guestfs_guestmount ()
|
||||||
|
-{
|
||||||
|
- local longopts flag_d=0 flag_ro=0 c=1 word doms
|
||||||
|
-
|
||||||
|
- longopts="$(guestmount --long-options)"
|
||||||
|
-
|
||||||
|
- # See if user has specified certain options anywhere on the
|
||||||
|
- # command line before the current word.
|
||||||
|
- while [ $c -lt $COMP_CWORD ]; do
|
||||||
|
- word="${COMP_WORDS[c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -r|--ro) flag_ro=1 ;;
|
||||||
|
- esac
|
||||||
|
- c=$((++c))
|
||||||
|
- done
|
||||||
|
-
|
||||||
|
- # Check for flags preceeding the current position.
|
||||||
|
- c=$(($COMP_CWORD-1))
|
||||||
|
- if [ "$c" -gt 0 ]; then
|
||||||
|
- word="${COMP_WORDS[$c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -d|--domain) flag_d=1 ;;
|
||||||
|
- esac
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- # Now try to complete the current word.
|
||||||
|
- word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
- case "$word" in
|
||||||
|
- --*)
|
||||||
|
- # --options
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$longopts" -- "$word")) ;;
|
||||||
|
- *)
|
||||||
|
- if [ "$flag_d" -eq 1 ]; then
|
||||||
|
- # -d <domain>
|
||||||
|
- doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$doms" -- "$word"))
|
||||||
|
- else
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen "$word"))
|
||||||
|
- fi ;;
|
||||||
|
- esac
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_guestmount guestmount
|
||||||
|
-
|
||||||
|
-# virt-rescue (similar to guestmount)
|
||||||
|
-_guestfs_virt_rescue ()
|
||||||
|
-{
|
||||||
|
- local longopts flag_d=0 flag_ro=0 c=1 word doms
|
||||||
|
-
|
||||||
|
- longopts="$(virt-rescue --long-options)"
|
||||||
|
-
|
||||||
|
- # See if user has specified certain options anywhere on the
|
||||||
|
- # command line before the current word.
|
||||||
|
- while [ $c -lt $COMP_CWORD ]; do
|
||||||
|
- word="${COMP_WORDS[c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -r|--ro) flag_ro=1 ;;
|
||||||
|
- esac
|
||||||
|
- c=$((++c))
|
||||||
|
- done
|
||||||
|
-
|
||||||
|
- # Check for flags preceeding the current position.
|
||||||
|
- c=$(($COMP_CWORD-1))
|
||||||
|
- if [ "$c" -gt 0 ]; then
|
||||||
|
- word="${COMP_WORDS[$c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -d|--domain) flag_d=1 ;;
|
||||||
|
- esac
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- # Now try to complete the current word.
|
||||||
|
- word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
- case "$word" in
|
||||||
|
- --*)
|
||||||
|
- # --options
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$longopts" -- "$word")) ;;
|
||||||
|
- *)
|
||||||
|
- if [ "$flag_d" -eq 1 ]; then
|
||||||
|
- # -d <domain>
|
||||||
|
- doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$doms" -- "$word"))
|
||||||
|
- else
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen "$word"))
|
||||||
|
- fi ;;
|
||||||
|
- esac
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_rescue virt-rescue
|
||||||
|
-
|
||||||
|
-# Tools like virt-cat, virt-edit etc which have an implicit --ro or --rw.
|
||||||
|
-_guestfs_virttools ()
|
||||||
|
-{
|
||||||
|
- local longopts="$1" flag_ro="$2" flag_d=0 c word doms
|
||||||
|
-
|
||||||
|
- # Check for flags preceeding the current position.
|
||||||
|
- c=$(($COMP_CWORD-1))
|
||||||
|
- if [ "$c" -gt 0 ]; then
|
||||||
|
- word="${COMP_WORDS[$c]}"
|
||||||
|
- case "$word" in
|
||||||
|
- -d|--domain) flag_d=1 ;;
|
||||||
|
- esac
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
- # Now try to complete the current word.
|
||||||
|
- word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
- case "$word" in
|
||||||
|
- --*)
|
||||||
|
- # --options
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$longopts" -- "$word")) ;;
|
||||||
|
- *)
|
||||||
|
- if [ "$flag_d" -eq 1 ]; then
|
||||||
|
- # -d <domain>
|
||||||
|
- doms=$(_guestfs_virsh_list "$flag_ro")
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$doms" -- "$word"))
|
||||||
|
- else
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen "$word"))
|
||||||
|
- fi ;;
|
||||||
|
- esac
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_virt_alignment_scan ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-alignment-scan --long-options)" 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_alignment_scan virt-alignment-scan
|
||||||
|
-
|
||||||
|
-_guestfs_virt_cat ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-cat --long-options)" 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_cat virt-cat
|
||||||
|
-
|
||||||
|
-_guestfs_virt_df ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-df --long-options)" 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_df virt-df
|
||||||
|
-
|
||||||
|
-_guestfs_virt_edit ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-edit --long-options)" 0
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_edit virt-edit
|
||||||
|
-
|
||||||
|
-_guestfs_virt_filesystems ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-filesystems --long-options)" 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_filesystems virt-filesystems
|
||||||
|
-
|
||||||
|
-_guestfs_virt_format ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-format --long-options)" 0
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_format virt-format
|
||||||
|
-
|
||||||
|
-_guestfs_virt_inspector ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-inspector --long-options)" 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_inspector virt-inspector
|
||||||
|
-
|
||||||
|
-_guestfs_virt_ls ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-ls --long-options)" 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_ls virt-ls
|
||||||
|
-
|
||||||
|
-_guestfs_virt_sysprep ()
|
||||||
|
-{
|
||||||
|
- _guestfs_virttools "$(virt-sysprep --long-options)" 0
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_sysprep virt-sysprep
|
||||||
|
-
|
||||||
|
-# Where we can only complete --options.
|
||||||
|
-_guestfs_options_only ()
|
||||||
|
-{
|
||||||
|
- local longopts="$1" word
|
||||||
|
-
|
||||||
|
- # Try to complete the current word.
|
||||||
|
- word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
- case "$word" in
|
||||||
|
- --*)
|
||||||
|
- # --options
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$longopts" -- "$word")) ;;
|
||||||
|
- *)
|
||||||
|
- COMPREPLY=(${COMPREPLY[@]:-} $(compgen "$word"))
|
||||||
|
- esac
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_virt_resize ()
|
||||||
|
-{
|
||||||
|
- _guestfs_options_only "$(virt-resize --long-options)"
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_resize virt-resize
|
||||||
|
-
|
||||||
|
-_guestfs_virt_sparsify ()
|
||||||
|
-{
|
||||||
|
- _guestfs_options_only "$(virt-sparsify --long-options)"
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-_guestfs_complete _guestfs_virt_sparsify virt-sparsify
|
||||||
|
-
|
||||||
|
-# Not done:
|
||||||
|
-# - virt-copy-in
|
||||||
|
-# - virt-copy-out
|
||||||
|
-# - virt-list-filesystems
|
||||||
|
-# - virt-list-partitions
|
||||||
|
-# - virt-make-fs
|
||||||
|
-# - virt-tar
|
||||||
|
-# - virt-tar-in
|
||||||
|
-# - virt-tar-out
|
||||||
|
-# - virt-win-reg
|
||||||
|
-
|
||||||
|
-# EOF
|
||||||
|
diff --git a/src/guestfs.pod b/src/guestfs.pod
|
||||||
|
index 53cabde..263fccd 100644
|
||||||
|
--- a/src/guestfs.pod
|
||||||
|
+++ b/src/guestfs.pod
|
||||||
|
@@ -3894,6 +3894,10 @@ L<virt-alignment-scan(1)> command and documentation.
|
||||||
|
|
||||||
|
The libguestfs appliance, build scripts and so on.
|
||||||
|
|
||||||
|
+=item C<bash>
|
||||||
|
+
|
||||||
|
+Bash tab-completion scripts.
|
||||||
|
+
|
||||||
|
=item C<build-aux>
|
||||||
|
|
||||||
|
Various build scripts used by autotools.
|
||||||
|
--
|
||||||
|
1.8.1.4
|
||||||
|
|
@ -22,12 +22,16 @@ Summary: Access and modify virtual machine disk images
|
|||||||
Name: libguestfs
|
Name: libguestfs
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.21.23
|
Version: 1.21.23
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
|
||||||
|
# Source and patches.
|
||||||
URL: http://libguestfs.org/
|
URL: http://libguestfs.org/
|
||||||
Source0: http://libguestfs.org/download/1.21-development/%{name}-%{version}.tar.gz
|
Source0: http://libguestfs.org/download/1.21-development/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0001: 0001-Use-new-style-demand-loaded-bash-completion-scripts.patch
|
||||||
|
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||||
|
|
||||||
# Basic build requirements:
|
# Basic build requirements:
|
||||||
BuildRequires: perl(Pod::Simple)
|
BuildRequires: perl(Pod::Simple)
|
||||||
BuildRequires: perl(Pod::Man)
|
BuildRequires: perl(Pod::Man)
|
||||||
@ -69,6 +73,7 @@ BuildRequires: libacl-devel
|
|||||||
BuildRequires: libcap-devel
|
BuildRequires: libcap-devel
|
||||||
BuildRequires: libldm-devel
|
BuildRequires: libldm-devel
|
||||||
BuildRequires: yajl-devel
|
BuildRequires: yajl-devel
|
||||||
|
BuildRequires: bash-completion
|
||||||
|
|
||||||
# This is only needed for RHEL 5 because readline-devel doesn't
|
# This is only needed for RHEL 5 because readline-devel doesn't
|
||||||
# properly depend on it, but doesn't do any harm on other platforms:
|
# properly depend on it, but doesn't do any harm on other platforms:
|
||||||
@ -335,7 +340,6 @@ For Ruby bindings, install 'ruby-libguestfs'.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development tools and libraries for %{name}
|
Summary: Development tools and libraries for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: pkgconfig
|
Requires: pkgconfig
|
||||||
|
|
||||||
@ -351,7 +355,6 @@ for %{name}.
|
|||||||
|
|
||||||
%package tools-c
|
%package tools-c
|
||||||
Summary: System administration tools for virtual machines
|
Summary: System administration tools for virtual machines
|
||||||
Group: Development/Tools
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
@ -383,7 +386,6 @@ to avoid dependencies on Perl.
|
|||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: System administration tools for virtual machines
|
Summary: System administration tools for virtual machines
|
||||||
Group: Development/Tools
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
|
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
|
||||||
@ -463,9 +465,19 @@ Virt-win-reg lets you look at and modify the Windows Registry of
|
|||||||
Windows virtual machines.
|
Windows virtual machines.
|
||||||
|
|
||||||
|
|
||||||
|
%package bash-completion
|
||||||
|
Summary: Bash tab-completion scripts for %{name} tools
|
||||||
|
Requires: bash-completion >= 2.0
|
||||||
|
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
|
||||||
|
%description bash-completion
|
||||||
|
Install this package if you want intelligent bash tab-completion
|
||||||
|
for guestfish, guestmount and various virt-* tools.
|
||||||
|
|
||||||
|
|
||||||
%package live-service
|
%package live-service
|
||||||
Summary: %{name} live service
|
Summary: %{name} live service
|
||||||
Group: Development/Libraries
|
|
||||||
Requires(post): systemd-units
|
Requires(post): systemd-units
|
||||||
Requires(preun): systemd-units
|
Requires(preun): systemd-units
|
||||||
Requires(postun): systemd-units
|
Requires(postun): systemd-units
|
||||||
@ -490,7 +502,6 @@ This daemon is *not* required by %{name}.
|
|||||||
|
|
||||||
%package -n ocaml-%{name}
|
%package -n ocaml-%{name}
|
||||||
Summary: OCaml bindings for %{name}
|
Summary: OCaml bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
|
||||||
@ -503,7 +514,6 @@ programs which use %{name} you will also need ocaml-%{name}-devel.
|
|||||||
|
|
||||||
%package -n ocaml-%{name}-devel
|
%package -n ocaml-%{name}-devel
|
||||||
Summary: OCaml bindings for %{name}
|
Summary: OCaml bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: ocaml-%{name} = %{epoch}:%{version}-%{release}
|
Requires: ocaml-%{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
|
||||||
@ -514,7 +524,6 @@ required to use the OCaml bindings for %{name}.
|
|||||||
|
|
||||||
%package -n perl-Sys-Guestfs
|
%package -n perl-Sys-Guestfs
|
||||||
Summary: Perl bindings for %{name} (Sys::Guestfs)
|
Summary: Perl bindings for %{name} (Sys::Guestfs)
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||||
# RHBZ#523547
|
# RHBZ#523547
|
||||||
@ -530,7 +539,6 @@ perl-Sys-Guestfs contains Perl bindings for %{name} (Sys::Guestfs).
|
|||||||
|
|
||||||
%package -n python-%{name}
|
%package -n python-%{name}
|
||||||
Summary: Python bindings for %{name}
|
Summary: Python bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
||||||
@ -542,7 +550,6 @@ python-%{name} contains Python bindings for %{name}.
|
|||||||
|
|
||||||
%package -n ruby-%{name}
|
%package -n ruby-%{name}
|
||||||
Summary: Ruby bindings for %{name}
|
Summary: Ruby bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
%if 0%{?fedora} >= 19
|
%if 0%{?fedora} >= 19
|
||||||
Requires: ruby(release) = 2.0.0
|
Requires: ruby(release) = 2.0.0
|
||||||
@ -558,7 +565,6 @@ ruby-%{name} contains Ruby bindings for %{name}.
|
|||||||
|
|
||||||
%package java
|
%package java
|
||||||
Summary: Java bindings for %{name}
|
Summary: Java bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: java >= 1.5.0
|
Requires: java >= 1.5.0
|
||||||
Requires: jpackage-utils
|
Requires: jpackage-utils
|
||||||
@ -572,7 +578,6 @@ you will also need %{name}-java-devel.
|
|||||||
|
|
||||||
%package java-devel
|
%package java-devel
|
||||||
Summary: Java development package for %{name}
|
Summary: Java development package for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-java = %{epoch}:%{version}-%{release}
|
Requires: %{name}-java = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
@ -585,7 +590,6 @@ See also %{name}-javadoc.
|
|||||||
|
|
||||||
%package javadoc
|
%package javadoc
|
||||||
Summary: Java documentation for %{name}
|
Summary: Java documentation for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-java = %{epoch}:%{version}-%{release}
|
Requires: %{name}-java = %{epoch}:%{version}-%{release}
|
||||||
Requires: jpackage-utils
|
Requires: jpackage-utils
|
||||||
@ -596,7 +600,6 @@ Requires: jpackage-utils
|
|||||||
|
|
||||||
%package -n php-%{name}
|
%package -n php-%{name}
|
||||||
Summary: PHP bindings for %{name}
|
Summary: PHP bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: php
|
Requires: php
|
||||||
|
|
||||||
@ -606,7 +609,6 @@ php-%{name} contains PHP bindings for %{name}.
|
|||||||
|
|
||||||
%package -n erlang-%{name}
|
%package -n erlang-%{name}
|
||||||
Summary: Erlang bindings for %{name}
|
Summary: Erlang bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: erlang-erts
|
Requires: erlang-erts
|
||||||
|
|
||||||
@ -616,7 +618,6 @@ erlang-%{name} contains Erlang bindings for %{name}.
|
|||||||
|
|
||||||
%package -n lua-guestfs
|
%package -n lua-guestfs
|
||||||
Summary: Lua bindings for %{name}
|
Summary: Lua bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: lua
|
Requires: lua
|
||||||
|
|
||||||
@ -626,7 +627,6 @@ lua-guestfs contains Lua bindings for %{name}.
|
|||||||
|
|
||||||
%package gobject
|
%package gobject
|
||||||
Summary: GObject bindings for %{name}
|
Summary: GObject bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description gobject
|
%description gobject
|
||||||
@ -638,7 +638,6 @@ To develop software against these bindings, you need to install
|
|||||||
|
|
||||||
%package gobject-devel
|
%package gobject-devel
|
||||||
Summary: GObject bindings for %{name}
|
Summary: GObject bindings for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}-gobject = %{epoch}:%{version}-%{release}
|
Requires: %{name}-gobject = %{epoch}:%{version}-%{release}
|
||||||
Requires: gtk-doc
|
Requires: gtk-doc
|
||||||
|
|
||||||
@ -651,7 +650,6 @@ GObject bindings. It also contains GObject Introspection information.
|
|||||||
|
|
||||||
%package man-pages-ja
|
%package man-pages-ja
|
||||||
Summary: Japanese (ja) man pages for %{name}
|
Summary: Japanese (ja) man pages for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description man-pages-ja
|
%description man-pages-ja
|
||||||
@ -661,7 +659,6 @@ for %{name}.
|
|||||||
|
|
||||||
%package man-pages-uk
|
%package man-pages-uk
|
||||||
Summary: Ukrainian (uk) man pages for %{name}
|
Summary: Ukrainian (uk) man pages for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description man-pages-uk
|
%description man-pages-uk
|
||||||
@ -672,6 +669,9 @@ for %{name}.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
%patch0001 -p1
|
||||||
|
autoreconf -i
|
||||||
|
|
||||||
if [ "$(getenforce | tr '[A-Z]' '[a-z]')" != "disabled" ]; then
|
if [ "$(getenforce | tr '[A-Z]' '[a-z]')" != "disabled" ]; then
|
||||||
# For sVirt to work, the local temporary directory we use in the
|
# For sVirt to work, the local temporary directory we use in the
|
||||||
# tests must be labelled the same way as /tmp.
|
# tests must be labelled the same way as /tmp.
|
||||||
@ -857,8 +857,6 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
|
|||||||
%files tools-c
|
%files tools-c
|
||||||
%doc README
|
%doc README
|
||||||
%config(noreplace) %{_sysconfdir}/libguestfs-tools.conf
|
%config(noreplace) %{_sysconfdir}/libguestfs-tools.conf
|
||||||
%dir %{_sysconfdir}/bash_completion.d
|
|
||||||
%{_sysconfdir}/bash_completion.d/libguestfs-bash-completion.sh
|
|
||||||
%{_bindir}/guestfish
|
%{_bindir}/guestfish
|
||||||
%{_mandir}/man1/guestfish.1*
|
%{_mandir}/man1/guestfish.1*
|
||||||
%{_bindir}/guestmount
|
%{_bindir}/guestmount
|
||||||
@ -913,6 +911,13 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
|
|||||||
%{_mandir}/man1/virt-win-reg.1*
|
%{_mandir}/man1/virt-win-reg.1*
|
||||||
|
|
||||||
|
|
||||||
|
%files bash-completion
|
||||||
|
%dir %{_datadir}/bash-completion/completions
|
||||||
|
%{_datadir}/bash-completion/completions/guestfish
|
||||||
|
%{_datadir}/bash-completion/completions/guestmount
|
||||||
|
%{_datadir}/bash-completion/completions/virt-*
|
||||||
|
|
||||||
|
|
||||||
%files live-service
|
%files live-service
|
||||||
%doc COPYING README
|
%doc COPYING README
|
||||||
%{_sbindir}/guestfsd
|
%{_sbindir}/guestfsd
|
||||||
@ -1030,9 +1035,11 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Mar 28 2013 Richard W.M. Jones <rjones@redhat.com> - 1:1.21.23-1
|
* Thu Mar 28 2013 Richard W.M. Jones <rjones@redhat.com> - 1:1.21.23-2
|
||||||
- New upstream version 1.21.23.
|
- New upstream version 1.21.23.
|
||||||
- Rename guestfish-bash-completion.sh -> libguestfs-bash-completion.sh
|
- Remove 'Group' which is not required by modern RPM.
|
||||||
|
- Add patch to use new-style demand-loaded bash-completion scripts.
|
||||||
|
- Spin bash-completion scripts into a new libguestfs-bash-completion package.
|
||||||
|
|
||||||
* Mon Mar 18 2013 Richard W.M. Jones <rjones@redhat.com> - 1:1.21.22-1
|
* Mon Mar 18 2013 Richard W.M. Jones <rjones@redhat.com> - 1:1.21.22-1
|
||||||
- New upstream version 1.21.22.
|
- New upstream version 1.21.22.
|
||||||
|
Loading…
Reference in New Issue
Block a user