]> git.pld-linux.org Git - packages/bash-completion.git/blobdiff - bash-completion-rpm-cache.patch
- add pear from pear2 sandbox
[packages/bash-completion.git] / bash-completion-rpm-cache.patch
index 7f8190e8915a54504896d92ba7edcc1bdee1429e..14776144fb7b28c5eb1712fb743dcc1b6b9f77b4 100644 (file)
@@ -1,42 +1,20 @@
---- bash_completion/bash_completion~   2006-03-01 18:20:18.000000000 +0200
-+++ bash_completion/bash_completion    2008-01-08 02:50:17.000000000 +0200
-@@ -1732,29 +1732,20 @@
- #
+Support rpm (jbj rpm 4.4.7+) hrmib exports for rpm -qa filter (via %_hrmib_path /var/cache/hrmib)
+
+--
+Signed-off-by: Elan Ruusamäe <glen@delfi.ee>
+
+--- bash-completion-1.2/contrib/rpm~   2010-06-13 13:21:19.000000000 +0300
++++ bash-completion-1.2/contrib/rpm    2010-08-09 21:52:51.377872623 +0300
+@@ -5,6 +5,12 @@
  _rpm_installed_packages()
  {
--      local ver nodig nosig
-+      # refresh cache if writable
-+      if [ /var/cache/rpmpkgs.txt -ot /var/lib/rpm/Packages -a -w /var/cache/rpmpkgs.txt ]; then
-+              # we grab the output to local variable to prevent possible race
-+              local tmp=$(rpm -qa --nodigest --nosignature --qf '%{name}-%{version}-%{release}.%{arch}.rpm\n' | LC_ALL=C sort)
-+              echo "$tmp" > /var/cache/rpmpkgs.txt
-+      fi
--      if [ -r /var/log/rpmpkgs -a \
--              /var/log/rpmpkgs -nt /var/lib/rpm/Packages ]; then
-+      if [ -r /var/cache/rpmpkgs.txt -a /var/cache/rpmpkgs.txt -nt /var/lib/rpm/Packages ]; then
-               # using RHL 7.2 or later - this is quicker than querying the DB
-               COMPREPLY=( $( sed -ne \
--              's|^\('$cur'.*\)-[0-9a-zA-Z._]\+-[0-9a-z.@]\+.*\.rpm$|\1|p' \
--                              /var/log/rpmpkgs ) )
-+              's|^\('$cur'.*\)\.rpm$|\1|p' \
-+                              /var/cache/rpmpkgs.txt ) )
-       else
--              nodig=""
--              nosig=""
--              ver=$(rpm --version)
--              ver=${ver##* }
--        
--              if [[ "$ver" > "4.0.4" ]]; then
--                      nodig="--nodigest"
--              fi
--              if [[ "$ver" > "4.0.99" ]]; then
--                      nosig="--nosignature"
--              fi
--
--              COMPREPLY=( $( rpm -qa $nodig $nosig | sed -ne \
--              's|^\('$cur'.*\)-[0-9a-zA-Z._]\+-[0-9a-z.@]\+$|\1|p' ) )
-+              COMPREPLY=( $( rpm -qa --nodigest --nosignature --qf '%{name}-%{version}-%{release}.%{arch}\n' "$cur*" ) )
-       fi
- }
++    # if rpm (4.4.7+) is configured to export it's rpmdb to /var/cache/hrmib (%_hrmib_path)
++    if [ -d /var/cache/hrmib -a -r /var/cache/hrmib ]; then
++        COMPREPLY=( $( LC_ALL=C command ls -1 /var/cache/hrmib | sed -ne '/^'$cur'/p') )
++        return
++    fi
++
+     local nodig="$1" nosig="$2"
  
+     if [[ -r /var/log/rpmpkgs && \
This page took 0.319205 seconds and 4 git commands to generate.