From 4dc5fef81de3b10499217f8a5584049c3d919c19 Mon Sep 17 00:00:00 2001 From: Francesco Marinucci Date: Sat, 28 Feb 2015 15:01:17 +0000 Subject: [PATCH] bash-completion: moved to apps --- bash-completion/PKGBUILD | 49 +++++++++++++++++++ bash-completion/bash-4.3.patch | 27 ++++++++++ bash-completion/bash-completion-lz4.patch | 10 ++++ .../words_bad_array_subscript.patch | 13 +++++ 4 files changed, 99 insertions(+) create mode 100644 bash-completion/PKGBUILD create mode 100644 bash-completion/bash-4.3.patch create mode 100644 bash-completion/bash-completion-lz4.patch create mode 100644 bash-completion/words_bad_array_subscript.patch diff --git a/bash-completion/PKGBUILD b/bash-completion/PKGBUILD new file mode 100644 index 000000000..7615f96db --- /dev/null +++ b/bash-completion/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: abveritas@chakra-project.org> + +pkgname=bash-completion +pkgver=2.1 +pkgrel=2 +pkgdesc="Programmable completion for the bash shell" +arch=('any') +url="http://bash-completion.alioth.debian.org/" +license=('GPL') +depends=('bash') +options=('!emptydirs' '!makeflags') +#http://bash-completion.alioth.debian.org/files/${pkgname}-${pkgver}.tar.bz2 +source=('http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=snapshot;h=867282a7341ccfff9a0e8a8ef6bba6e781b66afb;sf=tgz' + bash-4.3.patch bash-completion-lz4.patch words_bad_array_subscript.patch) +sha1sums=('153a8d056d0f5cdc22477ebfa13c1a461ff95556' + 'd2a01350990c1221bd53d55edf31210c74d02bca' + 'a8cdbadacdce845ec69575e1046c197d54e64074' + 'ae1d9a334e4908464b339f929dd5874c2af11bd2') + +prepare() { + rm -rf ${pkgname}-${pkgver} + mv ${pkgname}-867282a ${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} + patch -p1 -i ../bash-4.3.patch + patch -p0 -i ../bash-completion-lz4.patch + patch -p1 -i ../words_bad_array_subscript.patch + autoreconf --install +} + +build() { + cd ${pkgname}-${pkgver} + + # this should be removed once /lib is a symlink to usr/lib + sed -i '/lib\/modules/ s,/lib/modules,/usr&,' bash_completion + + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + +# bash-completion is sourced in /etc/bash.bashrc so that non-bash shell don't source it + rm "${pkgdir}/etc/profile.d/bash_completion.sh" + +# remove Slackware's makepkg completion + rm "${pkgdir}/usr/share/bash-completion/completions/makepkg" +} diff --git a/bash-completion/bash-4.3.patch b/bash-completion/bash-4.3.patch new file mode 100644 index 000000000..09aa0106d --- /dev/null +++ b/bash-completion/bash-4.3.patch @@ -0,0 +1,27 @@ +--- a/bash_completion 2014-03-09 17:38:14 +0000 ++++ b/bash_completion 2014-03-13 23:26:44 +0000 +@@ -536,13 +536,23 @@ + # @param $2 Name of variable to return result to + _quote_readline_by_ref() + { +- if [[ $1 == \'* ]]; then ++ if [ -z "$1" ]; then ++ # avoid quoting if empty ++ printf -v $2 %s "$1" ++ elif [[ $1 == \'* ]]; then + # Leave out first character + printf -v $2 %s "${1:1}" ++ elif [[ $1 == ~* ]]; then ++ # avoid escaping first ~ ++ printf -v $2 ~%q "${1:1}" + else + printf -v $2 %q "$1" + fi + ++ # Replace double escaping ( \\ ) by single ( \ ) ++ # This happens always when argument is already escaped at cmdline, ++ # and passed to this function as e.g.: file\ with\ spaces ++ [[ ${!2} == *\\* ]] && printf -v $2 %s "${1//\\\\/\\}" + # If result becomes quoted like this: $'string', re-evaluate in order to + # drop the additional quoting. See also: http://www.mail-archive.com/ + # bash-completion-devel@lists.alioth.debian.org/msg01942.html diff --git a/bash-completion/bash-completion-lz4.patch b/bash-completion/bash-completion-lz4.patch new file mode 100644 index 000000000..ebc9e11f8 --- /dev/null +++ b/bash-completion/bash-completion-lz4.patch @@ -0,0 +1,10 @@ +--- completions/Makefile.am.orig 2014-03-20 19:31:07.341541256 -0400 ++++ completions/Makefile.am 2014-03-20 19:31:33.357950340 -0400 +@@ -195,6 +195,7 @@ + luseradd \ + luserdel \ + lvm \ ++ lz4 \ + lzip \ + lzma \ + lzop \ diff --git a/bash-completion/words_bad_array_subscript.patch b/bash-completion/words_bad_array_subscript.patch new file mode 100644 index 000000000..8a3a9eba0 --- /dev/null +++ b/bash-completion/words_bad_array_subscript.patch @@ -0,0 +1,13 @@ +diff --git a/bash_completion b/bash_completion +index 66d36b1..ce469d0 100644 +--- a/bash_completion ++++ b/bash_completion +@@ -707,7 +707,7 @@ _init_completion() + fi + done + +- [[ $cword -eq 0 ]] && return 1 ++ [[ $cword -le 0 ]] && return 1 + prev=${words[cword-1]} + + [[ ${split-} ]] && _split_longopt && split=true