[yum] update to latest HEAD.

Zdeněk Pavlas zpavlas at fedoraproject.org
Wed Mar 20 11:47:25 UTC 2013


commit 9275bfcdb870c7f149133dacd95423aa935258f5
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date:   Wed Mar 20 12:47:09 2013 +0100

    update to latest HEAD.

 yum-HEAD.patch |  705 ++++++++++++++++++++++++++++++++++++--------------------
 yum.spec       |   13 +-
 2 files changed, 469 insertions(+), 249 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 61f9f3c..ddc21fa 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -96,7 +96,7 @@ index 2f6154e..2e5a052 100644
 diff --git a/cli.py b/cli.py
 old mode 100644
 new mode 100755
-index 6056d38..12817fc
+index 6056d38..0d6a83c
 --- a/cli.py
 +++ b/cli.py
 @@ -25,7 +25,7 @@ import sys
@@ -1659,8 +1659,12 @@ index 6056d38..12817fc
              return False
          if self.conf.alwaysprompt:
              return True
-@@ -1400,7 +1966,6 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
-         #  package wasn't explictly given on the command line
+@@ -1397,10 +1963,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 \
@@ -2319,7 +2323,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 @@
@@ -2500,7 +2504,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
@@ -3481,19 +3485,25 @@ index 0cfaa4b..0000000
 -
 -exit 0
 diff --git a/etc/Makefile b/etc/Makefile
-index 29a7f95..ec5af83 100644
+index 29a7f95..33b9511 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)
++
+ 
+ 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
@@ -3501,6 +3511,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
@@ -4109,7 +4123,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 @@
@@ -5175,6 +5189,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,
@@ -5670,7 +5693,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):
@@ -5776,6 +5799,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
@@ -5809,7 +5841,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 @@
@@ -6868,7 +6900,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 ""
@@ -9320,7 +9352,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 @@
@@ -10535,7 +10567,7 @@ index f1f232a..66f749c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -10616,11 +10648,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 ""
@@ -13551,10 +13584,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.
  # 
@@ -14877,11 +14910,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 ""
@@ -17961,7 +17995,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 @@
@@ -19406,8 +19440,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 ""
@@ -22684,10 +22719,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.
  # 
@@ -24024,11 +24059,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 ""
@@ -27147,10 +27183,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.
  # 
@@ -28553,11 +28589,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 ""
@@ -31858,7 +31895,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 @@
@@ -33095,7 +33132,7 @@ index 8df34e7..e0af061 100644
  #, python-format
  msgid ""
  "\n"
-@@ -870,57 +996,58 @@ msgid ""
+@@ -870,65 +996,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -33176,11 +33213,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 ""
@@ -36129,10 +36167,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.
  # 
@@ -37457,11 +37495,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 ""
@@ -40534,10 +40573,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.
  # 
@@ -41901,11 +41940,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 ""
@@ -45068,10 +45108,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.
  # 
@@ -46408,11 +46448,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 ""
@@ -49533,10 +49574,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.
  # 
@@ -50872,11 +50913,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 ""
@@ -53951,10 +53993,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.
  # 
@@ -55341,11 +55383,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 ""
@@ -58547,7 +58590,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 @@
@@ -59778,7 +59821,7 @@ index e9ad955..ea00c75 100644
  #, python-format
  msgid ""
  "\n"
-@@ -878,57 +995,58 @@ msgid ""
+@@ -878,65 +995,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -59860,11 +59903,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 ""
@@ -62816,7 +62860,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 @@
@@ -64031,7 +64075,7 @@ index 988a7a5..b35083e 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -64112,11 +64156,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 ""
@@ -67047,10 +67092,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.
  # 
@@ -68389,11 +68434,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 ""
@@ -71530,7 +71576,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 @@
@@ -73008,8 +73054,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 ""
@@ -76394,10 +76441,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.
  # 
@@ -77705,11 +77752,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 ""
@@ -80655,10 +80703,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.
  # 
@@ -82001,11 +82049,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 ""
@@ -85155,10 +85204,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.
  # 
@@ -86489,11 +86538,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 ""
@@ -89525,10 +89575,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.
  # 
@@ -90881,11 +90931,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 ""
@@ -94007,7 +94058,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 @@
@@ -95222,7 +95273,7 @@ index 5163eab..ac51b9e 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -95303,11 +95354,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 ""
@@ -98238,7 +98290,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 @@
@@ -99442,7 +99494,7 @@ index 2b9119e..f93023c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +984,57 @@ msgid ""
+@@ -869,65 +984,65 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -99522,11 +99574,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 ""
@@ -102452,10 +102505,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.
  # 
@@ -103772,11 +103825,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 ""
@@ -106797,7 +106851,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 @@
@@ -107856,7 +107910,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 ""
@@ -110309,7 +110363,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 @@
@@ -111368,7 +111422,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 ""
@@ -113820,10 +113874,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.
  # 
@@ -115151,11 +115205,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 ""
@@ -118247,10 +118302,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.
  # 
@@ -119606,11 +119661,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 ""
@@ -122749,7 +122805,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 @@
@@ -123963,7 +124019,7 @@ index 9e76ec0..6c2886c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -124044,11 +124100,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 ""
@@ -126981,10 +127038,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.
  # 
@@ -128323,11 +128380,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 ""
@@ -131438,7 +131496,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 @@
@@ -132497,7 +132555,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 ""
@@ -134959,10 +135017,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.
  # 
@@ -136317,11 +136375,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 ""
@@ -139419,7 +139478,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 @@
@@ -140489,7 +140548,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 ""
@@ -142946,7 +143005,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 @@
@@ -144192,7 +144251,7 @@ index 351d6db..78fa7c8 100644
  #, python-format
  msgid ""
  "\n"
-@@ -882,57 +1004,59 @@ msgid ""
+@@ -882,65 +1004,67 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -144274,11 +144333,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 ""
@@ -147323,7 +147383,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 @@
@@ -148570,7 +148630,7 @@ index 2576fa8..1e2795d 100644
  #, python-format
  msgid ""
  "\n"
-@@ -883,57 +1004,59 @@ msgid ""
+@@ -883,65 +1004,67 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -148652,11 +148712,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 ""
@@ -151701,10 +151762,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.
  # 
@@ -153042,11 +153103,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 ""
@@ -156149,7 +156211,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 @@
@@ -157198,7 +157260,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 ""
@@ -159645,10 +159707,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.
  # 
@@ -161005,11 +161067,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 ""
@@ -164133,7 +164196,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 @@
@@ -165348,7 +165411,7 @@ index 40bd619..8b7c23c 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +994,58 @@ msgid ""
+@@ -869,65 +994,66 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -165429,11 +165492,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 ""
@@ -172678,10 +172742,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.
  # 
@@ -174086,11 +174150,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 ""
@@ -177294,7 +177359,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 @@
@@ -178499,7 +178564,7 @@ index 704a726..c0daa52 100644
  #, python-format
  msgid ""
  "\n"
-@@ -869,57 +984,57 @@ msgid ""
+@@ -869,65 +984,65 @@ msgid ""
  "%s\n"
  msgstr ""
  
@@ -178579,11 +178644,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 ""
@@ -181509,7 +181575,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 @@
@@ -181578,7 +181644,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 []
  
@@ -181611,7 +181683,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
  
@@ -181625,7 +181716,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
@@ -181643,7 +181734,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]
  
@@ -181657,7 +181748,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]
  
@@ -181666,7 +181757,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"
@@ -181680,6 +181771,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
@@ -182306,9 +182406,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))
@@ -182420,7 +182547,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 @@
@@ -182454,7 +182581,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]
  
@@ -182483,9 +182610,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)
@@ -182816,6 +182945,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
@@ -183165,7 +183307,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 @@
@@ -183246,7 +183388,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
@@ -184438,10 +184580,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
  
@@ -184990,10 +185138,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..a615560 100644
 --- a/yum.spec
 +++ b/yum.spec
-@@ -1,24 +1,66 @@
+@@ -1,24 +1,70 @@
 -Summary: RPM installer/updater
 +%define move_yum_conf_back 1
 +%define auto_sitelib 1
@@ -185023,6 +185171,10 @@ 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)
++
 +Summary: RPM package installer/updater/manager
  Name: yum
 -Version: 3.4.2
@@ -185066,7 +185218,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 +80,30 @@ Conflicts: rpm >= 5-0
  # zif experts).
  #
  # ...so we have two sane choices: i) Conflict with it. 2) Stop developing yum.
@@ -185104,7 +185256,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 +116,11 @@ Group: Applications/System
  Requires: yum = %{version}-%{release}
  Requires: dbus-python
  Requires: pygobject2
@@ -185118,7 +185270,7 @@ index abd203f..ff672de 100644
  Requires(postun): /sbin/service
  
  
-@@ -68,33 +124,74 @@ Requires(postun): /sbin/service
+@@ -68,33 +128,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. 
  
@@ -185198,7 +185350,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 +203,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
  
@@ -185225,7 +185377,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 +234,29 @@ if [ $1 = 0 ]; then
   /sbin/service yum-updatesd stop >/dev/null 2>&1
  fi
  exit 0
@@ -185256,7 +185408,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 +279,13 @@ if [ "$1" -ge "1" ]; then
   fi
  fi 
  exit 0
@@ -185270,7 +185422,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 +293,48 @@ if [ $1 = 0 ]; then
   /sbin/service yum-cron stop 1> /dev/null 2>&1
  fi
  exit 0
@@ -185309,8 +185461,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
++%{compdir}
 +%dir %{_datadir}/yum-cli
  %{_datadir}/yum-cli/*
 +%exclude %{_datadir}/yum-cli/completion-helper.py?
@@ -185325,7 +185478,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 +343,25 @@ exit 0
  %ghost /var/lib/yum/yumdb
  %{_mandir}/man*/yum.*
  %{_mandir}/man*/yum-shell*
@@ -185359,7 +185512,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 +370,12 @@ exit 0
  %{_datadir}/yum-cli/yumupd.py*
  %{_sbindir}/yum-updatesd
  %{_mandir}/man*/yum-updatesd*
@@ -185400,7 +185553,7 @@ index c1af4ad..e3e3956 100644
      pass
      
 diff --git a/yum/__init__.py b/yum/__init__.py
-index 99039e0..2bf9b43 100644
+index 99039e0..e067dd3 100644
 --- a/yum/__init__.py
 +++ b/yum/__init__.py
 @@ -21,6 +21,7 @@ The Yum RPM software updater.
@@ -186072,6 +186225,15 @@ index 99039e0..2bf9b43 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
@@ -186092,6 +186254,24 @@ index 99039e0..2bf9b43 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):
@@ -187099,6 +187279,15 @@ index 99039e0..2bf9b43 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)
  
@@ -187126,7 +187315,7 @@ index 99039e0..2bf9b43 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
@@ -188063,7 +188252,7 @@ index 99039e0..2bf9b43 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
 +
@@ -189127,15 +189316,16 @@ index 99039e0..2bf9b43 100644
              cachedir = None
              
          if cachedir is None:
-@@ -5190,6 +6435,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5190,6 +6435,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 +6466,24 @@ class YumBase(depsolve.Depsolve):
+@@ -5220,13 +6467,24 @@ class YumBase(depsolve.Depsolve):
          self.history.write_addon_data('config-repos', myrepos)
          
      def verify_plugins_cb(self, verify_package):
@@ -189163,7 +189353,7 @@ index 99039e0..2bf9b43 100644
          if self.tsInfo._unresolvedMembers:
              if auto:
                  self.logger.critical(_("Dependencies not solved. Will not save unresolved transaction."))
-@@ -5234,7 +6491,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5234,7 +6492,7 @@ class YumBase(depsolve.Depsolve):
              raise Errors.YumBaseError(_("Dependencies not solved. Will not save unresolved transaction."))
          
          if not filename:
@@ -189172,7 +189362,7 @@ index 99039e0..2bf9b43 100644
              fd,filename = tempfile.mkstemp(suffix='.yumtx', prefix=prefix)
              f = os.fdopen(fd, 'w')
          else:
-@@ -5244,13 +6501,17 @@ class YumBase(depsolve.Depsolve):
+@@ -5244,13 +6502,17 @@ class YumBase(depsolve.Depsolve):
          
          msg = "%s\n" % self.rpmdb.simpleVersion(main_only=True)[0]
          msg += "%s\n" % self.ts.getTsFlags()
@@ -189193,7 +189383,7 @@ index 99039e0..2bf9b43 100644
          msg += "%s\n" % len(self.tsInfo.getMembers())
          for txmbr in self.tsInfo.getMembers():
              msg += txmbr._dump()
-@@ -5260,42 +6521,84 @@ class YumBase(depsolve.Depsolve):
+@@ -5260,42 +6522,84 @@ class YumBase(depsolve.Depsolve):
          except (IOError, OSError), e:
              self._ts_save_file = None
              if auto:
@@ -189217,7 +189407,7 @@ index 99039e0..2bf9b43 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':
@@ -189290,7 +189480,7 @@ index 99039e0..2bf9b43 100644
              if ignorerpm:
                  msg += _(" ignoring, as requested.")
                  self.logger.critical(_(msg))
-@@ -5318,8 +6621,17 @@ class YumBase(depsolve.Depsolve):
+@@ -5318,8 +6622,17 @@ class YumBase(depsolve.Depsolve):
          numrepos = int(data[2].strip())
          repos = []
          rindex=3+numrepos
@@ -189309,7 +189499,7 @@ index 99039e0..2bf9b43 100644
  
          # pkgs/txmbrs
          numpkgs = int(data[rindex].strip())
-@@ -5329,6 +6641,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5329,6 +6642,7 @@ class YumBase(depsolve.Depsolve):
          pkgcount = 0
          pkgprob = False
          curpkg = None
@@ -189317,7 +189507,7 @@ index 99039e0..2bf9b43 100644
          for l in data[pkgstart:]:
              l = l.rstrip()
              # our main txmbrs
-@@ -5356,6 +6669,7 @@ class YumBase(depsolve.Depsolve):
+@@ -5356,6 +6670,7 @@ class YumBase(depsolve.Depsolve):
                      if not ignoremissing:
                          raise Errors.YumBaseError(msg)
                      else:
@@ -189325,7 +189515,7 @@ index 99039e0..2bf9b43 100644
                          self.logger.critical(msg)
                  else:
                      pkgcount += 1
-@@ -5432,12 +6746,18 @@ class YumBase(depsolve.Depsolve):
+@@ -5432,12 +6747,18 @@ class YumBase(depsolve.Depsolve):
          if pkgprob:
              msg = _("Transaction members, relations are missing or ts has been modified,")
              if ignoremissing:
@@ -189344,7 +189534,7 @@ index 99039e0..2bf9b43 100644
          return self.tsInfo.getMembers()
  
      def _remove_old_deps(self):
-@@ -5470,18 +6790,6 @@ class YumBase(depsolve.Depsolve):
+@@ -5470,18 +6791,6 @@ class YumBase(depsolve.Depsolve):
                      if requiring == required: # if they are self-requiring skip them
                          continue
                          
@@ -189363,7 +189553,7 @@ index 99039e0..2bf9b43 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 +6841,24 @@ class YumBase(depsolve.Depsolve):
+@@ -5533,7 +6842,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
@@ -189388,7 +189578,7 @@ index 99039e0..2bf9b43 100644
                  visited[curpkg] = True
              all_leaves_visited = True
              leaves = curpkg.requiring_packages()
-@@ -5547,4 +6872,3 @@ class YumBase(depsolve.Depsolve):
+@@ -5547,4 +6873,3 @@ class YumBase(depsolve.Depsolve):
          # Debugging output
          self.verbose_logger.log(logginglevels.DEBUG_2, _("%s has no user-installed revdeps."), pkg)
          return False
@@ -191054,7 +191244,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..500a0b9 100644
+index 6d744c0..79600e6 100644
 --- a/yum/depsolve.py
 +++ b/yum/depsolve.py
 @@ -31,13 +31,15 @@ from transactioninfo import TransactionMember
@@ -191087,7 +191277,7 @@ index 6d744c0..500a0b9 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):
@@ -191097,7 +191287,7 @@ index 6d744c0..500a0b9 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):
@@ -191106,7 +191296,7 @@ index 6d744c0..500a0b9 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):
@@ -191115,7 +191305,7 @@ index 6d744c0..500a0b9 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):
@@ -192034,7 +192224,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):
@@ -192138,7 +192328,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
@@ -192824,6 +193014,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
@@ -192858,7 +193061,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
@@ -193091,7 +193294,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
@@ -193206,7 +193409,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):
@@ -193404,6 +193607,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
@@ -194314,7 +194526,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
@@ -194329,6 +194541,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 = {}
@@ -194448,7 +194669,7 @@ index 3793bad..3522512 100644
              sack = repo.getPackageSack()
              try:
 diff --git a/yum/rpmsack.py b/yum/rpmsack.py
-index e289a7a..a4e5336 100644
+index e289a7a..82aa29e 100644
 --- a/yum/rpmsack.py
 +++ b/yum/rpmsack.py
 @@ -48,6 +48,17 @@ def _open_no_umask(*args):
@@ -194488,6 +194709,15 @@ index e289a7a..a4e5336 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 ('?', '*', '['):
@@ -194585,7 +194815,7 @@ index e289a7a..a4e5336 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):
@@ -194801,6 +195031,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
@@ -195158,7 +195401,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
@@ -195210,7 +195453,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.
@@ -199670,35 +199913,3 @@ index 9f79f4f..ac94f65 100755
      errcode = None
      if 'YUM_PROF' in os.environ:
          if os.environ['YUM_PROF'] == 'cprof':
-commit d6105ccda325184b21c0c95af75f11a42b039940
-Author: Zdenek Pavlas <zpavlas at redhat.com>
-Date:   Tue Mar 19 09:51:43 2013 +0100
-
-    move bash-completion scripts to /usr/share/  BZ 922992
-
-diff --git a/etc/Makefile b/etc/Makefile
-index ec5af83..f501389 100644
---- a/etc/Makefile
-+++ b/etc/Makefile
-@@ -25,6 +25,6 @@ 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 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)/usr/share/bash-completion/completions
-+	install -m 644 yum.bash $(DESTDIR)/usr/share/bash-completion/completions/yum
- 	install -m 644 yum-cron.conf $(YUMETC)
-diff --git a/yum.spec b/yum.spec
-index ff672de..2b8df07 100644
---- a/yum.spec
-+++ b/yum.spec
-@@ -321,7 +321,7 @@ exit 0
- %dir %{_sysconfdir}/yum/protected.d
- %dir %{_sysconfdir}/yum/vars
- %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
--%{_sysconfdir}/bash_completion.d
-+%{_datadir}/bash-completion/completions/yum
- %dir %{_datadir}/yum-cli
- %{_datadir}/yum-cli/*
- %exclude %{_datadir}/yum-cli/completion-helper.py?
diff --git a/yum.spec b/yum.spec
index e8c8345..73939ac 100644
--- a/yum.spec
+++ b/yum.spec
@@ -26,10 +26,14 @@
 %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)
+
 Summary: RPM package installer/updater/manager
 Name: yum
 Version: 3.4.3
-Release: 77%{?dist}
+Release: 78%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -337,7 +341,7 @@ exit 0
 %dir %{_sysconfdir}/yum/protected.d
 %dir %{_sysconfdir}/yum/vars
 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
-%{_datadir}/bash-completion/completions/yum
+%{compdir}
 %dir %{_datadir}/yum-cli
 %{_datadir}/yum-cli/*
 %exclude %{_datadir}/yum-cli/completion-helper.py?
@@ -385,6 +389,11 @@ exit 0
 %endif
 
 %changelog
+* Wed Mar 20 2013 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-78
+- update to latest HEAD.
+- add bash-completion aliases, use pkg-config.
+- spelling fixes
+
 * Tue Mar 19 2013 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-77
 - move bash-completion scripts to /usr/share/  BZ 922992
 


More information about the scm-commits mailing list