[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