[yum] update to latest HEAD.

James Antill james at fedoraproject.org
Thu Mar 28 20:29:53 UTC 2013


commit c723455f0f0896a06b65bec7a7de139fac8f529d
Author: James Antill <james at and.org>
Date:   Thu Mar 28 16:29:47 2013 -0400

    update to latest HEAD.
    
    - Fix optional packages getting installed by default. BZ 923547.
    - cacheReq() added to groups command.
    - Finally fix the installed obsoletes problem.
    - Sync specfiles.
    - Turn checking on, and fix check-po script.

 yum-HEAD.patch |  717 ++++++++++++++++++++++++++++++++++++++------------------
 yum.spec       |    7 +-
 2 files changed, 492 insertions(+), 232 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 9debe98..1b75dea 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -12,7 +12,7 @@ index 911da19..85decd5 100644
  .pydevproject
  asthelper.completions
 diff --git a/Makefile b/Makefile
-index 740b616..a1c0c0f 100644
+index 740b616..9e1d7af 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -1,4 +1,4 @@
@@ -21,14 +21,17 @@ index 740b616..a1c0c0f 100644
  PYFILES = $(wildcard *.py)
  PYLINT_MODULES =  *.py yum rpmUtils
  PYLINT_IGNORE = oldUtils.py
-@@ -26,6 +26,7 @@ install:
+@@ -26,8 +26,9 @@ install:
  	for p in $(PYFILES) ; do \
  		install -m 644 $$p $(DESTDIR)/usr/share/yum-cli/$$p; \
  	done
 +	chmod 755 $(DESTDIR)/usr/share/yum-cli/completion-helper.py
  	mv $(DESTDIR)/usr/share/yum-cli/yum-updatesd.py $(DESTDIR)/usr/share/yum-cli/yumupd.py
- 	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '$(PYDIR)', 1)"
+-	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '$(PYDIR)', 1)"
++	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '/usr/share/yum-cli', 1)"
  
+ 	mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/sbin
+ 	install -m 755 bin/yum.py $(DESTDIR)/usr/bin/yum
 @@ -38,6 +39,25 @@ install:
  
  	for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` -C $$d install; [ $$? = 0 ] || exit 1; done
@@ -96,7 +99,7 @@ index 2f6154e..2e5a052 100644
 diff --git a/cli.py b/cli.py
 old mode 100644
 new mode 100755
-index 6056d38..6993088
+index 6056d38..8ea5d1f
 --- a/cli.py
 +++ b/cli.py
 @@ -25,7 +25,7 @@ import sys
@@ -1674,8 +1677,12 @@ index 6056d38..6993088
              return False
          if self.conf.alwaysprompt:
              return True
-@@ -1400,7 +1968,6 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
-         #  package wasn't explictly given on the command line
+@@ -1397,10 +1965,9 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
+         # prompt if:
+         #  package was added to fill a dependency
+         #  package is being removed
+-        #  package wasn't explictly given on the command line
++        #  package wasn't explicitly given on the command line
          for txmbr in self.tsInfo.getMembers():
              if txmbr.isDep or \
 -                   txmbr.ts_state == 'e' or \
@@ -2334,7 +2341,7 @@ index 0000000..867d323
 +]
 diff --git a/docs/sphinxdocs/rstgenerator.py b/docs/sphinxdocs/rstgenerator.py
 new file mode 100755
-index 0000000..d2a0ed1
+index 0000000..ad24788
 --- /dev/null
 +++ b/docs/sphinxdocs/rstgenerator.py
 @@ -0,0 +1,222 @@
@@ -2515,7 +2522,7 @@ index 0000000..d2a0ed1
 +        if '__init__.py' in filenames:
 +            packages.add(dirpath)
 +
-+        # Find the heirarchy of packages that we are currently in
++        # Find the hierarchy of packages that we are currently in
 +        package_heirarchy = []
 +        #Recurse up to the root
 +        dirpath_i = dirpath
@@ -3496,19 +3503,25 @@ index 0cfaa4b..0000000
 -
 -exit 0
 diff --git a/etc/Makefile b/etc/Makefile
-index 29a7f95..ec5af83 100644
+index 29a7f95..99b5137 100644
 --- a/etc/Makefile
 +++ b/etc/Makefile
-@@ -24,15 +24,7 @@ install:
+@@ -1,4 +1,6 @@
+ YUMETC=$(DESTDIR)/etc/yum
++compdir = $(shell pkg-config --variable=completionsdir bash-completion)
++compdir := $(or $(compdir), "/etc/bash_completion.d")
+ 
+ all:
+ 	echo "Nothing to do"
+@@ -24,15 +26,8 @@ install:
  
  	mkdir -p $(DESTDIR)/etc/dbus-1/system.d/
  	install -m 755 yum-updatesd-dbus.conf $(DESTDIR)/etc/dbus-1/system.d/yum-updatesd.conf
 -
 -	install -m 755 yum-updatesd.conf $(DESTDIR)/etc/yum/yum-updatesd.conf
 -
-+	install -m 644 yum-updatesd.conf $(YUMETC)
- 	mkdir -p $(DESTDIR)/etc/bash_completion.d
- 	install -m 644 yum.bash $(DESTDIR)/etc/bash_completion.d
+-	mkdir -p $(DESTDIR)/etc/bash_completion.d
+-	install -m 644 yum.bash $(DESTDIR)/etc/bash_completion.d
 -	mkdir -p $(DESTDIR)/etc/cron.daily
 -	mkdir -p $(DESTDIR)/etc/sysconfig/
 -	install -D -m 755 0yum.cron $(DESTDIR)/etc/cron.daily/0yum.cron
@@ -3516,6 +3529,10 @@ index 29a7f95..ec5af83 100644
 -	install -D -m 644 yum-daily.yum $(YUMETC)/yum-daily.yum
 -	install -D -m 644 yum-weekly.yum $(YUMETC)/yum-weekly.yum
 -	install -D -m 644 yum-cron.sysconf $(DESTDIR)/etc/sysconfig/yum-cron
++	install -m 644 yum-updatesd.conf $(YUMETC)
++	mkdir -p $(DESTDIR)/$(compdir)
++	install -m 644 yum.bash $(DESTDIR)/$(compdir)/yum
++	ln -s yum $(DESTDIR)/$(compdir)/yummain.py
 +	install -m 644 yum-cron.conf $(YUMETC)
 diff --git a/etc/yum-cron b/etc/yum-cron
 deleted file mode 100755
@@ -3774,10 +3791,10 @@ index c60fa08..0000000
 -ts run
 -exit
 diff --git a/etc/yum.bash b/etc/yum.bash
-index f1e06e8..d741ff9 100644
+index f1e06e8..b319963 100644
 --- a/etc/yum.bash
 +++ b/etc/yum.bash
-@@ -1,53 +1,17 @@
+@@ -1,53 +1,25 @@
  # bash completion for yum
  
 -# arguments:
@@ -3801,8 +3818,15 @@ index f1e06e8..d741ff9 100644
 -        # -d 0 did that for us.
 -        COMPREPLY+=( $( ${yum:-yum} -d 0 -C list $1 "$2*" 2>/dev/null | \
 -            sed -ne 1d -e 's/[[:space:]].*//p' ) )
--    fi
 +    local IFS=$'\n'
++    if [[ -n "$YUM_CACHEDIR" && "$1 $2" == "list available" ]]; then
++        for db in $(find "$YUM_CACHEDIR" -name primary_db.sqlite); do
++            COMPREPLY+=( $( sqlite3 "$db" \
++                "SELECT name||'.'||arch FROM packages WHERE name LIKE '$3%'"
++            ) )
++        done
++        return
+     fi
 +    COMPREPLY+=( $(
 +        /usr/share/yum-cli/completion-helper.py -d 0 -C "$@" 2>/dev/null ) )
  }
@@ -3839,7 +3863,7 @@ index f1e06e8..d741ff9 100644
  }
  
  # arguments:
-@@ -56,7 +20,7 @@ _yum_grouplist()
+@@ -56,7 +28,7 @@ _yum_grouplist()
  _yum_plugins()
  {
      local val
@@ -3848,7 +3872,7 @@ index f1e06e8..d741ff9 100644
      COMPREPLY+=( $( compgen -W '$( command grep -il "^\s*enabled\s*=\s*$val" \
          /etc/yum/pluginconf.d/*.conf 2>/dev/null \
          | sed -ne "s|^.*/\([^/]\{1,\}\)\.conf$|\1|p" )' -- "$2" ) )
-@@ -75,9 +39,10 @@ _yum_baseopts()
+@@ -75,9 +47,10 @@ _yum_baseopts()
  {
      local opts='--help --tolerant --cacheonly --config --randomwait
          --debuglevel --showduplicates --errorlevel --rpmverbosity --quiet
@@ -3861,7 +3885,7 @@ index f1e06e8..d741ff9 100644
      [[ $COMP_LINE == *--noplugins* ]] || \
          opts+=" --disableplugin --enableplugin"
      printf %s "$opts"
-@@ -89,6 +54,16 @@ _yum_transactions()
+@@ -89,6 +62,16 @@ _yum_transactions()
          sed -ne 's/^[[:space:]]*\([0-9]\{1,\}\).*/\1/p' )" -- "$cur" ) )
  }
  
@@ -3878,7 +3902,7 @@ index f1e06e8..d741ff9 100644
  # arguments:
  #   1 = current word to be completed
  #   2 = previous word
-@@ -119,17 +94,17 @@ _yum_complete_baseopts()
+@@ -119,17 +102,17 @@ _yum_complete_baseopts()
              ;;
  
          --enablerepo)
@@ -3899,7 +3923,7 @@ index f1e06e8..d741ff9 100644
              COMPREPLY=( $( compgen -W '${COMPREPLY[@]} all main' -- "$1" ) )
              return 0
              ;;
-@@ -183,16 +158,16 @@ _yum()
+@@ -183,16 +166,16 @@ _yum()
  
      # Commands offered as completions
      local cmds=( check check-update clean deplist distro-sync downgrade
@@ -3920,7 +3944,7 @@ index f1e06e8..d741ff9 100644
              [[ ${words[i]} == $c ]] && cmd=$c && break
          done
      done
-@@ -205,13 +180,12 @@ _yum()
+@@ -205,13 +188,12 @@ _yum()
              return 0
              ;;
  
@@ -3936,7 +3960,7 @@ index f1e06e8..d741ff9 100644
                  COMPREPLY=( $( compgen -W 'expire-cache packages headers
                      metadata cache dbcache all' -- "$cur" ) )
              return 0
-@@ -224,59 +198,83 @@ _yum()
+@@ -224,59 +206,83 @@ _yum()
              ;;
  
          distro-sync|distribution-synchronization)
@@ -4036,7 +4060,7 @@ index f1e06e8..d741ff9 100644
                      ;;
              esac
              return 0
-@@ -288,42 +286,66 @@ _yum()
+@@ -288,42 +294,66 @@ _yum()
              ;;
  
          install)
@@ -4110,7 +4134,7 @@ index f1e06e8..d741ff9 100644
                  COMPREPLY=( $( compgen -W 'all installed available nogroups
                      grouplist groupinfo' -- "$cur" ) )
              return 0
-@@ -337,7 +359,11 @@ _yum()
+@@ -337,7 +367,11 @@ _yum()
  
      $split && return 0
  
@@ -4124,7 +4148,7 @@ index f1e06e8..d741ff9 100644
  complete -F _yum -o filenames yum yummain.py
  
 diff --git a/output.py b/output.py
-index b6aa277..26e3928 100755
+index b6aa277..020e2b6 100755
 --- a/output.py
 +++ b/output.py
 @@ -1,6 +1,6 @@
@@ -5190,6 +5214,15 @@ index b6aa277..26e3928 100755
          '''
          delta_exit_chk = 2.0      # Delta between C-c's so we treat as exit
          delta_exit_str = _("two") # Human readable version of above
+@@ -1253,7 +1771,7 @@ Transaction Summary
+             # For translators: This is output like:
+ #  Current download cancelled, interrupt (ctrl-c) again within two seconds
+ # to exit.
+-            # Where "interupt (ctrl-c) again" and "two" are highlighted.
++            # Where "interrupt (ctrl-c) again" and "two" are highlighted.
+             msg = _("""
+  Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds
+ to exit.
 @@ -1269,6 +1787,14 @@ to exit.
  
      def download_callback_total_cb(self, remote_pkgs, remote_size,
@@ -5685,7 +5718,7 @@ index b6aa277..26e3928 100755
 +        if opc <= 1:
 +            output = True
 +        elif current <= 1:
-+            output = True # output the begining
++            output = True # output the beginning
 +        elif current == total:
 +            output = True # output the end
 +        elif not (current % opc):
@@ -5791,6 +5824,15 @@ index b6aa277..26e3928 100755
          if msgs:
              sys.stdout.write(to_unicode(msgs))
              sys.stdout.flush()
+@@ -2396,7 +3205,7 @@ class YumCliRPMCallBack(RPMBaseCallback):
+             pnl = utf8_width(pkgname)
+ 
+         overhead  = (2 * l) + 2 # Length of done, above
+-        overhead +=  2+ wid1 +2 # Length of begining ("  " action " :")
++        overhead +=  2+ wid1 +2 # Length of beginning ("  " action " :")
+         overhead +=  1          # Space between pn and done
+         overhead +=  2          # Ends for progress
+         overhead +=  1          # Space for end
 @@ -2429,8 +3238,30 @@ class YumCliRPMCallBack(RPMBaseCallback):
              wid2 = pnl
          return fmt, wid1, wid2
@@ -5824,7 +5866,7 @@ index b6aa277..26e3928 100755
      mark = '#'
 diff --git a/po/bg.po b/po/bg.po
 new file mode 100644
-index 0000000..63d00c7
+index 0000000..7889293
 --- /dev/null
 +++ b/po/bg.po
 @@ -0,0 +1,3506 @@
@@ -6883,7 +6925,7 @@ index 0000000..63d00c7
 +#. For translators: This is output like:
 +#. Current download cancelled, interrupt (ctrl-c) again within two seconds
 +#. to exit.
-+#. Where "interupt (ctrl-c) again" and "two" are highlighted.
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
 +#, python-format
 +msgid ""
@@ -9335,7 +9377,7 @@ index 0000000..63d00c7
 +msgid "Error opening rpm %s - error %s"
 +msgstr "Грешка при отваряне на rpm %s - грешка %s"
 diff --git a/po/bn_IN.po b/po/bn_IN.po
-index f1f232a..66f749c 100644
+index f1f232a..fbec035 100644
 --- a/po/bn_IN.po
 +++ b/po/bn_IN.po
 @@ -2,427 +2,506 @@
@@ -10550,7 +10592,7 @@ index f1f232a..66f749c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -10631,11 +10673,12 @@ index f1f232a..66f749c 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1053,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -13566,10 +13609,10 @@ index f1f232a..66f749c 100644
 -
 -
 diff --git a/po/ca.po b/po/ca.po
-index cca37b7..52f0094 100644
+index cca37b7..6ab974e 100644
 --- a/po/ca.po
 +++ b/po/ca.po
-@@ -2,944 +2,1050 @@
+@@ -2,1504 +2,1643 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -14892,11 +14935,12 @@ index cca37b7..52f0094 100644
  msgid "two"
  msgstr "dos"
  
-@@ -947,559 +1053,592 @@ msgstr "dos"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -17976,7 +18020,7 @@ index cca37b7..52f0094 100644
 -
 -
 diff --git a/po/cs.po b/po/cs.po
-index 622394b..6da0bf3 100644
+index 622394b..f992f1a 100644
 --- a/po/cs.po
 +++ b/po/cs.po
 @@ -2,1515 +2,1670 @@
@@ -19421,8 +19465,9 @@ index 622394b..6da0bf3 100644
  #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -22699,10 +22744,10 @@ index 622394b..6da0bf3 100644
 -
 -
 diff --git a/po/da.po b/po/da.po
-index a7202e2..c0d5bf8 100644
+index a7202e2..5c2d4fd 100644
 --- a/po/da.po
 +++ b/po/da.po
-@@ -2,941 +2,1051 @@
+@@ -2,1519 +2,1656 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -24039,11 +24084,12 @@ index a7202e2..c0d5bf8 100644
  msgid "two"
  msgstr "to"
  
-@@ -944,577 +1054,604 @@ msgstr "to"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -27162,10 +27208,10 @@ index a7202e2..c0d5bf8 100644
 -
 -
 diff --git a/po/de.po b/po/de.po
-index fa39cb0..f9186ca 100644
+index fa39cb0..3f1e62e 100644
 --- a/po/de.po
 +++ b/po/de.po
-@@ -2,947 +2,1057 @@
+@@ -2,1522 +2,1662 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -28568,11 +28614,12 @@ index fa39cb0..f9186ca 100644
  msgid "two"
  msgstr "zwei"
  
-@@ -950,574 +1060,604 @@ msgstr "zwei"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -31873,7 +31920,7 @@ index fa39cb0..f9186ca 100644
 -
 +msgstr "Fehler beim Öffnen des RPM %s - Fehler %s"
 diff --git a/po/el.po b/po/el.po
-index 8df34e7..e0af061 100644
+index 8df34e7..11204f5 100644
 --- a/po/el.po
 +++ b/po/el.po
 @@ -2,428 +2,508 @@
@@ -33110,7 +33157,7 @@ index 8df34e7..e0af061 100644
  #, python-format
  msgid ""
  "\n"
-@@ -870,57 +996,58 @@ msgid ""
+@@ -870,65 +996,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -33191,11 +33238,12 @@ index 8df34e7..e0af061 100644
  msgid "two"
  msgstr ""
  
-@@ -928,7 +1055,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -36144,10 +36192,10 @@ index 8df34e7..e0af061 100644
 -
 -
 diff --git a/po/en_GB.po b/po/en_GB.po
-index 0f3c750..3f37033 100644
+index 0f3c750..323c119 100644
 --- a/po/en_GB.po
 +++ b/po/en_GB.po
-@@ -2,938 +2,1052 @@
+@@ -2,1503 +2,1645 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -37472,11 +37520,12 @@ index 0f3c750..3f37033 100644
  msgid "two"
  msgstr "two"
  
-@@ -941,564 +1055,592 @@ msgstr "two"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -40549,10 +40598,10 @@ index 0f3c750..3f37033 100644
 -
 -
 diff --git a/po/es.po b/po/es.po
-index 2b1397d..4f98332 100644
+index 2b1397d..443556a 100644
 --- a/po/es.po
 +++ b/po/es.po
-@@ -2,957 +2,1056 @@
+@@ -2,1529 +2,1649 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -41916,11 +41965,12 @@ index 2b1397d..4f98332 100644
  msgid "two"
  msgstr "dos"
  
-@@ -960,571 +1059,592 @@ msgstr "dos"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -45083,10 +45133,10 @@ index 2b1397d..4f98332 100644
 -
 -
 diff --git a/po/eu.po b/po/eu.po
-index f92862c..99871fe 100644
+index f92862c..1bf107b 100644
 --- a/po/eu.po
 +++ b/po/eu.po
-@@ -2,947 +2,1052 @@
+@@ -2,1514 +2,1645 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -46423,11 +46473,12 @@ index f92862c..99871fe 100644
  msgid "two"
  msgstr "bi"
  
-@@ -950,566 +1055,592 @@ msgstr "bi"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -49548,10 +49599,10 @@ index f92862c..99871fe 100644
 -
 -
 diff --git a/po/fi.po b/po/fi.po
-index 269bf15..e4dfb5e 100644
+index 269bf15..630253e 100644
 --- a/po/fi.po
 +++ b/po/fi.po
-@@ -2,949 +2,1051 @@
+@@ -2,1516 +2,1644 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -50887,11 +50938,12 @@ index 269bf15..e4dfb5e 100644
  msgid "two"
  msgstr "kahden"
  
-@@ -952,566 +1054,592 @@ msgstr "kahden"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -53966,10 +54018,10 @@ index 269bf15..e4dfb5e 100644
 -
 -
 diff --git a/po/fr.po b/po/fr.po
-index 4636b15..b036953 100644
+index 4636b15..29a20af 100644
 --- a/po/fr.po
 +++ b/po/fr.po
-@@ -2,958 +2,1053 @@
+@@ -2,1530 +2,1646 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -55356,11 +55408,12 @@ index 4636b15..b036953 100644
  msgid "two"
  msgstr "deux"
  
-@@ -961,571 +1056,592 @@ msgstr "deux"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -58562,7 +58615,7 @@ index 4636b15..b036953 100644
 -
 -
 diff --git a/po/gu.po b/po/gu.po
-index e9ad955..ea00c75 100644
+index e9ad955..8a97d66 100644
 --- a/po/gu.po
 +++ b/po/gu.po
 @@ -2,875 +2,992 @@
@@ -59793,7 +59846,7 @@ index e9ad955..ea00c75 100644
  #, python-format
  msgid ""
  "\n"
-@@ -878,57 +995,58 @@ msgid ""
+@@ -878,65 +995,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -59875,11 +59928,12 @@ index e9ad955..ea00c75 100644
  msgid "two"
  msgstr "બે"
  
-@@ -936,7 +1054,7 @@ msgstr "બે"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -62831,7 +62885,7 @@ index e9ad955..ea00c75 100644
 -
 -
 diff --git a/po/hi.po b/po/hi.po
-index 988a7a5..b35083e 100644
+index 988a7a5..8de5599 100644
 --- a/po/hi.po
 +++ b/po/hi.po
 @@ -2,427 +2,506 @@
@@ -64046,7 +64100,7 @@ index 988a7a5..b35083e 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -64127,11 +64181,12 @@ index 988a7a5..b35083e 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1053,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -67062,10 +67117,10 @@ index 988a7a5..b35083e 100644
 -
 -
 diff --git a/po/hu.po b/po/hu.po
-index db7c07f..800875a 100644
+index db7c07f..68be45c 100644
 --- a/po/hu.po
 +++ b/po/hu.po
-@@ -2,944 +2,1052 @@
+@@ -2,1510 +2,1645 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -68404,11 +68459,12 @@ index db7c07f..800875a 100644
  msgid "two"
  msgstr "kettő"
  
-@@ -947,565 +1055,592 @@ msgstr "kettő"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -71545,7 +71601,7 @@ index db7c07f..800875a 100644
 -
 -
 diff --git a/po/id.po b/po/id.po
-index 2fbdf46..1feb897 100644
+index 2fbdf46..bb0fb51 100644
 --- a/po/id.po
 +++ b/po/id.po
 @@ -2,1477 +2,1646 @@
@@ -73023,8 +73079,9 @@ index 2fbdf46..1feb897 100644
  #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -76409,10 +76466,10 @@ index 2fbdf46..1feb897 100644
 -
 +msgstr "Kesalahan didalam membuka rpm %s - kesalahan %s"
 diff --git a/po/id_ID.po b/po/id_ID.po
-index 964c239..bff0196 100644
+index 964c239..52ba317 100644
 --- a/po/id_ID.po
 +++ b/po/id_ID.po
-@@ -2,938 +2,1040 @@
+@@ -2,946 +2,1048 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -77720,11 +77777,12 @@ index 964c239..bff0196 100644
  msgid "two"
  msgstr "dua"
  
-@@ -941,7 +1043,7 @@ msgstr "dua"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -80670,10 +80728,10 @@ index 964c239..bff0196 100644
 -
 -
 diff --git a/po/it.po b/po/it.po
-index 44b6091..391f4ca 100644
+index 44b6091..dd93a17 100644
 --- a/po/it.po
 +++ b/po/it.po
-@@ -2,943 +2,1051 @@
+@@ -2,1523 +2,1656 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -82016,11 +82074,12 @@ index 44b6091..391f4ca 100644
  msgid "two"
  msgstr "due"
  
-@@ -946,579 +1054,604 @@ msgstr "due"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -85170,10 +85229,10 @@ index 44b6091..391f4ca 100644
 -
 -
 diff --git a/po/ja.po b/po/ja.po
-index a232b0c..7fefa70 100644
+index a232b0c..f8ebfc7 100644
 --- a/po/ja.po
 +++ b/po/ja.po
-@@ -2,935 +2,1044 @@
+@@ -2,1497 +2,1637 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -86504,11 +86563,12 @@ index a232b0c..7fefa70 100644
  msgid "two"
  msgstr "2"
  
-@@ -938,561 +1047,592 @@ msgstr "2"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -89540,10 +89600,10 @@ index a232b0c..7fefa70 100644
 -
 -
 diff --git a/po/lt_LT.po b/po/lt_LT.po
-index 4a1d933..f0c9981 100644
+index 4a1d933..f9c3f43 100644
 --- a/po/lt_LT.po
 +++ b/po/lt_LT.po
-@@ -2,944 +2,1063 @@
+@@ -2,1510 +2,1656 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -90896,11 +90956,12 @@ index 4a1d933..f0c9981 100644
  msgid "two"
  msgstr "du"
  
-@@ -947,565 +1066,592 @@ msgstr "du"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -94022,7 +94083,7 @@ index 4a1d933..f0c9981 100644
 -
 -
 diff --git a/po/mr.po b/po/mr.po
-index 5163eab..ac51b9e 100644
+index 5163eab..7556e8f 100644
 --- a/po/mr.po
 +++ b/po/mr.po
 @@ -2,427 +2,506 @@
@@ -95237,7 +95298,7 @@ index 5163eab..ac51b9e 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -95318,11 +95379,12 @@ index 5163eab..ac51b9e 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1053,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -98253,7 +98315,7 @@ index 5163eab..ac51b9e 100644
 -
 -
 diff --git a/po/ms.po b/po/ms.po
-index 2b9119e..f93023c 100644
+index 2b9119e..e4d6a73 100644
 --- a/po/ms.po
 +++ b/po/ms.po
 @@ -2,427 +2,497 @@
@@ -99457,7 +99519,7 @@ index 2b9119e..f93023c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +984,57 @@ msgid ""
+@@ -869,65 +984,65 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -99537,11 +99599,12 @@ index 2b9119e..f93023c 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1042,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -102467,10 +102530,10 @@ index 2b9119e..f93023c 100644
 -
 -
 diff --git a/po/nb.po b/po/nb.po
-index d2ee996..656e27e 100644
+index d2ee996..cf3cf41 100644
 --- a/po/nb.po
 +++ b/po/nb.po
-@@ -2,940 +2,1050 @@
+@@ -2,1442 +2,1601 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -103787,11 +103850,12 @@ index d2ee996..656e27e 100644
  msgid "two"
  msgstr "to"
  
-@@ -943,501 +1053,550 @@ msgstr "to"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -106812,7 +106876,7 @@ index d2ee996..656e27e 100644
 -
 diff --git a/po/nl.po b/po/nl.po
 new file mode 100644
-index 0000000..4d07fc4
+index 0000000..47bc5e9
 --- /dev/null
 +++ b/po/nl.po
 @@ -0,0 +1,3506 @@
@@ -107871,7 +107935,7 @@ index 0000000..4d07fc4
 +#. For translators: This is output like:
 +#. Current download cancelled, interrupt (ctrl-c) again within two seconds
 +#. to exit.
-+#. Where "interupt (ctrl-c) again" and "two" are highlighted.
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
 +#, python-format
 +msgid ""
@@ -110324,7 +110388,7 @@ index 0000000..4d07fc4
 +msgstr "Fout bij het openen van rpm %s - fout %s"
 diff --git a/po/nl_NL.po b/po/nl_NL.po
 new file mode 100644
-index 0000000..5b4f752
+index 0000000..43145ae
 --- /dev/null
 +++ b/po/nl_NL.po
 @@ -0,0 +1,3506 @@
@@ -111383,7 +111447,7 @@ index 0000000..5b4f752
 +#. For translators: This is output like:
 +#. Current download cancelled, interrupt (ctrl-c) again within two seconds
 +#. to exit.
-+#. Where "interupt (ctrl-c) again" and "two" are highlighted.
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
 +#, python-format
 +msgid ""
@@ -113835,10 +113899,10 @@ index 0000000..5b4f752
 +msgid "Error opening rpm %s - error %s"
 +msgstr "Fout bij het openen van rpm %s - fout %s"
 diff --git a/po/pa.po b/po/pa.po
-index e714500..ac83881 100644
+index e714500..b96df92 100644
 --- a/po/pa.po
 +++ b/po/pa.po
-@@ -2,937 +2,1051 @@
+@@ -2,1516 +2,1656 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -115166,11 +115230,12 @@ index e714500..ac83881 100644
  msgid "two"
  msgstr "ਦੋ"
  
-@@ -940,578 +1054,604 @@ msgstr "ਦੋ"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -118262,10 +118327,10 @@ index e714500..ac83881 100644
 -
 -
 diff --git a/po/pl.po b/po/pl.po
-index 0fe83a9..828ce58 100644
+index 0fe83a9..e907814 100644
 --- a/po/pl.po
 +++ b/po/pl.po
-@@ -2,952 +2,1062 @@
+@@ -2,1518 +2,1655 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -119621,11 +119686,12 @@ index 0fe83a9..828ce58 100644
  msgid "two"
  msgstr "dwóch"
  
-@@ -955,565 +1065,592 @@ msgstr "dwóch"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -122764,7 +122830,7 @@ index 0fe83a9..828ce58 100644
 -
 -
 diff --git a/po/pt.po b/po/pt.po
-index 9e76ec0..6c2886c 100644
+index 9e76ec0..e48ed87 100644
 --- a/po/pt.po
 +++ b/po/pt.po
 @@ -2,427 +2,506 @@
@@ -123978,7 +124044,7 @@ index 9e76ec0..6c2886c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -124059,11 +124125,12 @@ index 9e76ec0..6c2886c 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1053,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -126996,10 +127063,10 @@ index 9e76ec0..6c2886c 100644
 -
 -
 diff --git a/po/pt_BR.po b/po/pt_BR.po
-index 493f090..74baf4d 100644
+index 493f090..bab71ba 100644
 --- a/po/pt_BR.po
 +++ b/po/pt_BR.po
-@@ -2,943 +2,1052 @@
+@@ -2,1511 +2,1645 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -128338,11 +128405,12 @@ index 493f090..74baf4d 100644
  msgid "two"
  msgstr "dois"
  
-@@ -946,567 +1055,592 @@ msgstr "dois"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -131453,7 +131521,7 @@ index 493f090..74baf4d 100644
 -
 diff --git a/po/pt_PT.po b/po/pt_PT.po
 new file mode 100644
-index 0000000..f633c93
+index 0000000..7dcef70
 --- /dev/null
 +++ b/po/pt_PT.po
 @@ -0,0 +1,3506 @@
@@ -132512,7 +132580,7 @@ index 0000000..f633c93
 +#. For translators: This is output like:
 +#. Current download cancelled, interrupt (ctrl-c) again within two seconds
 +#. to exit.
-+#. Where "interupt (ctrl-c) again" and "two" are highlighted.
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
 +#, python-format
 +msgid ""
@@ -134974,10 +135042,10 @@ index 276a433..7f13138 100644
  #
  # minimally patched to make it even more xgettext compatible 
 diff --git a/po/ru.po b/po/ru.po
-index 52ba58b..daba5d6 100644
+index 52ba58b..c474606 100644
 --- a/po/ru.po
 +++ b/po/ru.po
-@@ -2,950 +2,1064 @@
+@@ -2,1514 +2,1657 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -136332,11 +136400,12 @@ index 52ba58b..daba5d6 100644
  msgid "two"
  msgstr "двух"
  
-@@ -953,563 +1067,592 @@ msgstr "двух"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -139434,7 +139503,7 @@ index 52ba58b..daba5d6 100644
 -
 diff --git a/po/sk.po b/po/sk.po
 new file mode 100644
-index 0000000..911b5de
+index 0000000..ccee18e
 --- /dev/null
 +++ b/po/sk.po
 @@ -0,0 +1,3522 @@
@@ -140504,7 +140573,7 @@ index 0000000..911b5de
 +#. For translators: This is output like:
 +#. Current download cancelled, interrupt (ctrl-c) again within two seconds
 +#. to exit.
-+#. Where "interupt (ctrl-c) again" and "two" are highlighted.
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
 +#, python-format
 +msgid ""
@@ -142961,7 +143030,7 @@ index 0000000..911b5de
 +msgid "Error opening rpm %s - error %s"
 +msgstr "Chyba pri otvorení rpm %s - chyba %s"
 diff --git a/po/sr.po b/po/sr.po
-index 351d6db..78fa7c8 100644
+index 351d6db..81eecdc 100644
 --- a/po/sr.po
 +++ b/po/sr.po
 @@ -2,879 +2,1001 @@
@@ -144207,7 +144276,7 @@ index 351d6db..78fa7c8 100644
  #, python-format
  msgid ""
  "\n"
-@@ -882,57 +1004,59 @@ msgid ""
+@@ -882,65 +1004,67 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -144289,11 +144358,12 @@ index 351d6db..78fa7c8 100644
  msgid "two"
  msgstr "два"
  
-@@ -940,7 +1064,7 @@ msgstr "два"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -147338,7 +147408,7 @@ index 351d6db..78fa7c8 100644
 -
 -
 diff --git a/po/sr at latin.po b/po/sr at latin.po
-index 2576fa8..1e2795d 100644
+index 2576fa8..f718e05 100644
 --- a/po/sr at latin.po
 +++ b/po/sr at latin.po
 @@ -2,880 +2,1001 @@
@@ -148585,7 +148655,7 @@ index 2576fa8..1e2795d 100644
  #, python-format
  msgid ""
  "\n"
-@@ -883,57 +1004,59 @@ msgid ""
+@@ -883,65 +1004,67 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -148667,11 +148737,12 @@ index 2576fa8..1e2795d 100644
  msgid "two"
  msgstr "dva"
  
-@@ -941,7 +1064,7 @@ msgstr "dva"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -151716,10 +151787,10 @@ index 2576fa8..1e2795d 100644
 -
 -
 diff --git a/po/sv.po b/po/sv.po
-index b9c109b..57ce514 100644
+index b9c109b..c45e7f1 100644
 --- a/po/sv.po
 +++ b/po/sv.po
-@@ -2,946 +2,1052 @@
+@@ -2,1512 +2,1645 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -153057,11 +153128,12 @@ index b9c109b..57ce514 100644
  msgid "two"
  msgstr "två"
  
-@@ -949,565 +1055,592 @@ msgstr "två"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -156164,7 +156236,7 @@ index b9c109b..57ce514 100644
 -
 diff --git a/po/tr.po b/po/tr.po
 new file mode 100644
-index 0000000..5deb30d
+index 0000000..57fee42
 --- /dev/null
 +++ b/po/tr.po
 @@ -0,0 +1,3491 @@
@@ -157213,7 +157285,7 @@ index 0000000..5deb30d
 +#. For translators: This is output like:
 +#. Current download cancelled, interrupt (ctrl-c) again within two seconds
 +#. to exit.
-+#. Where "interupt (ctrl-c) again" and "two" are highlighted.
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
 +#, python-format
 +msgid ""
@@ -159660,10 +159732,10 @@ index 0000000..5deb30d
 +msgid "Error opening rpm %s - error %s"
 +msgstr ""
 diff --git a/po/uk.po b/po/uk.po
-index f5a658d..85da080 100644
+index f5a658d..454d977 100644
 --- a/po/uk.po
 +++ b/po/uk.po
-@@ -2,951 +2,1063 @@
+@@ -2,1516 +2,1656 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -161020,11 +161092,12 @@ index f5a658d..85da080 100644
  msgid "two"
  msgstr "два"
  
-@@ -954,564 +1066,592 @@ msgstr "два"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -164148,7 +164221,7 @@ index f5a658d..85da080 100644
 -
 -
 diff --git a/po/ur.po b/po/ur.po
-index 40bd619..8b7c23c 100644
+index 40bd619..562ed0a 100644
 --- a/po/ur.po
 +++ b/po/ur.po
 @@ -2,427 +2,506 @@
@@ -165363,7 +165436,7 @@ index 40bd619..8b7c23c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -165444,11 +165517,12 @@ index 40bd619..8b7c23c 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1053,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -172693,10 +172767,10 @@ index 97ae91a..27dd693 100644
  #, python-format
  msgid "Header cannot be opened or does not match %s, %s."
 diff --git a/po/zh_CN.po b/po/zh_CN.po
-index 9fe1a5c..90bf81d 100644
+index 9fe1a5c..d0a0ab9 100644
 --- a/po/zh_CN.po
 +++ b/po/zh_CN.po
-@@ -2,938 +2,1046 @@
+@@ -2,1513 +2,1651 @@
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
  # This file is distributed under the same license as the PACKAGE package.
  # 
@@ -174101,11 +174175,12 @@ index 9fe1a5c..90bf81d 100644
  msgid "two"
  msgstr "二"
  
-@@ -941,574 +1049,604 @@ msgstr "二"
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -177309,7 +177384,7 @@ index 9fe1a5c..90bf81d 100644
 -
 +msgstr "打开 RPM %s 发生错误 - 错误 %s"
 diff --git a/po/zh_TW.po b/po/zh_TW.po
-index 704a726..c0daa52 100644
+index 704a726..2ab6a67 100644
 --- a/po/zh_TW.po
 +++ b/po/zh_TW.po
 @@ -2,427 +2,497 @@
@@ -178514,7 +178589,7 @@ index 704a726..c0daa52 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +984,57 @@ msgid ""
+@@ -869,65 +984,65 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -178594,11 +178669,12 @@ index 704a726..c0daa52 100644
  msgid "two"
  msgstr ""
  
-@@ -927,7 +1042,7 @@ msgstr ""
+ #. For translators: This is output like:
  #. Current download cancelled, interrupt (ctrl-c) again within two seconds
  #. to exit.
- #. Where "interupt (ctrl-c) again" and "two" are highlighted.
+-#. Where "interupt (ctrl-c) again" and "two" are highlighted.
 -#: ../output.py:1271
++#. Where "interrupt (ctrl-c) again" and "two" are highlighted.
 +#: ../output.py:1775
  #, python-format
  msgid ""
@@ -181524,7 +181600,7 @@ index 704a726..c0daa52 100644
 -
 -
 diff --git a/rpmUtils/arch.py b/rpmUtils/arch.py
-index 6082005..d560be0 100644
+index 6082005..57cbdfc 100644
 --- a/rpmUtils/arch.py
 +++ b/rpmUtils/arch.py
 @@ -2,6 +2,11 @@
@@ -181593,7 +181669,13 @@ index 6082005..d560be0 100644
          for (k, v) in arches.items():
              if v == arch:
                  results.append(k)
-@@ -210,6 +232,32 @@ def _try_read_cpuinfo():
+@@ -205,17 +227,44 @@ def _try_read_cpuinfo():
+     """ Try to read /proc/cpuinfo ... if we can't ignore errors (ie. proc not
+         mounted). """
+     try:
+-        lines = open("/proc/cpuinfo", "r").readlines()
+-        return lines
++        return open("/proc/cpuinfo", "r")
      except:
          return []
  
@@ -181626,7 +181708,26 @@ index 6082005..d560be0 100644
  def getCanonX86Arch(arch):
      # 
      if arch == "i586":
-@@ -231,6 +279,13 @@ def getCanonX86Arch(arch):
+         for line in _try_read_cpuinfo():
+-            if line.startswith("model name") and line.find("Geode(TM)") != -1:
+-                return "geode"
++            if line.startswith("model name"):
++                if line.find("Geode(TM)") != -1:
++                    return "geode"
++                break
+         return arch
+     # only athlon vs i686 isn't handled with uname currently
+     if arch != "i686":
+@@ -226,11 +275,20 @@ def getCanonX86Arch(arch):
+         if line.startswith("vendor") and line.find("AuthenticAMD") != -1:
+             return "athlon"
+         # i686 doesn't guarantee cmov, but we depend on it
+-        elif line.startswith("flags") and line.find("cmov") == -1:
+-            return "i586"
++        elif line.startswith("flags"):
++            if line.find("cmov") == -1:
++                return "i586"
++            break
  
      return arch
  
@@ -181640,7 +181741,7 @@ index 6082005..d560be0 100644
  def getCanonPPCArch(arch):
      # FIXME: should I do better handling for mac, etc?
      if arch != "ppc64":
-@@ -241,6 +296,17 @@ def getCanonPPCArch(arch):
+@@ -241,6 +299,17 @@ def getCanonPPCArch(arch):
          if line.find("machine") != -1:
              machine = line.split(':')[1]
              break
@@ -181658,7 +181759,7 @@ index 6082005..d560be0 100644
      if machine is None:
          return arch
  
-@@ -305,9 +371,13 @@ def getCanonArch(skipRpmPlatform = 0):
+@@ -305,9 +374,13 @@ def getCanonArch(skipRpmPlatform = 0):
          
      arch = os.uname()[4]
  
@@ -181672,7 +181773,7 @@ index 6082005..d560be0 100644
      if arch.startswith("ppc"):
          return getCanonPPCArch(arch)
      if arch.startswith("sparc"):
-@@ -339,7 +409,7 @@ def getBestArch(myarch=None):
+@@ -339,7 +412,7 @@ def getBestArch(myarch=None):
      if arch.startswith("sparc64"):
          arch = multilibArches[arch][1]
  
@@ -181681,7 +181782,7 @@ index 6082005..d560be0 100644
          arch = 'ppc'
  
      return arch
-@@ -357,8 +427,12 @@ def getBaseArch(myarch=None):
+@@ -357,8 +430,12 @@ def getBaseArch(myarch=None):
  
      if myarch.startswith("sparc64"):
          return "sparc"
@@ -181695,6 +181796,15 @@ index 6082005..d560be0 100644
      elif myarch.startswith("arm"):
          return "arm"
          
+@@ -394,7 +471,7 @@ class ArchStorage(object):
+         if arch:
+             self.canonarch = arch
+         else:
+-            self.canonarch = getCanonArch()
++            self.canonarch = canonArch
+         
+         self.basearch = getBaseArch(myarch=self.canonarch)
+         self.archlist = getArchList(thisarch=self.canonarch)
 diff --git a/shell.py b/shell.py
 index 999bffc..2232b03 100644
 --- a/shell.py
@@ -182333,9 +182443,36 @@ index 6177fb1..9e22a6b 100644
 +        self.assertResult((pax2, pai2, pa2))
 +
 diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
-index 812785a..4d7561c 100644
+index 812785a..68f5ef9 100644
 --- a/test/skipbroken-tests.py
 +++ b/test/skipbroken-tests.py
+@@ -81,7 +81,7 @@ class SkipBrokenTests(DepsolveTests):
+         self.assertResult([])
+ 
+     def testDepWithMissingReqSkip(self):
+-        ''' install is skipped, beacuse dep is missing req.  
++        ''' install is skipped, because dep is missing req.  
+         foo + foobar is skipped because barfoo is not provided
+         bar stays in the transaction
+         '''
+@@ -219,7 +219,7 @@ class SkipBrokenTests(DepsolveTests):
+         self.assertResult([ipo, po1])
+ 
+     def testConflictWithInstalledButUpdateExist(self):
+-        ''' update fails, because conflict cant be fixed. (req. loop)
++        ''' update fails, because conflict can't be fixed. (req. loop)
+         foo 1.0 -> 2.0 update fails, because foo-2.0 conflict with bar-1.0
+         bar-1.0 is update to bar-2.0, to solve the conflict but bar-2.0 need foo-1.0
+         so the foo & bar updates get skipped and the transaction is empty
+@@ -240,7 +240,7 @@ class SkipBrokenTests(DepsolveTests):
+         self.assertResult([po1,ipo])
+ 
+     def testConflictWithInstalledButUpdateExist2(self):
+-        '''update fails, because conflict cant be fixed. (missing req.)
++        '''update fails, because conflict can't be fixed. (missing req.)
+         foo 1.0 -> 2.0 update fails, because foo-2.0 conflict with bar-1.0
+         bar-1.0 is update to bar-2.0, to solve the conflict but bar-2.0 need poo-1.0
+         there is not provided
 @@ -809,7 +809,55 @@ class SkipBrokenTests(DepsolveTests):
          members.append(u1)
          self.assertEquals('ok', *self.resolveCode(skip=True))
@@ -182469,7 +182606,7 @@ index 760b770..dd64483 100755
      time.sleep(4)
  
 diff --git a/test/yum-pylintrc b/test/yum-pylintrc
-index fa3e57c..ea4e683 100644
+index fa3e57c..d0cf2a6 100644
 --- a/test/yum-pylintrc
 +++ b/test/yum-pylintrc
 @@ -1,11 +1,3 @@
@@ -182503,7 +182640,7 @@ index fa3e57c..ea4e683 100644
  # List of plugins (as comma separated values of python modules names) to load,
  # usually to register additional checkers.
  load-plugins=
-@@ -35,24 +24,15 @@ load-plugins=
+@@ -35,25 +24,16 @@ load-plugins=
  
  [MESSAGES CONTROL]
  
@@ -182532,9 +182669,11 @@ index fa3e57c..ea4e683 100644
 +# multiple time.
  
 -# Disable the message(s) with the given id(s).
- # E1101: *%s %r has no %r member* (The init-hook for do sys.path manipulation don't, so we cant find the utils module)
+-# E1101: *%s %r has no %r member* (The init-hook for do sys.path manipulation don't, so we cant find the utils module)
++# E1101: *%s %r has no %r member* (The init-hook for do sys.path manipulation don't, so we can't find the utils module)
  # F0401: *Unable to import %r (%s)* (See above)
  # W0704: *Except doesn't do anything* ( Except xxxxxx,e : pass is ok)
+ # W0612: *Unused variable %r* ( dont care if x,y,z = f() and y,z is not used) 
 @@ -83,12 +63,13 @@ disable-msg-cat=C,R
  # W0710: *Exception doesn't inherit from standard "Exception" class* (give false positives on ex. KeyboardInterrupt)
  # W0631: *Using possibly undefined loop variable %r* (Gives to many false positives)
@@ -182865,6 +183004,19 @@ index fa3e57c..ea4e683 100644
 -# List of note tags to take in consideration, separated by a comma.
 -notes=FIXME,XXX,TODO
 +max-public-methods=20
+diff --git a/test/yum-release-test.sh b/test/yum-release-test.sh
+index fba02c5..a9270e2 100755
+--- a/test/yum-release-test.sh
++++ b/test/yum-release-test.sh
+@@ -73,7 +73,7 @@ if [ ! -d $WORKDIR/usr/bin ]; then
+   "${RPM[@]}" -q vim-minimal > /dev/null
+   if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+ else
+-  echo Ommiting base install
++  echo Omitting base install
+ fi
+ 
+ #"${YUMUPDATES[@]}" list updates
 diff --git a/utils.py b/utils.py
 old mode 100644
 new mode 100755
@@ -183214,7 +183366,7 @@ index 0000000..28e1964
 +- Check if we're running as root; exit nicely.
 diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
 new file mode 100755
-index 0000000..8f6286b
+index 0000000..089cad4
 --- /dev/null
 +++ b/yum-cron/yum-cron.py
 @@ -0,0 +1,1118 @@
@@ -183295,7 +183447,7 @@ index 0000000..8f6286b
 +        """Append a message to the output list stating that updates
 +        have been installed successfully.
 +        """
-+        self.output.append('The updates were sucessfully applied')
++        self.output.append('The updates were successfully applied')
 +
 +    def setupFailed(self, errmsg):
 +        """Append a message to the output list stating that setup
@@ -184487,10 +184639,16 @@ index 0000000..06dee5f
 diff --git a/yum-updatesd.py b/yum-updatesd.py
 old mode 100644
 new mode 100755
-index 1ce4720..25e3022
+index 1ce4720..2f3f7a3
 --- a/yum-updatesd.py
 +++ b/yum-updatesd.py
-@@ -28,6 +28,11 @@
+@@ -23,11 +23,16 @@
+ # - what to do if we're asked to exit while updates are being applied?
+ # - what to do with the lock around downloads/updates
+ 
+-# since it takes me time everytime to figure this out again, here's how to
++# since it takes me time every time to figure this out again, here's how to
+ # queue a check with dbus-send.  adjust appropriately for other methods
  # $ dbus-send --system --print-reply --type=method_call \
  #   --dest=edu.duke.linux.yum /Updatesd edu.duke.linux.yum.CheckNow
  
@@ -185039,10 +185197,10 @@ index 1ce4720..25e3022
      gobject.threads_init()
      dbus.glib.threads_init()
 diff --git a/yum.spec b/yum.spec
-index abd203f..ff672de 100644
+index abd203f..294eb96 100644
 --- a/yum.spec
 +++ b/yum.spec
-@@ -1,24 +1,66 @@
+@@ -1,24 +1,74 @@
 -Summary: RPM installer/updater
 +%define move_yum_conf_back 1
 +%define auto_sitelib 1
@@ -185072,6 +185230,13 @@ index abd203f..ff672de 100644
 +%define yum_pluginslib   /usr/lib/yum-plugins
 +%define yum_pluginsshare /usr/share/yum-plugins
 +
++# disable broken /usr/lib/rpm/brp-python-bytecompile
++%define __os_install_post %{nil}
++%define compdir %(pkg-config --variable=completionsdir bash-completion)
++%if "%{compdir}" == ""
++%define compdir "/etc/bash_completion.d"
++%endif
++
 +Summary: RPM package installer/updater/manager
  Name: yum
 -Version: 3.4.2
@@ -185096,6 +185261,7 @@ index abd203f..ff672de 100644
 +BuildRequires: python-urlgrabber >= 3.9.0-8
 +BuildRequires: yum-metadata-parser >= 1.1.0
 +BuildRequires: pygpgme
++BuildRequires: bash-completion
 +# End of CheckRequires
 +Conflicts: pirut < 1.1.4
  Requires: python >= 2.4
@@ -185115,7 +185281,7 @@ index abd203f..ff672de 100644
  Conflicts: rpm >= 5-0
  # Zif is a re-implementation of yum in C, however:
  #
-@@ -34,18 +76,30 @@ Conflicts: rpm >= 5-0
+@@ -34,18 +84,30 @@ Conflicts: rpm >= 5-0
  # zif experts).
  #
  # ...so we have two sane choices: i) Conflict with it. 2) Stop developing yum.
@@ -185153,7 +185319,7 @@ index abd203f..ff672de 100644
  
  %description
  Yum is a utility that can check for and automatically download and
-@@ -58,9 +112,11 @@ Group: Applications/System
+@@ -58,9 +120,11 @@ Group: Applications/System
  Requires: yum = %{version}-%{release}
  Requires: dbus-python
  Requires: pygobject2
@@ -185167,7 +185333,7 @@ index abd203f..ff672de 100644
  Requires(postun): /sbin/service
  
  
-@@ -68,33 +124,74 @@ Requires(postun): /sbin/service
+@@ -68,33 +132,74 @@ Requires(postun): /sbin/service
  yum-updatesd provides a daemon which checks for available updates and 
  can notify you when they are available via email, syslog or dbus. 
  
@@ -185247,7 +185413,7 @@ index abd203f..ff672de 100644
  
  # Ghost files:
  mkdir -p $RPM_BUILD_ROOT/var/lib/yum/history
-@@ -102,12 +199,26 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/yum/plugins
+@@ -102,12 +207,26 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/yum/plugins
  mkdir -p $RPM_BUILD_ROOT/var/lib/yum/yumdb
  touch $RPM_BUILD_ROOT/var/lib/yum/uuid
  
@@ -185274,7 +185440,7 @@ index abd203f..ff672de 100644
  %post updatesd
  /sbin/chkconfig --add yum-updatesd
  /sbin/service yum-updatesd condrestart >/dev/null 2>&1
-@@ -119,9 +230,29 @@ if [ $1 = 0 ]; then
+@@ -119,9 +238,29 @@ if [ $1 = 0 ]; then
   /sbin/service yum-updatesd stop >/dev/null 2>&1
  fi
  exit 0
@@ -185305,7 +185471,7 @@ index abd203f..ff672de 100644
  # Make sure chkconfig knows about the service
  /sbin/chkconfig --add yum-cron
  # if an upgrade:
-@@ -144,8 +275,13 @@ if [ "$1" -ge "1" ]; then
+@@ -144,8 +283,13 @@ if [ "$1" -ge "1" ]; then
   fi
  fi 
  exit 0
@@ -185319,7 +185485,7 @@ index abd203f..ff672de 100644
  # if this will be a complete removeal of yum-cron rather than an upgrade,
  # remove the service from chkconfig control
  if [ $1 = 0 ]; then
-@@ -153,33 +289,48 @@ if [ $1 = 0 ]; then
+@@ -153,33 +297,48 @@ if [ $1 = 0 ]; then
   /sbin/service yum-cron stop 1> /dev/null 2>&1
  fi
  exit 0
@@ -185358,8 +185524,9 @@ index abd203f..ff672de 100644
 -%dir %{_sysconfdir}/yum/repos.d
  %dir %{_sysconfdir}/yum/vars
 -%config %{_sysconfdir}/logrotate.d/%{name}
+-%{_sysconfdir}/bash_completion.d
 +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
- %{_sysconfdir}/bash_completion.d
++%(dirname %{compdir})
 +%dir %{_datadir}/yum-cli
  %{_datadir}/yum-cli/*
 +%exclude %{_datadir}/yum-cli/completion-helper.py?
@@ -185374,7 +185541,7 @@ index abd203f..ff672de 100644
  %dir /var/cache/yum
  %dir /var/lib/yum
  %ghost /var/lib/yum/uuid
-@@ -188,20 +339,25 @@ exit 0
+@@ -188,20 +347,25 @@ exit 0
  %ghost /var/lib/yum/yumdb
  %{_mandir}/man*/yum.*
  %{_mandir}/man*/yum-shell*
@@ -185408,7 +185575,7 @@ index abd203f..ff672de 100644
  %files updatesd
  %defattr(-, root, root)
  %config(noreplace) %{_sysconfdir}/yum/yum-updatesd.conf
-@@ -210,8 +366,12 @@ exit 0
+@@ -210,8 +374,12 @@ exit 0
  %{_datadir}/yum-cli/yumupd.py*
  %{_sbindir}/yum-updatesd
  %{_mandir}/man*/yum-updatesd*
@@ -185449,7 +185616,7 @@ index c1af4ad..e3e3956 100644
      pass
      
 diff --git a/yum/__init__.py b/yum/__init__.py
-index 99039e0..eacceb8 100644
+index 99039e0..a5e21fb 100644
 --- a/yum/__init__.py
 +++ b/yum/__init__.py
 @@ -21,6 +21,7 @@ The Yum RPM software updater.
@@ -186121,6 +186288,15 @@ index 99039e0..eacceb8 100644
                  xrestring.append(msg % (first, other))
          if xrestring:
              rescode = 1
+@@ -1227,7 +1384,7 @@ class YumBase(depsolve.Depsolve):
+                 self.verbose_logger.info(msg)
+             self.skipped_packages.extend(skipped_list)   # make the skipped packages public
+         else:
+-            # If we cant solve the problems the show the original error messages.
++            # If we can't solve the problems the show the original error messages.
+             self.verbose_logger.info("Skip-broken could not solve problems")
+             return 1, orig_restring
+         return rescode, restring
 @@ -1242,13 +1399,15 @@ class YumBase(depsolve.Depsolve):
          if None in pkgtup:
              return None
@@ -186141,6 +186317,24 @@ index 99039e0..eacceb8 100644
          if pkgtup is None:
              return
          self._not_found_i[pkgtup] = YumNotFoundPackage(pkgtup)
+@@ -1267,7 +1426,7 @@ class YumBase(depsolve.Depsolve):
+             for pkg in txmbr.obsoleted_by:
+                 # check if the obsoleting txmbr is in the transaction
+                 # else remove the obsoleted txmbr
+-                # it clean out some really wierd cases
++                # it clean out some really weird cases
+                 if not self.tsInfo.exists(pkg.pkgtup):
+                     self.verbose_logger.debug('SKIPBROKEN: Remove extra obsoleted %s (%s)' % (txmbr.po,pkg) )
+                     self.tsInfo.remove(txmbr.po.pkgtup)
+@@ -1282,7 +1441,7 @@ class YumBase(depsolve.Depsolve):
+             for pkg in txmbr.updated_by:
+                 # check if the updating txmbr is in the transaction
+                 # else remove the updated txmbr
+-                # it clean out some really wierd cases with dupes installed on the system
++                # it clean out some really weird cases with dupes installed on the system
+                 if not self.tsInfo.exists(pkg.pkgtup):
+                     self.verbose_logger.debug('SKIPBROKEN: Remove extra updated %s (%s)' % (txmbr.po,pkg) )
+                     self.tsInfo.remove(txmbr.po.pkgtup)
 @@ -1379,9 +1538,19 @@ class YumBase(depsolve.Depsolve):
  
      def _getDepsToRemove(self,po, deptree, toRemove):
@@ -187148,6 +187342,15 @@ index 99039e0..eacceb8 100644
          sql_fields = []
          for f in fields:
              sql_fields.append(RPM_TO_SQLITE.get(f, f))
+@@ -2614,7 +3068,7 @@ class YumBase(depsolve.Depsolve):
+         # ...but without showdups we want to output _just_ #3, which requires
+         # we find the newest EVR po for the best "matching value". Without keys
+         # it's the same, except we just want the newest EVR.
+-        #  If we screw it up it's probably not even noticable most of the time
++        #  If we screw it up it's probably not even noticeable most of the time
+         # either, so it's pretty thankless. HTH. HAND.
+         # By default just sort using package sorting
+         sort_func = operator.itemgetter(0)
 @@ -2661,6 +3115,14 @@ class YumBase(depsolve.Depsolve):
                      yield (po, vs)
  
@@ -187175,7 +187378,7 @@ index 99039e0..eacceb8 100644
 +        """Deprecated.  Search the specified fields for packages that
 +        match the given criteria, and return a list of the results.
 +
-+        :param fields: the fields to seach
++        :param fields: the fields to search
 +        :param criteria: a list of strings specifying the criteria to
 +           search for
 +        :param callback: a function to print out the results as they
@@ -188114,7 +188317,7 @@ index 99039e0..eacceb8 100644
 +
 +        if False and self._up is not None:
 +            #  This is the old code, not sure it's good to have two paths. And
-+            # we don't wnat to create .up. (which requires init repos.) if we
++            # we don't want to create .up. (which requires init repos.) if we
 +            # don't have to.
 +            return po.pkgtup in self.up.updating_dict
 +
@@ -189178,15 +189381,16 @@ index 99039e0..eacceb8 100644
              cachedir = None
              
          if cachedir is None:
-@@ -5190,6 +6437,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5190,6 +6437,8 @@ class YumBase(depsolve.Depsolve):
              self.prerepoconf.cachedir = cachedir
          else:
              self.repos.setCacheDir(cachedir)
-+        self._old_cachedir = self.conf.cachedir
++        if not hasattr(self, '_old_cachedir'):
++            self._old_cachedir = self.conf.cachedir
          self.conf.cachedir = cachedir
          return True # We got a new cache dir
  
-@@ -5220,13 +6468,24 @@ class YumBase(depsolve.Depsolve):
+@@ -5220,13 +6469,24 @@ class YumBase(depsolve.Depsolve):
          self.history.write_addon_data('config-repos', myrepos)
          
      def verify_plugins_cb(self, verify_package):
@@ -189214,7 +189418,7 @@ index 99039e0..eacceb8 100644
          if self.tsInfo._unresolvedMembers:
              if auto:
                  self.logger.critical(_("Dependencies not solved. Will not save unresolved transaction."))
-@@ -5234,7 +6493,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5234,7 +6494,7 @@ class YumBase(depsolve.Depsolve):
              raise Errors.YumBaseError(_("Dependencies not solved. Will not save unresolved transaction."))
          
          if not filename:
@@ -189223,7 +189427,7 @@ index 99039e0..eacceb8 100644
              fd,filename = tempfile.mkstemp(suffix='.yumtx', prefix=prefix)
              f = os.fdopen(fd, 'w')
          else:
-@@ -5244,13 +6503,17 @@ class YumBase(depsolve.Depsolve):
+@@ -5244,13 +6504,17 @@ class YumBase(depsolve.Depsolve):
          
          msg = "%s\n" % self.rpmdb.simpleVersion(main_only=True)[0]
          msg += "%s\n" % self.ts.getTsFlags()
@@ -189244,7 +189448,7 @@ index 99039e0..eacceb8 100644
          msg += "%s\n" % len(self.tsInfo.getMembers())
          for txmbr in self.tsInfo.getMembers():
              msg += txmbr._dump()
-@@ -5260,42 +6523,84 @@ class YumBase(depsolve.Depsolve):
+@@ -5260,42 +6524,84 @@ class YumBase(depsolve.Depsolve):
          except (IOError, OSError), e:
              self._ts_save_file = None
              if auto:
@@ -189268,7 +189472,7 @@ index 99039e0..eacceb8 100644
 +            return (_("File is empty."), None)
 +
 +        if data[0] == 'saved_tx:\n':
-+            #  Old versions of yum would put "saved_tx:" at the begining and
++            #  Old versions of yum would put "saved_tx:" at the beginning and
 +            # two blank lines at the end when you used:
 +            # "yum -q history addon-info saved_tx".
 +            if data[-1] == 'history addon-info\n':
@@ -189341,7 +189545,7 @@ index 99039e0..eacceb8 100644
              if ignorerpm:
                  msg += _(" ignoring, as requested.")
                  self.logger.critical(_(msg))
-@@ -5318,8 +6623,17 @@ class YumBase(depsolve.Depsolve):
+@@ -5318,8 +6624,17 @@ class YumBase(depsolve.Depsolve):
          numrepos = int(data[2].strip())
          repos = []
          rindex=3+numrepos
@@ -189360,7 +189564,7 @@ index 99039e0..eacceb8 100644
  
          # pkgs/txmbrs
          numpkgs = int(data[rindex].strip())
-@@ -5329,6 +6643,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5329,6 +6644,7 @@ class YumBase(depsolve.Depsolve):
          pkgcount = 0
          pkgprob = False
          curpkg = None
@@ -189368,7 +189572,7 @@ index 99039e0..eacceb8 100644
          for l in data[pkgstart:]:
              l = l.rstrip()
              # our main txmbrs
-@@ -5356,6 +6671,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5356,6 +6672,7 @@ class YumBase(depsolve.Depsolve):
                      if not ignoremissing:
                          raise Errors.YumBaseError(msg)
                      else:
@@ -189376,7 +189580,7 @@ index 99039e0..eacceb8 100644
                          self.logger.critical(msg)
                  else:
                      pkgcount += 1
-@@ -5432,12 +6748,18 @@ class YumBase(depsolve.Depsolve):
+@@ -5432,12 +6749,18 @@ class YumBase(depsolve.Depsolve):
          if pkgprob:
              msg = _("Transaction members, relations are missing or ts has been modified,")
              if ignoremissing:
@@ -189395,7 +189599,7 @@ index 99039e0..eacceb8 100644
          return self.tsInfo.getMembers()
  
      def _remove_old_deps(self):
-@@ -5470,18 +6792,6 @@ class YumBase(depsolve.Depsolve):
+@@ -5470,18 +6793,6 @@ class YumBase(depsolve.Depsolve):
                      if requiring == required: # if they are self-requiring skip them
                          continue
                          
@@ -189414,7 +189618,7 @@ index 99039e0..eacceb8 100644
                      #for tbi_pkg in self.tsInfo.getMembersWithState(output_states=TS_INSTALL_STATES):
                      #   for reqtuple in tbi_pkg.po.requires:
                      #        if required.provides_for(reqtuple):
-@@ -5533,7 +6843,24 @@ class YumBase(depsolve.Depsolve):
+@@ -5533,7 +6844,24 @@ class YumBase(depsolve.Depsolve):
                      # Debugging output
                      self.verbose_logger.log(logginglevels.DEBUG_2, _("%s has revdep %s which was user-installed."), pkg, curpkg)
                      ok_to_remove[pkg] = False
@@ -189439,7 +189643,7 @@ index 99039e0..eacceb8 100644
                  visited[curpkg] = True
              all_leaves_visited = True
              leaves = curpkg.requiring_packages()
-@@ -5547,4 +6874,3 @@ class YumBase(depsolve.Depsolve):
+@@ -5547,4 +6875,3 @@ class YumBase(depsolve.Depsolve):
          # Debugging output
          self.verbose_logger.log(logginglevels.DEBUG_2, _("%s has no user-installed revdeps."), pkg)
          return False
@@ -191105,7 +191309,7 @@ index d09511f..438cb88 100644
  
          if name not in cfgOptions and option.default == value:
 diff --git a/yum/depsolve.py b/yum/depsolve.py
-index 6d744c0..9230b72 100644
+index 6d744c0..d810a17 100644
 --- a/yum/depsolve.py
 +++ b/yum/depsolve.py
 @@ -31,13 +31,15 @@ from transactioninfo import TransactionMember
@@ -191138,7 +191342,7 @@ index 6d744c0..9230b72 100644
 +    """ This is a wrapper for calling YumBase.pkgSack because
 +        otherwise we take a real reference through the bound method and
 +        that is d00m (this applies to YumBase and TransactionInfo, hence why
-+        we have a seperate class). """
++        we have a separate class). """
 +    def __init__(self, ayum):
 +        self.ayum = weakref(ayum)
 +    def __call__(self):
@@ -191148,7 +191352,7 @@ index 6d744c0..9230b72 100644
 +    """ This is a wrapper for calling YumBase.install because
 +        otherwise we take a real reference through the bound method and
 +        that is d00m (this applies to YumBase and TransactionInfo, hence why
-+        we have a seperate class). """
++        we have a separate class). """
 +    def __init__(self, ayum):
 +        self.ayum = weakref(ayum)
 +    def __call__(self, *args, **kwargs):
@@ -191157,7 +191361,7 @@ index 6d744c0..9230b72 100644
 +    """ This is a wrapper for calling YumBase.remove because
 +        otherwise we take a real reference through the bound method and
 +        that is d00m (this applies to YumBase and TransactionInfo, hence why
-+        we have a seperate class). """
++        we have a separate class). """
 +    def __init__(self, ayum):
 +        self.ayum = weakref(ayum)
 +    def __call__(self, *args, **kwargs):
@@ -191166,7 +191370,7 @@ index 6d744c0..9230b72 100644
 +    """ This is a wrapper for calling YumBase.update because
 +        otherwise we take a real reference through the bound method and
 +        that is d00m (this applies to YumBase and TransactionInfo, hence why
-+        we have a seperate class). """
++        we have a separate class). """
 +    def __init__(self, ayum):
 +        self.ayum = weakref(ayum)
 +    def __call__(self, *args, **kwargs):
@@ -192123,7 +192327,7 @@ index bca9651..00c17ad 100644
              index = self.failures
          else:
 diff --git a/yum/history.py b/yum/history.py
-index 5385bd1..cc06f0a 100644
+index 5385bd1..6f60f54 100644
 --- a/yum/history.py
 +++ b/yum/history.py
 @@ -97,9 +97,58 @@ def _setupHistorySearchSQL(patterns=None, ignore_case=False):
@@ -192227,7 +192431,7 @@ index 5385bd1..cc06f0a 100644
 +        """ This reports the repo the package is from, we integrate YUMDB info.
 +            for RPM packages so a package from "fedora" that is installed has a
 +            ui_from_repo of "@fedora". Note that, esp. with the --releasever
-+            option, "fedora" or "rawhide" isn't authoritive.
++            option, "fedora" or "rawhide" isn't authoritative.
 +            So we also check against the current releasever and if it is
 +            different we also print the YUMDB releasever. This means that
 +            installing from F12 fedora, while running F12, would report as
@@ -192913,6 +193117,19 @@ index 0000000..6a04f3a
 +                    break
 +
 +        return returns.values()
+diff --git a/yum/logginglevels.py b/yum/logginglevels.py
+index 14c5e73..dfdd90c 100644
+--- a/yum/logginglevels.py
++++ b/yum/logginglevels.py
+@@ -42,7 +42,7 @@ logging.addLevelName(DEBUG_3, "DEBUG_3")
+ logging.addLevelName(DEBUG_4, "DEBUG_4")
+ 
+ # High level to effectively turn off logging.
+-# For compatability with the old logging system.
++# For compatibility with the old logging system.
+ __NO_LOGGING = 100
+ logging.raiseExceptions = False
+ 
 diff --git a/yum/metalink.py b/yum/metalink.py
 index aaa4f25..61aa586 100755
 --- a/yum/metalink.py
@@ -192947,7 +193164,7 @@ index aaa4f25..61aa586 100755
                  continue
  
 diff --git a/yum/misc.py b/yum/misc.py
-index 2f6ddfe..0ae980b 100644
+index 2f6ddfe..8e21fe7 100644
 --- a/yum/misc.py
 +++ b/yum/misc.py
 @@ -8,6 +8,7 @@ import os
@@ -193180,7 +193397,7 @@ index 2f6ddfe..0ae980b 100644
 +        fi = stat_f(filename)
 +        fo = stat_f(out)
 +        if fi and fo:
-+            # Eliminate sub second precision in mtime before comparision,
++            # Eliminate sub second precision in mtime before comparison,
 +            # see http://bugs.python.org/issue14127
 +            if int(fo.st_mtime) == int(fi.st_mtime):
                  return out
@@ -193295,7 +193512,7 @@ index 4af563a..a702ac1 100644
          self.obsoletes = {} #obs[obsoletename] = [pkg1, pkg2, pkg3] 
                   #the package lists are packages that obsolete the key name
 diff --git a/yum/packages.py b/yum/packages.py
-index 5ef9951..62f989f 100644
+index 5ef9951..deb44e4 100644
 --- a/yum/packages.py
 +++ b/yum/packages.py
 @@ -106,14 +106,16 @@ def buildPkgRefDict(pkgs, casematch=True):
@@ -193493,6 +193710,15 @@ index 5ef9951..62f989f 100644
      conflicts_print = property(fget=lambda self: self.returnPrco('conflicts', True))
      obsoletes_print = property(fget=lambda self: self.returnPrco('obsoletes', True))
      changelog = property(fget=lambda self: self.returnChangelog())
+@@ -737,7 +797,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
+         """ This reports the repo the package is from, we integrate YUMDB info.
+             for RPM packages so a package from "fedora" that is installed has a
+             ui_from_repo of "@fedora". Note that, esp. with the --releasever
+-            option, "fedora" or "rawhide" isn't authoritive.
++            option, "fedora" or "rawhide" isn't authoritative.
+             So we also check against the current releasever and if it is
+             different we also print the YUMDB releasever. This means that
+             installing from F12 fedora, while running F12, would report as
 @@ -797,22 +857,14 @@ class YumAvailablePackage(PackageObject, RpmBase):
          if hasattr(self, '_committer_ret'):
              return self._committer_ret
@@ -194403,7 +194629,7 @@ index 31b1080..97256c6 100755
              tags += """ </tags>\n"""
              msg += tags
 diff --git a/yum/repos.py b/yum/repos.py
-index 3793bad..3522512 100644
+index 3793bad..e519bc1 100644
 --- a/yum/repos.py
 +++ b/yum/repos.py
 @@ -19,9 +19,11 @@ import fnmatch
@@ -194418,6 +194644,15 @@ index 3793bad..3522512 100644
  
  from weakref import proxy as weakref
  
+@@ -29,7 +31,7 @@ class _wrap_ayum_getKeyForRepo:
+     """ This is a wrapper for calling YumBase.getKeyForRepo() because
+         otherwise we take a real reference through the bound method and
+         that is d00m (this applies to YumBase and RepoStorage, hence why
+-        we have a seperate class).
++        we have a separate class).
+         A "better" fix might be to explicitly pass the YumBase instance to
+         the callback ... API change! """
+     def __init__(self, ayum, ca=False):
 @@ -67,6 +69,47 @@ class RepoStorage:
          self._cache_enabled_repos = []
          self.quick_enable_disable = {}
@@ -194537,7 +194772,7 @@ index 3793bad..3522512 100644
              sack = repo.getPackageSack()
              try:
 diff --git a/yum/rpmsack.py b/yum/rpmsack.py
-index e289a7a..11cb832 100644
+index e289a7a..c1f85e2 100644
 --- a/yum/rpmsack.py
 +++ b/yum/rpmsack.py
 @@ -48,6 +48,17 @@ def _open_no_umask(*args):
@@ -194577,6 +194812,15 @@ index e289a7a..11cb832 100644
                  continue
  
              pkg = pkg[0]
+@@ -387,7 +399,7 @@ class RPMDBPackageSack(PackageSackBase):
+         else:
+             self._cachedir = '/' + cachedir
+ 
+-        if hasattr(self, 'yumdb'): # Need to keep this upto date, after init.
++        if hasattr(self, 'yumdb'): # Need to keep this up to date, after init.
+             version_path = os.path.normpath(self._cachedir + '/version')
+             self.yumdb.conf.version_path = version_path
+ 
 @@ -534,13 +546,11 @@ class RPMDBPackageSack(PackageSackBase):
              qpat = pat[0]
              if qpat in ('?', '*', '['):
@@ -194811,7 +195055,7 @@ index e289a7a..11cb832 100644
                                                conflicts=res)
                  problems.append(prob)
 +
-+            # Note that obsoletes are checked seperately, and are name only.
++            # Note that obsoletes are checked separately, and are name only.
          return problems
  
      def _iter_two_pkgs(self, ignore_provides):
@@ -195027,6 +195271,19 @@ index 8a6f6f3..65401a9 100644
      def simplePkgList(self, patterns=None, ignore_case=False):
          """Returns a list of pkg tuples (n, a, e, v, r), optionally from a
             single repoid. Note that the packages are always filtered to those
+diff --git a/yum/sqlutils.py b/yum/sqlutils.py
+index 4d7e36e..826ad62 100644
+--- a/yum/sqlutils.py
++++ b/yum/sqlutils.py
+@@ -50,7 +50,7 @@ def Tokenize(str, whitespace=" \t\r\n", quotes="\"", escapes="\\"):
+ 
+     @param        str: string to tokenize
+     @type         str: string
+-    @param whitespace: whitespace characters seperating tokens
++    @param whitespace: whitespace characters separating tokens
+     @type  whitespace: string
+     @param     quotes: legal quoting characters
+     @type      quotes: string
 diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py
 index 4d89d83..14d8c7a 100644
 --- a/yum/transactioninfo.py
@@ -195384,7 +195641,7 @@ index 2cb1acb..3ac0010 100644
      def __unicode__(self):
          ret = u''
 diff --git a/yum/yumRepo.py b/yum/yumRepo.py
-index e5e9ece..ace49e3 100644
+index e5e9ece..b9bf1fe 100644
 --- a/yum/yumRepo.py
 +++ b/yum/yumRepo.py
 @@ -20,10 +20,12 @@ import time
@@ -195436,7 +195693,7 @@ index e5e9ece..ace49e3 100644
 +# 1. We rarely want to be downloading MD/pkgs/etc.
 +# 2. We want to check those files are valid (match checksums) when we do
 +#    download them.
-+# 3. We _really_ don't want to checksum all the files everytime we
++# 3. We _really_ don't want to checksum all the files every time we
 +#    run (100s of MBs).
 +# 4. We can continue to download files from bad mirrors, or retry files due to
 +#    C-c etc.
diff --git a/yum.spec b/yum.spec
index 7973214..db83572 100644
--- a/yum.spec
+++ b/yum.spec
@@ -55,7 +55,6 @@ BuildArchitectures: noarch
 BuildRequires: python
 BuildRequires: gettext
 BuildRequires: intltool
-BuildRequires: bash-completion
 # This is really CheckRequires ...
 BuildRequires: python-nose
 BuildRequires: python >= 2.4
@@ -65,6 +64,7 @@ BuildRequires: python-sqlite
 BuildRequires: python-urlgrabber >= 3.9.0-8
 BuildRequires: yum-metadata-parser >= 1.1.0
 BuildRequires: pygpgme
+BuildRequires: bash-completion
 # End of CheckRequires
 Conflicts: pirut < 1.1.4
 Requires: python >= 2.4
@@ -76,7 +76,7 @@ Requires: yum-metadata-parser >= 1.1.0
 Requires: pygpgme
 # rawhide is >= 0.5.3-7.fc18 ... as this is added.
 Requires: pyliblzma
-# This is really a suggests, but we have none...
+# Not really a suggests anymore, due to metadata using it.
 Requires: pyxattr
 
 Conflicts: rpm >= 5-0
@@ -118,6 +118,7 @@ Obsoletes: yum-presto < 3.4.3-66.yum
 Provides: yum-presto = 3.4.3-66.yum
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+
 %description
 Yum is a utility that can check for and automatically download and
 install updated RPM packages. Dependencies are obtained and downloaded 
@@ -398,6 +399,8 @@ exit 0
 - Fix optional packages getting installed by default. BZ 923547.
 - cacheReq() added to groups command.
 - Finally fix the installed obsoletes problem.
+- Sync specfiles.
+- Turn checking on, and fix check-po script.
 
 * Wed Mar 27 2013 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-80
 - package also %{compdir}'s parent


More information about the scm-commits mailing list