diff --git a/cli.py b/cli.py
index 7c4047a..615a1f6 100644
--- a/cli.py
+++ b/cli.py
@@ -37,7 +37,7 @@ import yum.Errors
import yum.logginglevels
import yum.misc
import yum.plugins
-import rpmUtils.arch
+from rpmUtils.arch import isMultiLibArch
import rpmUtils.miscutils
from yum.packages import parsePackages
from yum import _
@@ -99,6 +99,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
self.registerCommand(yumcommands.HelpCommand())
self.registerCommand(yumcommands.ReInstallCommand())
self.registerCommand(yumcommands.DowngradeCommand())
+ self.registerCommand(yumcommands.VersionCommand())
def registerCommand(self, command):
for name in command.getNames():
@@ -419,10 +420,21 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
_('Running rpm_check_debug'))
msgs = self._run_rpm_check_debug()
if msgs:
- print _('ERROR with rpm_check_debug vs depsolve:')
+ rpmlib_only = True
+ for msg in msgs:
+ if msg.startswith('rpmlib('):
+ continue
+ rpmlib_only = False
+ if rpmlib_only:
+ print _("ERROR You need to update rpm to handle:")
+ else:
+ print _('ERROR with rpm_check_debug vs depsolve:')
+
for msg in msgs:
print to_utf8(msg)
-
+
+ if rpmlib_only:
+ return 1, [_('RPM needs to be updated')]
return 1, [_('Please report this error in %s') % self.conf.bugtracker_url]
self.verbose_logger.debug('rpm_check_debug time: %0.3f' % (time.time() - rcd_st))
@@ -687,12 +699,21 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
try:
self.reinstall(pattern=arg)
- except yum.Errors.ReinstallError:
+ except yum.Errors.ReinstallRemoveError:
+ self._checkMaybeYouMeant(arg, always_output=False)
+ except yum.Errors.ReinstallInstallError, e:
+ ipkg = self.rpmdb.returnPackages(patterns=[arg])[0]
+ xmsg = ''
+ if 'from_repo' in ipkg.yumdb_info:
+ xmsg = ipkg.yumdb_info.from_repo
+ xmsg = _(' (from %s)') % xmsg
self.verbose_logger.log(yum.logginglevels.INFO_2,
- _('No package %s%s%s available.'),
- self.term.MODE['bold'], arg,
- self.term.MODE['normal'])
- self._maybeYouMeant(arg)
+ _('Installed package %s%s%s%s not available.'),
+ self.term.MODE['bold'], ipkg,
+ self.term.MODE['normal'], xmsg)
+ except yum.Errors.ReinstallError, e:
+ assert False, "Shouldn't happen, but just in case"
+ self.verbose_logger.log(yum.logginglevels.INFO_2, e)
if len(self.tsInfo) > oldcount:
return 2, [_('Package(s) to reinstall')]
return 0, [_('Nothing to do')]
@@ -1045,7 +1066,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
installedByKey = self.rpmdb.searchNevra(name=pkg.name)
comparable = []
for instpo in installedByKey:
- if rpmUtils.arch.isMultiLibArch(instpo.arch) == rpmUtils.arch.isMultiLibArch(pkg.arch):
+ if isMultiLibArch(instpo.arch) == isMultiLibArch(pkg.arch):
comparable.append(instpo)
else:
self.verbose_logger.log(yum.logginglevels.DEBUG_3,
@@ -1152,13 +1173,8 @@ class YumOptionParser(OptionParser):
# user writable cachedir. If that fails fall back to cache-only.
if opts.cacheonly:
self.base.conf.cache = 1
- elif self.base.conf.uid != 0:
- cachedir = yum.misc.getCacheDir()
- if cachedir is None:
- self.base.conf.cache = 1
- else:
- self.base.conf.cachedir = cachedir
- self.base.repos.setCacheDir(cachedir)
+ elif not self.base.setCacheDir():
+ self.base.conf.cache = 1
if opts.obsoletes:
self.base.conf.obsoletes = 1
diff --git a/docs/comps.rng b/docs/comps.rng
new file mode 100644
index 0000000..b681bfb
--- /dev/null
+++ b/docs/comps.rng
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Comps file Relax-NG Schema
+
+ © 2006 Nicolas Mailhot <nim at fedoraproject dot org>
+
+ TODO: re-add namespace to this file
+ use that namespace to comps.xml files
+ create grammar for comps.xml.in
+ add more documentation for comps elements
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <ref name="comps"/>
+ </start>
+ <define name="comps">
+ <element name="comps">
+ <oneOrMore>
+ <ref name="group"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="category"/>
+ </zeroOrMore>
+ <optional>
+ <interleave><!-- We don't care what order these are in -->
+ <ref name="whiteout"/>
+ <ref name="blacklist"/>
+ </interleave>
+ </optional>
+ </element>
+ </define>
+ <define name="group">
+ <element name="group">
+ <!-- Example documentation. Please add more. -->
+ <a:documentation>This defines a package group.</a:documentation>
+ <interleave>
+ <ref name="id"/>
+ <element name="default" a:defaultValue="true">
+ <a:documentation>Should the group be enabled by default?</a:documentation>
+ <ref name="boolean"/>
+ </element>
+ <element name="uservisible" a:defaultValue="true">
+ <a:documentation>Should the group be visible to users?</a:documentation>
+ <ref name="boolean"/>
+ </element>
+ <optional>
+ <element name="display_order">
+ <ref name="positiveInteger"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="langonly">
+ <ref name="locale"/>
+ </element>
+ </optional>
+ <optional>
+ <ref name="groupreqlist"/>
+ </optional>
+ <ref name="packagelist"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="groupreqlist">
+ <a:documentation>
+ Contains a list of other groups that this group requires.
+ This element has been ignored by yum et. al. since 2005 and should
+ therefore be considered deprecated.
+ </a:documentation>
+ <element name="grouplist">
+ <oneOrMore>
+ <ref name="groupreq"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="groupreq">
+ <element name="groupreq">
+ <ref name="groupname"/>
+ </element>
+ </define>
+ <define name="packagelist">
+ <element name="packagelist">
+ <oneOrMore>
+ <ref name="packagereq"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="packagereq">
+ <element name="packagereq">
+ <choice>
+ <attribute name="type" a:defaultValue="optional">
+ <choice>
+ <value>mandatory</value>
+ <value>default</value>
+ <value>optional</value>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="type" a:defaultValue="conditional">
+ <choice>
+ <value>conditional</value>
+ </choice>
+ </attribute>
+ <attribute name="requires">
+ <ref name="packagename"/>
+ </attribute>
+ </group>
+ </choice>
+ <optional>
+ <attribute name="basearchonly" a:defaultValue="false">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="packagename"/>
+ </element>
+ </define>
+ <define name="category">
+ <element name="category">
+ <interleave>
+ <ref name="id"/>
+ <optional>
+ <element name="display_order">
+ <ref name="positiveInteger"/>
+ </element>
+ </optional>
+ <ref name="grouplist"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="grouplist">
+ <element name="grouplist">
+ <oneOrMore>
+ <ref name="groupid"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="groupid">
+ <element name="groupid">
+ <ref name="string"/>
+ </element>
+ </define>
+ <define name="id">
+ <element name="id">
+ <ref name="ID"/>
+ </element>
+ <choice>
+ <!-- Either we have one _name and one _description (comps.xml.in) -->
+ <group>
+ <element name="_name">
+ <ref name="string"/>
+ </element>
+ <element name="_description">
+ <ref name="string"/>
+ </element>
+ </group>
+ <!-- Or we have one name, one description, and then zero-or-more
+ localized names and descriptions following that. -->
+ <group>
+ <element name="name">
+ <ref name="string"/>
+ </element>
+ <zeroOrMore>
+ <element name="name">
+ <attribute name="xml:lang">
+ <ref name="locale"/>
+ </attribute>
+ <ref name="string"/>
+ </element>
+ </zeroOrMore>
+ <element name="description">
+ <ref name="string"/>
+ </element>
+ <zeroOrMore>
+ <element name="description">
+ <attribute name="xml:lang">
+ <ref name="locale"/>
+ </attribute>
+ <ref name="string"/>
+ </element>
+ </zeroOrMore>
+ </group>
+ </choice>
+ </define>
+ <define name="blacklist">
+ <a:documentation>
+ The "blacklist" is a list of packages that will be *removed* if found
+ during an upgrade. Typically this is used to handle tricky upgrade cases
+ that can't be modeled with existing RPM Obsoletes/Conflicts/etc.
+
+ Here's an example: In FC6, hal was a multilib package, but in F7 we split
+ it into (non-multilib) hal and (multilib) hal-libs.
+ So the system starts with hal.x86_64 and hal.i386 (for multilib compat).
+ We want to upgrade to hal.x86_64 and hal-libs.x86_64, with hal-libs.i386
+ for multilib. Upgrading hal.x86_64 will bring in hal-libs.x86_64, and
+ upgrading hal.i386 brings in hal-libs.i386. Adding a blacklist item for
+ 'hal.i386' causes anaconda to remove the (now-unneeded) hal.i386,
+ which gives us the desired outcome.
+ </a:documentation>
+ <element name="blacklist">
+ <zeroOrMore>
+ <element name="package">
+ <attribute name="name">
+ <ref name="string"/>
+ </attribute>
+ <optional>
+ <attribute name="arch">
+ <ref name="string"/>
+ <a:documentation>
+ Arch to blacklist this package from. If unspecified, it will be
+ blocked on all arches.
+ <!-- Technically this should be an enum of known arches:
+ i386 x86_64 ppc ppc64 ia64 sparc alpha ... -->
+ </a:documentation>
+ </attribute>
+ </optional>
+ </element>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="whiteout">
+ <a:documentation>
+ The RPM "whiteout" list is used to by RPM to break dependency loops.
+ Each "ignoredep" element has two attributes - "package" and "requires" -
+ which are both package names. While calculating dependencies, RPM will
+ ignore any dependency that results in p requiring r.
+
+ This is used to keep upgrades from getting stuck on known dependency loops,
+ like with mutually dependent packages (e.g. xinitrc and xorg-x11)
+
+ To feed this info to RPM, each item should be converted to a string of the
+ form 'package>requires', and the RPM macro '_dependency_whiteout' should be
+ filled with a (whitespace-separated) list of these items.
+ </a:documentation>
+ <element name="whiteout">
+ <zeroOrMore>
+ <element name="ignoredep">
+ <attribute name="package">
+ <ref name="string"/>
+ </attribute>
+ <attribute name="requires">
+ <ref name="string"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="boolean">
+ <choice>
+ <value>true</value>
+ <value>True</value>
+ <value>false</value>
+ <value>False</value>
+ </choice>
+ </define>
+ <define name="groupname">
+ <data type="string"/>
+ </define>
+ <define name="ID">
+ <data type="ID"/>
+ </define>
+<!-- Should be a regexp -->
+ <define name="locale">
+ <data type="string"/>
+ </define>
+ <define name="packagename">
+ <data type="string"/>
+ </define>
+ <define name="positiveInteger">
+ <data type="positiveInteger"/>
+ </define>
+ <define name="string">
+ <data type="string"/>
+ </define>
+</grammar>
diff --git a/docs/yum.8 b/docs/yum.8
index c8116ee..3520912 100644
--- a/docs/yum.8
+++ b/docs/yum.8
@@ -7,7 +7,7 @@ yum \- Yellowdog Updater Modified
.SH "DESCRIPTION"
.PP
\fByum\fP is an interactive, rpm based, package manager. It can automatically
-perform system updates, including dependancy analysis and obsolete processing
+perform system updates, including dependency analysis and obsolete processing
based on "repository" metadata. It can also perform installation of new
packages, removal of old packages and perform queries on the installed and/or
available packages among many other commands/services (see below)\&. \fByum\fP
@@ -106,7 +106,7 @@ Implemented so you could know if your machine had any updates that needed to
be applied without running it interactively. Returns exit value of 100 if
there are packages available for an update. Also returns a list of the pkgs
to be updated in list format. Returns 0 if no packages are available for
-update. Returns 1 if an error occured.
+update. Returns 1 if an error occurred.
Running in verbose mode also shows obsoletes.
.IP
.IP "\fBupgrade\fP"
@@ -166,11 +166,11 @@ as "installed" if all mandatory packages are installed, or if a group doesn't
have any mandatory packages then it is installed if any of the optional or
default package are installed.
The optional "hidden" argument will also list groups marked as not being
-"user visible". If you pass the -v option, to enable verbose mode, then the
+"user visible". If you pass the \-v option, to enable verbose mode, then the
groupid's are displayed.
.IP
.IP "\fBgroupremove\fP"
-Is used to remove all of the pacakges in a group, unlike "groupinstall" this
+Is used to remove all of the packages in a group, unlike "groupinstall" this
will remove everything regardless of group_package_types. It is worth pointing
out that packages can be in more than one group, so "groupinstall X Y" followed
by "groupremove Y" does not do give you the same result as "groupinstall X".
@@ -179,7 +179,7 @@ by "groupremove Y" does not do give you the same result as "groupinstall X".
Is used to give the description and package list of a group (and which type
those packages are marked as). Note that you can use the yum-filter-data and
yum-list-data plugins to get/use the data the other way around (Ie. what
-groups own packages need updating). If you pass the -v option, to enable verbose
+groups own packages need updating). If you pass the \-v option, to enable verbose
mode, then the package names are matched against installed/available packages
similar to the list command.
.IP
@@ -222,7 +222,7 @@ dependencies for the given packages.
.IP
.IP "\fBrepolist\fP"
Produces a list of configured repositories. The default is to list all
-enabled repositories. If you pass -v, for verbose mode, more information is
+enabled repositories. If you pass \-v, for verbose mode, more information is
listed.
.IP
.IP "\fBhelp\fP"
@@ -309,7 +309,7 @@ main == disable excludes defined in [main] in yum.conf
repoid == disable excludes defined for that repo
.br
.IP "\fB\-\-disableplugin=plugin\fP"
-Run with one or more plugins disabled, the argument is a comma seperated list
+Run with one or more plugins disabled, the argument is a comma separated list
of wildcards to match against plugin names.
.br
.IP "\fB\-\-noplugins\fP"
@@ -333,7 +333,14 @@ This option currently does nothing.
The following are the ways which you can invoke \fByum\fP in list
mode\&. Note that all \fBlist\fP commands include information on the
version of the package\&.
-.IP
+.IP
+.IP "\fBOUTPUT\fP"
+
+
+The format of the output of yum list is:
+
+name.arch \[epoch\:\]version-release repo or \@installed-from-repo
+
.IP "\fByum list [all | glob_exp1] [glob_exp2] [\&.\&.\&.]\fP"
List all available and installed packages\&.
.IP "\fByum list available [glob_exp1] [\&.\&.\&.]\fP"
diff --git a/docs/yum.conf.5 b/docs/yum.conf.5
index 521ffed..69b601d 100644
--- a/docs/yum.conf.5
+++ b/docs/yum.conf.5
@@ -22,21 +22,25 @@ repository/server. There should be one or more repository sections.
The [main] section must exist for yum to do anything. It consists of the
following options:
-.IP \fBcachedir\fR
+.IP
+\fBcachedir\fR
Directory where yum should store its cache and db files. The default is
`/var/cache/yum'.
-.IP \fBpersistdir\fR
+.IP
+\fBpersistdir\fR
Directory where yum should store information that should persist over multiple
runs. The default is `/var/lib/yum'.
-.IP \fBkeepcache\fR
+.IP
+\fBkeepcache\fR
Either `1' or `0'. Determines whether or not yum keeps the cache
of headers and packages after successful installation. Default is '1'
(keep files)
.br
-.IP \fBreposdir\fR
+.IP
+\fBreposdir\fR
A list of directories where yum should look for .repo files which define
repositories to use. Default is `/etc/yum/repos.d'. Each
file in this directory should contain one or more repository sections as
@@ -44,38 +48,46 @@ documented in \fB[repository] options\fR below. These will be merged with the
repositories defined in /etc/yum/yum.conf to form the complete set of
repositories that yum will use.
-.IP \fBdebuglevel\fR
+.IP
+\fBdebuglevel\fR
Debug message output level. Practical range is 0\-10. Default is `2'.
-.IP \fBerrorlevel\fR
+.IP
+\fBerrorlevel\fR
Error message output level. Practical range is 0\-10. Default is `2'.
-.IP \fBlogfile\fR
+.IP
+\fBlogfile\fR
Full directory and file name for where yum should write its log file.
-.IP \fBgpgcheck\fR
+.IP
+\fBgpgcheck\fR
Either `1' or `0'. This tells yum whether or not it should perform a GPG
signature check on packages. When this is set in the [main] section it sets the
default for all repositories. This option also determines whether or not an
install of a package from a local RPM file will be GPG signature checked. The
default is `0'.
-.IP \fBrepo_gpgcheck\fR
+.IP
+\fBrepo_gpgcheck\fR
Either `1' or `0'. This tells yum whether or not it should perform a GPG
signature check on the repodata. When this is set in the [main] section it sets the
default for all repositories. The default is `0'.
-.IP \fBskip_broken\fR
+.IP
+\fBskip_broken\fR
Either `1' or `0'. Resolve depsolve problems by removing packages that
are causing problems from the transaction.
-.IP \fBassumeyes\fR
+.IP
+\fBassumeyes\fR
Either `1' or `0'. Determines whether or not yum prompts for confirmation of
critical actions. Default is `0' (do prompt).
.br
Command-line option: \fB\-y\fP
-.IP \fBalwaysprompt\fR
+.IP
+\fBalwaysprompt\fR
Either `1' or `0'. Without this option, yum will not prompt for confirmation
when the list of packages to be installed exactly matches those given on the
command line. Unless \fBassumeyes\fR is enabled, it will still prompt for
@@ -83,7 +95,8 @@ package removal, or when additional packages need to be installed to fulfill
dependencies. Default is `1'.
.br
-.IP \fBtolerant\fR
+.IP
+\fBtolerant\fR
Either `1' or `0'. If enabled, then yum will be tolerant of errors on the
command line with regard to packages. For example: if you request to install
foo, bar and baz and baz is installed; yum won't error out complaining that baz
@@ -91,38 +104,45 @@ is already installed. Default to `0' (not tolerant).
.br
Command-line option: \fB\-t\fP
-.IP \fBexclude\fR
+.IP
+\fBexclude\fR
List of packages to exclude from updates or installs. This should be a space
separated list.
Shell globs using wildcards (eg. * and ?) are allowed.
-.IP \fBexactarch\fR
+.IP
+\fBexactarch\fR
Either `1' or `0'. Set to `1' to make yum update only update the architectures
of packages that you have installed. ie: with this enabled yum will not install
an i686 package to update an i386 package. Default is `1'.
-.IP \fBinstallonlypkgs \fR
+.IP
+\fBinstallonlypkgs \fR
List of packages that should only ever be installed, never updated. Kernels
in particular fall into this category. Defaults to kernel, kernel-smp,
kernel-bigmem, kernel-enterprise, kernel-debug, kernel-unsupported.
-.IP \fBinstallonly_limit \fR
+.IP
+\fBinstallonly_limit \fR
Number of packages listed in installonlypkgs to keep installed at the same
time. Setting to 0 disables this feature. Default is '0'. Note that this
functionality used to be in the "installonlyn" plugin, where this option was
altered via. tokeep.
-.IP \fBkernelpkgnames \fR
+.IP
+\fBkernelpkgnames \fR
List of package names that are kernels. This is really only here for the
updating of kernel packages and should be removed out in the yum 2.1 series.
-.IP \fBshowdupesfromrepos\fR
+.IP
+\fBshowdupesfromrepos\fR
Either `0' or `1'. Set to `1' if you wish to show any duplicate packages from
any repository, from package listings like the info or list commands. Set
to `0' if you want only to see the newest packages from any repository.
Default is `0'.
-.IP \fBobsoletes \fR
+.IP
+\fBobsoletes \fR
This option only has affect during an \fBupdate\fR. It enables yum's
obsoletes processing logic. Useful when doing distribution level upgrades. See
also the yum \fBupgrade\fR command documentation for more details (yum(8)).
@@ -130,63 +150,75 @@ Default is `true'.
.br
Command-line option: \fB\-\-obsoletes\fP
-.IP \fBoverwrite_groups \fR
+.IP
+\fBoverwrite_groups \fR
Either `0' or `1'. Used to determine yum's behaviour if two or more
repositories offer the package groups with the same name. If
\fBoverwrite_groups\fR is `1' then the group packages of the last matching
repository will be used. If \fBoverwrite_groups\fR is `0' then the groups
from all matching repositories will be merged together as one large group.
-.IP \fBenable_group_conditionals\fR
+.IP
+\fBenable_group_conditionals\fR
Either `0' or `1'. Determines whether yum will allow the use of conditionals
packages. Default is `1' (package conditionals are allowed).
-.IP \fBgroup_package_types\fR
+.IP
+\fBgroup_package_types\fR
List of the following: optional, default, mandatory. Tells yum which type
of packages in groups will be installed when 'groupinstall' is called.
Default is: default, mandatory
-.IP \fBinstallroot \fR
+.IP
+\fBinstallroot \fR
Specifies an alternative installroot, relative to which all packages will be
installed.
.br
Command-line option: \fB\-\-installroot\fP
-.IP \fBdistroverpkg\fR
+.IP
+\fBdistroverpkg\fR
The package used by yum to determine the "version" of the distribution. This
can be any installed package. Default is `redhat-release'. You can see what
provides this manually by using: "yum whatprovides redhat-release".
-.IP \fBdiskspacecheck\fR
+.IP
+\fBdiskspacecheck\fR
Either `0' or `1'. Set this to `0' to disable the checking for sufficient
diskspace before a RPM transaction is run. Default is `1' (perform the check).
-.IP \fBtsflags\fR
+.IP
+\fBtsflags\fR
Comma or space separated list of transaction flags to pass to the rpm
transaction set. These include 'noscripts', 'notriggers', 'nodocs', 'test', and 'repackage'.
You can set all/any of them. However, if you don't know what these do in the
context of an rpm transaction set you're best leaving it alone. Default is
an empty list.
-.IP \fBrecent\fR
+.IP
+\fBrecent\fR
Number of days back to look for `recent' packages added to a repository.
Used by the \fBlist recent\fR command. Default is `7'.
-.IP \fBretries\fR
+.IP
+\fBretries\fR
Set the number of times any attempt to retrieve a file should retry before
returning an error. Setting this to `0' makes yum try forever. Default is `10'.
-.IP \fBkeepalive \fR
+.IP
+\fBkeepalive \fR
Either `0' or `1'. Set whether HTTP keepalive should be used for HTTP/1.1
servers that support it. This can improve transfer speeds by using one
connection when downloading multiple files from a repository. Default is `1'.
-.IP \fBtimeout \fR
+.IP
+\fBtimeout \fR
Number of seconds to wait for a connection before timing out. Defaults to
30 seconds. This may be too short of a time for extremely overloaded
sites.
-.IP \fBhttp_caching\fR
+.IP
+\fBhttp_caching\fR
Determines how upstream HTTP caches are instructed to handle any HTTP downloads
that Yum does. This option can take the following values:
@@ -198,10 +230,11 @@ repository metadata downloads).
`none' means that no HTTP downloads should be cached.
The default is `all'. This is recommended unless you are experiencing caching
-related issues. Try to at least use `packages' to minimise load on repository
+related issues. Try to at least use `packages' to minimize load on repository
servers.
-.IP \fBthrottle \fR
+.IP
+\fBthrottle \fR
Enable bandwidth throttling for downloads. This option can be expressed as a
absolute data rate in bytes/sec. An SI prefix (k, M or G) may be appended to the
bandwidth value (eg. `5.5k' is 5.5 kilobytes/sec, `2M' is 2 Megabytes/sec).
@@ -212,47 +245,78 @@ the maximum available bandwidth.
Set to `0' to disable bandwidth throttling. This is the default.
-.IP \fBbandwidth \fR
+.IP
+\fBbandwidth \fR
Use to specify the maximum available network bandwidth in bytes/second. Used
with the \fBthrottle\fR option (above). If \fBthrottle\fR is a percentage and
\fBbandwidth\fR is `0' then bandwidth throttling will be disabled. If
\fBthrottle\fR is expressed as a data rate (bytes/sec) then this option is
ignored. Default is `0' (no bandwidth throttling).
-.IP \fBcommands\fR
+.IP
+\fBsslcacert \fR
+Path to the directory containing the databases of the certificate authorities
+yum should use to verify ssl certificates. Defaults to none - uses system
+default
+
+.IP
+\fBsslverify \fR
+Boolean - should yum verify ssl certificates/hosts at all. Defaults to True
+
+.IP
+\fBsslclientcert \fR
+Path to the ssl client certificate yum should use to connect to repos/remote sites
+Defaults to none.
+
+.IP
+\fBsslclientkey \fR
+Path to the ssl client key yum should use to connect to repos/remote sites
+Defaults to none.
+
+.IP
+\fBcommands\fR
List of functional commands to run if no functional commands are specified
on the command line (eg. "update foo bar baz quux"). None of the short options
-(eg. -y, -e, -d) are accepted for this option.
+(eg. \-y, \-e, \-d) are accepted for this option.
-." .IP \fBsyslog_ident \fR
-." XXX not implemented yet
+.IP
+\fBsyslog_ident \fR
+XXX not implemented yet
-." .IP \fBsyslog_facility \fR
-." XXX not implemented yet
+.IP
+\fBsyslog_facility \fR
+XXX not implemented yet
-.IP \fBproxy \fR
+.IP
+\fBproxy \fR
url to the proxy server that yum should use.
-.IP \fBproxy_username \fR
+.IP
+\fBproxy_username \fR
username to use for proxy
-.IP \fBproxy_password \fR
+.IP
+\fBproxy_password \fR
password for this proxy
-.IP \fBplugins \fR
+.IP
+\fBplugins \fR
Either `0' or `1'. Global switch to enable or disable yum plugins. Default is
`0' (plugins disabled). See the \fBPLUGINS\fR section of the \fByum(8)\fR man
for more information on installing yum plugins.
-.IP \fBpluginpath \fR
+.IP
+\fBpluginpath \fR
A list of directories where yum should look for plugin modules. Default is
`/usr/share/yum-plugins' and `/usr/lib/yum-plugins'.
-.IP \fBpluginconfpath \fR
+.IP
+\fBpluginconfpath \fR
A list of directories where yum should look for plugin configuration files.
Default is `/etc/yum/pluginconf.d'.
-.IP \fBmetadata_expire \fR
+.IP
+\fBmetadata_expire \fR
Time (in seconds) after which the metadata will expire. So that if the
current metadata downloaded is less than this many seconds old then yum will
not update the metadata against the repository. If you find that
@@ -265,7 +329,8 @@ never expire. Note that when using a metalink file the metalink must always
be newer than the metadata for the repository, due to the validation, so this
timeout also applies to the metalink file.
-.IP \fBmirrorlist_expire \fR
+.IP
+\fBmirrorlist_expire \fR
Time (in seconds) after which the mirrorlist locally cached will expire.
If the current mirrorlist is less than this many seconds old then yum
will not download another copy of the mirrorlist, it has the same extra format
@@ -273,12 +338,13 @@ as metadata_expire.
If you find that yum is not downloading the mirrorlists as
often as you would like lower the value of this option.
-.IP \fBmdpolicy \fR
+.IP
+\fBmdpolicy \fR
You can select from different metadata download policies depending on how much
data you want to download with the main repository metadata index. The
advantages of downloading more metadata with the index is that you can't get
into situations where you need to use that metadata later and the versions
-available aren't compatible (or the user lacks privilages) and that if the
+available aren't compatible (or the user lacks privileges) and that if the
metadata is corrupt in any way yum will revert to the previous metadata.
`instant' - Just download the new metadata index, this is roughly what yum
@@ -295,7 +361,7 @@ This file also tends to be significantly smaller than most others.
`group:main' - With the primary and updateinfo download the filelists metadata
and the group metadata. The filelists data is required for operations like
-"yum install /bin/bash", and also some dependancy resolutions require it. The
+"yum install /bin/bash", and also some dependency resolutions require it. The
group data is used in some graphical clients and for group operations like
"yum grouplist Base".
@@ -303,91 +369,106 @@ group data is used in some graphical clients and for group operations like
not listed above is the other metadata, which contains the changelog information
which is used by yum-changelog. This is what "yum makecache" uses.
-.IP \fBmultilib_policy \fR
+.IP
+\fBmultilib_policy \fR
Can be set to 'all' or 'best'. All means install all possible arches for any package you
want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64,
if it is available. Best means install the best arch for this platform, only.
-.IP \fBbugtracker_url \fR
+.IP
+\fBbugtracker_url \fR
Url where bugs should be filed for yum. Configurable for local versions or distro-specific
bugtrackers.
-.IP \fBcolor \fR
+.IP
+\fBcolor \fR
Display colorized output automatically, depending on the output terminal,
always (using ANSI codes) or never.
Command-line option: \fB\-\-color\fP
-.IP \fBcolor_list_installed_older \fR
-The colorization/highlighting for pacakges in list/info installed which are
+.IP
+\fBcolor_list_installed_older \fR
+The colorization/highlighting for packages in list/info installed which are
older than the latest available package with the same name and arch.
Default is `bold'.
-Possible values are a comma seperated list containing: bold, blink, dim,
+Possible values are a comma separated list containing: bold, blink, dim,
reverse, underline, fg:black, fg:red, fg:green, fg:yellow, fg:blue, fg:magenta,
fg:cyan, fg:white, bg:black, bg:red, bg:green, bg:yellow, bg:blue, bg:magenta,
bg:cyan, bg:white.
-.IP \fBcolor_list_installed_newer \fR
-The colorization/highlighting for pacakges in list/info installed which are
+.IP
+\fBcolor_list_installed_newer \fR
+The colorization/highlighting for packages in list/info installed which are
newer than the latest available package with the same name and arch.
Default is `bold,yellow'.
See color_list_installed_older for possible values.
-.IP \fBcolor_list_installed_reinstall \fR
-The colorization/highlighting for pacakges in list/info installed which is
+.IP
+\fBcolor_list_installed_reinstall \fR
+The colorization/highlighting for packages in list/info installed which is
the same version as the latest available package with the same name and arch.
Default is `normal'.
See color_list_installed_older for possible values.
-.IP \fBcolor_list_installed_extra \fR
-The colorization/highlighting for pacakges in list/info installed which has
+.IP
+\fBcolor_list_installed_extra \fR
+The colorization/highlighting for packages in list/info installed which has
no available package with the same name and arch.
Default is `bold,red'.
See color_list_installed_older for possible values.
-.IP \fBcolor_list_available_upgrade \fR
-The colorization/highlighting for pacakges in list/info available which is
+.IP
+\fBcolor_list_available_upgrade \fR
+The colorization/highlighting for packages in list/info available which is
an upgrade for the latest installed package with the same name and arch.
Default is `bold,blue'.
See color_list_installed_older for possible values.
-.IP \fBcolor_list_available_downgrade \fR
-The colorization/highlighting for pacakges in list/info available which is
+.IP
+\fBcolor_list_available_downgrade \fR
+The colorization/highlighting for packages in list/info available which is
a downgrade for the latest installed package with the same name and arch.
Default is `dim,cyan'.
See color_list_installed_older for possible values.
-.IP \fBcolor_list_available_install \fR
-The colorization/highlighting for pacakges in list/info available which has
+.IP
+\fBcolor_list_available_install \fR
+The colorization/highlighting for packages in list/info available which has
no installed package with the same name and arch.
Default is `normal'.
See color_list_installed_older for possible values.
-.IP \fBcolor_list_available_reinstall \fR
-The colorization/highlighting for pacakges in list/info available which is
+.IP
+\fBcolor_list_available_reinstall \fR
+The colorization/highlighting for packages in list/info available which is
the same version as the installed package with the same name and arch.
Default is `bold,underline,green.
See color_list_installed_older for possible values.
-.IP \fBcolor_search_match \fR
+.IP
+\fBcolor_search_match \fR
The colorization/highlighting for text matches in search.
Default is `bold'.
See color_list_installed_older for possible values.
-.IP \fBcolor_update_installed \fR
+.IP
+\fBcolor_update_installed \fR
The colorization/highlighting for packages in the "updates list" which are
installed. The updates list is what is printed when you run "yum update",
"yum list updates", "yum list obsoletes" and "yum check-update".
Default is `normal'.
See color_list_installed_older for possible values.
-.IP \fBcolor_update_local \fR
+.IP
+\fBcolor_update_local \fR
The colorization/highlighting for packages in the "updates list" which are
already downloaded. The updates list is what is printed when you run
"yum update", "yum list updates", "yum list obsoletes" and "yum check-update".
Default is `bold'.
See color_list_installed_older for possible values.
-.IP \fBcolor_update_remote \fR
+.IP
+\fBcolor_update_remote \fR
The colorization/highlighting for packages in the "updates list" which need to
be downloaded. The updates list is what is printed when you run "yum update",
"yum list updates", "yum list obsoletes" and "yum check-update".
@@ -397,7 +478,8 @@ See color_list_installed_older for possible values.
.SH "[repository] OPTIONS"
.LP
The repository section(s) take the following form:
-.IP \fBExample\fP:
+.IP
+\fBExample\fP:
[repositoryid]
.br
name=Some name for this repository
@@ -405,13 +487,16 @@ name=Some name for this repository
baseurl=url://path/to/repository/
.br
-.IP \fBrepositoryid\fR
+.IP
+\fBrepositoryid\fR
Must be a unique name for each repository, one word.
-.IP \fBname\fR
+.IP
+\fBname\fR
A human readable string describing the repository.
-.IP \fBbaseurl\fR
+.IP
+\fBbaseurl\fR
Must be a URL to the directory where the yum repository's `repodata' directory
lives. Can be an http://, ftp:// or file:// URL. You can specify multiple URLs
in one baseurl statement. The best way to do this is like this:
@@ -434,7 +519,8 @@ you've been warned.
You can use HTTP basic auth by prepending "user:password@" to the server
name in the baseurl line. For example: "baseurl=http://user:passwd@example.com/".
-.IP \fBmetalink\fR
+.IP
+\fBmetalink\fR
Specifies a URL to a metalink file for the repomd.xml, a list of mirrors for
the entire repository are generated by converting the mirrors for the
repomd.xml file to a baseurl. The metalink file also contains the latest
@@ -446,7 +532,8 @@ below, can be used with this option. This option disables the mirrorlist option.
As a special hack is the mirrorlist URL contains the word "metalink" then the
value of mirrorlist is copied to metalink (if metalink is not set).
-.IP \fBmirrorlist\fR
+.IP
+\fBmirrorlist\fR
Specifies a URL to a file containing a list of baseurls. This can be used
instead of or with the \fBbaseurl\fR option. Substitution variables, described
below, can be used with this option.
@@ -454,19 +541,23 @@ As a special hack is the mirrorlist URL contains the word "metalink" then the
value of mirrorlist is copied to metalink (if metalink is not set).
-.IP \fBenabled\fR
+.IP
+\fBenabled\fR
Either `1' or `0'. This tells yum whether or not use this repository.
-.IP \fBgpgcheck\fR
+.IP
+\fBgpgcheck\fR
Either `1' or `0'. This tells yum whether or not it should perform a GPG
signature check on the packages gotten from this repository.
-.IP \fBrepo_gpgcheck\fR
+.IP
+\fBrepo_gpgcheck\fR
Either `1' or `0'. This tells yum whether or not it should perform a GPG
signature check on the repodata from this repository.
-.IP \fBgpgkey\fR
-A URL pointing to the ASCII-armoured GPG key file for the repository. This
+.IP
+\fBgpgkey\fR
+A URL pointing to the ASCII-armored GPG key file for the repository. This
option is used if yum needs a public key to verify a package and the required
key hasn't been imported into the RPM database. If this option is set, yum will
automatically import the key from the specified URL. You will be prompted before
@@ -476,21 +567,25 @@ Multiple URLs may be specified here in the same manner as the \fBbaseurl\fR
option (above). If a GPG key is required to install a package from a
repository, all keys specified for that repository will be installed.
-.IP \fBexclude\fR
+.IP
+\fBexclude\fR
Same as the [main] \fBexclude\fR option but only for this repository.
Substitution variables, described below, are honored here.
-.IP \fBincludepkgs\fR
+.IP
+\fBincludepkgs\fR
Inverse of exclude. This is a list of packages you want to use from a
repository. If this option lists only one package then that is all yum will
ever see from the repository. Defaults to an empty list. Substitution
variables, described below, are honored here.
-.IP \fBenablegroups\fR
+.IP
+\fBenablegroups\fR
Either `0' or `1'. Determines whether yum will allow the use of package groups
for this repository. Default is `1' (package groups are allowed).
-.IP \fBfailovermethod\fR
+.IP
+\fBfailovermethod\fR
Either `roundrobin' or `priority'.
`roundrobin' randomly selects a URL out of
@@ -502,50 +597,84 @@ sequentially.
\fBfailovermethod\fR defaults to `roundrobin' if not specified.
-.IP \fBkeepalive\fR
+.IP
+\fBkeepalive\fR
Either `1' or `0'. This tells yum whether or not HTTP/1.1 keepalive should be
used with this repository. See the global option in the [main] section above
for more information.
-.IP \fBtimeout\fR
+.IP
+\fBtimeout\fR
Overrides the \fBtimeout\fR option from the [main] section for this repository.
-.IP \fBhttp_caching\fR
+.IP
+\fBhttp_caching\fR
Overrides the \fBhttp_caching\fR option from the [main] section for this repository.
-.IP \fBretries\fR
+.IP
+\fBretries\fR
Overrides the \fBretries\fR option from the [main] section for this repository.
-.IP \fBthrottle\fR
+.IP
+\fBthrottle\fR
Overrides the \fBthrottle\fR option from the [main] section for this
repository.
-.IP \fBbandwidth\fR
+.IP
+\fBbandwidth\fR
Overrides the \fBbandwidth\fR option from the [main] section for this
repository.
-.IP \fBmetadata_expire \fR
+
+.IP
+\fBsslcacert \fR
+Overrides the \fBsslcacert\fR option from the [main] section for this
+repository.
+
+.IP
+\fBsslverify \fR
+Overrides the \fBsslverify\fR option from the [main] section for this
+repository.
+
+.IP
+\fBsslclientcert \fR
+Overrides the \fBsslclientcert\fR option from the [main] section for this
+repository.
+
+.IP
+\fBsslclientkey \fR
+Overrides the \fBsslclientkey\fR option from the [main] section for this
+repository.
+
+
+.IP
+\fBmetadata_expire \fR
Overrides the \fBmetadata_expire\fR option from the [main] section for this
repository.
-.IP \fBmirrorlist_expire \fR
+.IP
+\fBmirrorlist_expire \fR
Overrides the \fBmirrorlist_expire\fR option from the [main] section for this
repository.
-.IP \fBproxy \fR
+.IP
+\fBproxy \fR
url to the proxy server for this repository. Set to '_none_' to disable the
global proxy setting for this repository. If this is unset it
inherits it from the global setting
-.IP \fBproxy_username \fR
+.IP
+\fBproxy_username \fR
username to use for proxy.
If this is unset it inherits it from the global setting
-.IP \fBproxy_password \fR
+.IP
+\fBproxy_password \fR
password for this proxy.
If this is unset it inherits it from the global setting
-.IP \fBcost \fR
+.IP
+\fBcost \fR
relative cost of accessing this repository. Useful for weighing one repo's packages
as greater/less than any other. defaults to 1000
@@ -568,20 +697,24 @@ configuration files. They are available in the values of several options
including \fBname\fR, \fBbaseurl\fR and \fBcommands\fB.
.LP
-.IP \fB$releasever\fR
+.IP
+\fB$releasever\fR
This will be replaced with the value of the version of the package listed
in \fBdistroverpkg\fR. This defaults to the version of `redhat-release'
package.
-.IP \fB$arch\fR
+.IP
+\fB$arch\fR
This will be replaced with your architecture as listed by os.uname()[4] in
Python.
-.IP \fB$basearch\fR
+.IP
+\fB$basearch\fR
This will be replaced with your base architecture in yum. For example, if
your $arch is i686 your $basearch will be i386.
-.IP \fB$YUM0-$YUM9\fR
+.IP
+\fB$YUM0-$YUM9\fR
These will be replaced with the value of the shell environment variable of
the same name. If the shell environment variable does not exist then the
configuration file variable will not be replaced.
diff --git a/output.py b/output.py
index 7803275..2299a9c 100755
--- a/output.py
+++ b/output.py
@@ -141,10 +141,6 @@ class YumTerm:
self.BG_COLOR = self.__ansi_forced_BG_COLOR
def reinit(self, term_stream=None, color='auto'):
- if color == 'never':
- self.__enabled = False
- return
-
self.__enabled = True
if not hasattr(urlgrabber.progress, 'terminal_width_cached'):
self.columns = 80
@@ -153,7 +149,6 @@ class YumTerm:
if color == 'always':
self.__forced_init()
return
- assert color == 'auto'
# Output modes:
self.MODE = {
@@ -188,6 +183,11 @@ class YumTerm:
'white' : ''
}
+ if color == 'never':
+ self.__enabled = False
+ return
+ assert color == 'auto'
+
# Curses isn't available on all platforms
try:
import curses
@@ -861,7 +861,7 @@ class YumOutput:
item = self._sub_highlight(item, highlight, matchfor,
ignore_case=True)
if can_overflow:
- print self.fmtKeyValFill(key, item)
+ print self.fmtKeyValFill(key, to_unicode(item))
else:
print key % item
print '\n\n'
@@ -902,8 +902,7 @@ class YumOutput:
def listTransaction(self):
"""returns a string rep of the transaction in an easy-to-read way."""
- self.tsInfo.makelists()
- out = u""
+ self.tsInfo.makelists(True, True)
pkglist_lines = []
data = {'n' : {}, 'v' : {}, 'r' : {}}
a_wid = 0 # Arch can't get "that big" ... so always use the max.
@@ -938,6 +937,8 @@ class YumOutput:
for (action, pkglist) in [(_('Installing'), self.tsInfo.installed),
(_('Updating'), self.tsInfo.updated),
(_('Removing'), self.tsInfo.removed),
+ (_('Reinstalling'), self.tsInfo.reinstalled),
+ (_('Downgrading'), self.tsInfo.downgraded),
(_('Installing for dependencies'), self.tsInfo.depinstalled),
(_('Updating for dependencies'), self.tsInfo.depupdated),
(_('Removing for dependencies'), self.tsInfo.depremoved)]:
@@ -955,7 +956,9 @@ class YumOutput:
pkglist_lines.append((action, lines))
- if data['n']:
+ if not data['n']:
+ return u''
+ else:
data = [data['n'], {}, data['v'], data['r'], {}]
columns = [1, a_wid, 1, 1, 5]
columns = self.calcColumns(data, indent=" ", columns=columns,
@@ -963,7 +966,7 @@ class YumOutput:
(n_wid, a_wid, v_wid, r_wid, s_wid) = columns
assert s_wid == 5
- out = u"""
+ out = [u"""
%s
%s
%s
@@ -971,7 +974,7 @@ class YumOutput:
self.fmtColumns(((_('Package'), -n_wid), (_('Arch'), -a_wid),
(_('Version'), -v_wid), (_('Repository'), -r_wid),
(_('Size'), s_wid)), u" "),
- '=' * self.term.columns)
+ '=' * self.term.columns)]
for (action, lines) in pkglist_lines:
if lines:
@@ -989,21 +992,33 @@ class YumOutput:
totalmsg = totalmsg + msg
if lines:
- out = out + totalmsg
+ out.append(totalmsg)
summary = _("""
Transaction Summary
%s
-Install %5.5s Package(s)
-Update %5.5s Package(s)
-Remove %5.5s Package(s)
-""") % ('=' * self.term.columns,
- len(self.tsInfo.installed + self.tsInfo.depinstalled),
- len(self.tsInfo.updated + self.tsInfo.depupdated),
- len(self.tsInfo.removed + self.tsInfo.depremoved))
- out = out + summary
+""") % ('=' * self.term.columns,)
+ out.append(summary)
+ num_in = len(self.tsInfo.installed + self.tsInfo.depinstalled)
+ num_up = len(self.tsInfo.updated + self.tsInfo.depupdated)
+ summary = _("""\
+Install %5.5s Package(s)
+Upgrade %5.5s Package(s)
+""") % (num_in, num_up,)
+ if num_in or num_up: # Always do this?
+ out.append(summary)
+ num_rm = len(self.tsInfo.removed + self.tsInfo.depremoved)
+ num_re = len(self.tsInfo.reinstalled)
+ num_dg = len(self.tsInfo.downgraded)
+ summary = _("""\
+Remove %5.5s Package(s)
+Reinstall %5.5s Package(s)
+Downgrade %5.5s Package(s)
+""") % (num_rm, num_re, num_dg)
+ if num_rm or num_re or num_dg:
+ out.append(summary)
- return out
+ return ''.join(out)
def postTransactionOutput(self):
out = ''
@@ -1125,7 +1140,8 @@ Remove %5.5s Package(s)
# to exit.
# Where "interupt (ctrl-c) again" and "two" are highlighted.
msg = _("""
- Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds to exit.
+ Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds
+to exit.
""") % (hibeg, hiend, hibeg, delta_exit_str, hiend)
self.verbose_logger.log(logginglevels.INFO_2, msg)
elif now - self._last_interrupt < delta_exit_chk:
@@ -1146,6 +1162,8 @@ Remove %5.5s Package(s)
tl = urlgrabber.progress.TerminalLine(8)
self.verbose_logger.log(logginglevels.INFO_2, "-" * tl.rest())
dl_time = time.time() - download_start_timestamp
+ if dl_time <= 0: # This stops divide by zero, among other problems
+ dl_time = 0.01
ui_size = tl.add(' | %5sB' % self.format_number(remote_size))
ui_time = tl.add(' %9s' % self.format_time(dl_time))
ui_end = tl.add(' ' * 5)
diff --git a/po/Makefile b/po/Makefile
index 31257c4..aad596a 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -69,4 +69,4 @@ install: all
done
%.mo: %.po
- msgfmt -o $@ $<
+ msgfmt -o $@ $< -c
diff --git a/po/da.po b/po/da.po
index 68cef3a..dbef7ce 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,5 +1,5 @@
# Danish translation of yum
-# Copyright (C) 2008 THE yum'S COPYRIGHT HOLDER
+# Copyright (C) 2008 yum
# This file is distributed under the same license as the yum package.
# tim <timlau@fedoraproject.org>, 2008.
# Kris Thomsen <lakristho@gmail.com>, 2009.
@@ -9,15 +9,15 @@ msgid ""
msgstr ""
"Project-Id-Version: yum 3.2.x\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-15 14:37+0000\n"
-"PO-Revision-Date: 2009-04-15 16:39+0200\n"
+"POT-Creation-Date: 2009-05-23 20:05+0000\n"
+"PO-Revision-Date: 2009-05-24 13:08+0200\n"
"Last-Translator: Kris Thomsen <lakristho@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../callback.py:48 ../output.py:936 ../yum/rpmtrans.py:71
+#: ../callback.py:48 ../output.py:939 ../yum/rpmtrans.py:71
msgid "Updating"
msgstr "Opdaterer"
@@ -25,7 +25,7 @@ msgstr "Opdaterer"
msgid "Erasing"
msgstr "Sletter"
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:935
+#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:938
#: ../yum/rpmtrans.py:73 ../yum/rpmtrans.py:74 ../yum/rpmtrans.py:76
msgid "Installing"
msgstr "Installerer"
@@ -34,7 +34,7 @@ msgstr "Installerer"
msgid "Obsoleted"
msgstr "Overflødiggjort"
-#: ../callback.py:54 ../output.py:1043
+#: ../callback.py:54 ../output.py:1046
msgid "Updated"
msgstr "Opdateret"
@@ -42,7 +42,7 @@ msgstr "Opdateret"
msgid "Erased"
msgstr "Slettet"
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1041
+#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1044
msgid "Installed"
msgstr "Installeret"
@@ -64,7 +64,7 @@ msgstr "Error: ugyldig uddatastatus: %s for %s"
msgid "Erased: %s"
msgstr "Slettet: %s"
-#: ../callback.py:217 ../output.py:937
+#: ../callback.py:217 ../output.py:940
msgid "Removing"
msgstr "Sletter"
@@ -72,60 +72,60 @@ msgstr "Sletter"
msgid "Cleanup"
msgstr "Oprydning af"
-#: ../cli.py:104
+#: ../cli.py:107
#, python-format
msgid "Command \"%s\" already defined"
msgstr "Kommandoen \"%s\" er allerede defineret"
-#: ../cli.py:116
+#: ../cli.py:119
msgid "Setting up repositories"
msgstr "Indstiller pakkearkiver"
-#: ../cli.py:127
+#: ../cli.py:130
msgid "Reading repository metadata in from local files"
msgstr "Læser pakkearkiv for metadata fra lokale filer"
-#: ../cli.py:190 ../utils.py:87
+#: ../cli.py:193 ../utils.py:87
#, python-format
msgid "Config Error: %s"
msgstr "Konfigurationsfejl: %s"
-#: ../cli.py:193 ../cli.py:1229 ../utils.py:90
+#: ../cli.py:196 ../cli.py:1233 ../utils.py:90
#, python-format
msgid "Options Error: %s"
msgstr "Fejl i indstilling: %s"
-#: ../cli.py:221
+#: ../cli.py:225
#, python-format
msgid " Installed: %s-%s at %s"
msgstr " Installeret: %s-%s på %s"
-#: ../cli.py:223
+#: ../cli.py:227
#, python-format
msgid " Built : %s at %s"
msgstr " Bygget : %s på %s"
-#: ../cli.py:225
+#: ../cli.py:229
#, python-format
msgid " Committed: %s at %s"
msgstr " Indsendt: %s på %s"
-#: ../cli.py:264
+#: ../cli.py:268
msgid "You need to give some command"
msgstr "Du skal angive en kommando"
-#: ../cli.py:307
+#: ../cli.py:311
msgid "Disk Requirements:\n"
msgstr "Behov for diskplads:\n"
-#: ../cli.py:309
+#: ../cli.py:313
#, python-format
msgid " At least %dMB needed on the %s filesystem.\n"
msgstr " Der er brug for mindst %dmb på %s-filsystemet.\n"
#. TODO: simplify the dependency errors?
#. Fixup the summary
-#: ../cli.py:314
+#: ../cli.py:318
msgid ""
"Error Summary\n"
"-------------\n"
@@ -133,56 +133,56 @@ msgstr ""
"Fejlopsummering\n"
"---------------\n"
-#: ../cli.py:357
+#: ../cli.py:361
msgid "Trying to run the transaction but nothing to do. Exiting."
msgstr "Forsøger at udføre overførslen, men der intet at udføre. Afslutter."
-#: ../cli.py:393
+#: ../cli.py:397
msgid "Exiting on user Command"
msgstr "Afslutter efter brugerens ønske"
-#: ../cli.py:397
+#: ../cli.py:401
msgid "Downloading Packages:"
msgstr "Henter pakker:"
-#: ../cli.py:402
+#: ../cli.py:406
msgid "Error Downloading Packages:\n"
msgstr "Fejl ved hentning af pakker:\n"
-#: ../cli.py:416 ../yum/__init__.py:3613
+#: ../cli.py:420 ../yum/__init__.py:3728
msgid "Running rpm_check_debug"
msgstr "Kører rpm_check_debug"
-#: ../cli.py:419 ../yum/__init__.py:3616
+#: ../cli.py:423 ../yum/__init__.py:3731
msgid "ERROR with rpm_check_debug vs depsolve:"
msgstr "FEJL i rpm_check_dedug vs afhængighedsløsning:"
-#: ../cli.py:423
+#: ../cli.py:427
#, python-format
msgid "Please report this error in %s"
msgstr "Rapportér venligst denne fejl i %s"
-#: ../cli.py:429
+#: ../cli.py:433
msgid "Running Transaction Test"
msgstr "Kører overførselstest"
-#: ../cli.py:445
+#: ../cli.py:449
msgid "Finished Transaction Test"
msgstr "Afsluttede overførselstest"
-#: ../cli.py:447
+#: ../cli.py:451
msgid "Transaction Check Error:\n"
msgstr "Fejl i overførselskontrol:\n"
-#: ../cli.py:454
+#: ../cli.py:458
msgid "Transaction Test Succeeded"
msgstr "Overførselstest afsluttet uden fejl"
-#: ../cli.py:475
+#: ../cli.py:480
msgid "Running Transaction"
msgstr "Kører overførsel"
-#: ../cli.py:505
+#: ../cli.py:510
msgid ""
"Refusing to automatically import keys when running unattended.\n"
"Use \"-y\" to override."
@@ -190,69 +190,69 @@ msgstr ""
"Afviser automatisk importering af nøgler ved baggrundskørsel.\n"
"Brug \"-y\" til at overskrive."
-#: ../cli.py:524 ../cli.py:558
+#: ../cli.py:529 ../cli.py:563
msgid " * Maybe you meant: "
msgstr " * Du mente måske: "
-#: ../cli.py:541 ../cli.py:549
+#: ../cli.py:546 ../cli.py:554
#, python-format
msgid "Package(s) %s%s%s available, but not installed."
-msgstr "Pakke(r) %s%s%S tilgængelig(e), men ikke installeret."
+msgstr "Pakke(r) %s%s%s tilgængelig(e), men ikke installeret."
-#: ../cli.py:555 ../cli.py:586 ../cli.py:664
+#: ../cli.py:560 ../cli.py:591 ../cli.py:669 ../cli.py:693
#, python-format
msgid "No package %s%s%s available."
msgstr "Pakken %s%s%s er ikke tilgængelig."
-#: ../cli.py:591 ../cli.py:691
+#: ../cli.py:596 ../cli.py:720
msgid "Package(s) to install"
msgstr "Pakke(r) til installation"
-#: ../cli.py:592 ../cli.py:670 ../cli.py:692 ../yumcommands.py:157
-#: ../yumcommands.py:1018
+#: ../cli.py:597 ../cli.py:675 ../cli.py:699 ../cli.py:721
+#: ../yumcommands.py:157
msgid "Nothing to do"
msgstr "Intet at udføre"
-#: ../cli.py:625
+#: ../cli.py:630
#, python-format
msgid "%d packages marked for Update"
msgstr "%d pakker markeret til opdatering"
-#: ../cli.py:628
+#: ../cli.py:633
msgid "No Packages marked for Update"
msgstr "Ingen pakker markeret til opdatering"
-#: ../cli.py:642
+#: ../cli.py:647
#, python-format
msgid "%d packages marked for removal"
msgstr "%d pakker markeret til sletning"
-#: ../cli.py:645
+#: ../cli.py:650
msgid "No Packages marked for removal"
msgstr "Ingen pakker markeret til sletning"
-#: ../cli.py:669
+#: ../cli.py:674
msgid "Package(s) to downgrade"
msgstr "Pakke(r) til nedgradering"
-#: ../cli.py:682
+#: ../cli.py:698
+msgid "Package(s) to reinstall"
+msgstr "Pakke(r) til geninstallation"
+
+#: ../cli.py:711
msgid "No Packages Provided"
msgstr "Ingen pakker angivet"
-#: ../cli.py:737
-msgid "Matching packages for package list to user args"
-msgstr "Matcher pakker til pakkeliste baseret på brugerens argumenter"
-
-#: ../cli.py:786
+#: ../cli.py:795
#, python-format
msgid "Warning: No matches found for: %s"
msgstr "Advarsel: Ingen match blev fundet for: %s"
-#: ../cli.py:789
+#: ../cli.py:798
msgid "No Matches found"
msgstr "Ingen match fundet"
-#: ../cli.py:828
+#: ../cli.py:837
#, python-format
msgid ""
"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
@@ -261,108 +261,108 @@ msgstr ""
"Advarsel: 3.0.x-versioner af yum vil matche fejlagtigt mod filnavne.\n"
" Du kan bruge \"%s*/%s%s\" og/eller \"%s*bin/%s%s\" for at få den opførsel"
-#: ../cli.py:844
+#: ../cli.py:853
#, python-format
msgid "No Package Found for %s"
msgstr "Ingen pakke fundet for %s"
-#: ../cli.py:856
+#: ../cli.py:865
msgid "Cleaning up Everything"
msgstr "Oprydning af alt"
-#: ../cli.py:870
+#: ../cli.py:879
msgid "Cleaning up Headers"
msgstr "Oprydning af headerfiler"
-#: ../cli.py:873
+#: ../cli.py:882
msgid "Cleaning up Packages"
msgstr "Oprydning af pakker"
-#: ../cli.py:876
+#: ../cli.py:885
msgid "Cleaning up xml metadata"
msgstr "Oprydning af xml-metadata"
-#: ../cli.py:879
+#: ../cli.py:888
msgid "Cleaning up database cache"
msgstr "Oprydning af mellemlager til database"
-#: ../cli.py:882
+#: ../cli.py:891
msgid "Cleaning up expire-cache metadata"
msgstr "Oprydning af udløbet mellemlager til metadata"
-#: ../cli.py:885
+#: ../cli.py:894
msgid "Cleaning up plugins"
msgstr "Oprydning af udvidelsesmoduler"
-#: ../cli.py:910
+#: ../cli.py:919
msgid "Installed Groups:"
msgstr "Installerede grupper:"
-#: ../cli.py:922
+#: ../cli.py:931
msgid "Available Groups:"
msgstr "Tilgængelige grupper:"
-#: ../cli.py:932
+#: ../cli.py:941
msgid "Done"
msgstr "Afsluttet"
-#: ../cli.py:943 ../cli.py:961 ../cli.py:967 ../yum/__init__.py:2463
+#: ../cli.py:952 ../cli.py:970 ../cli.py:976 ../yum/__init__.py:2521
#, python-format
msgid "Warning: Group %s does not exist."
msgstr "Advarsel: Gruppen %s findes ikke."
-#: ../cli.py:971
+#: ../cli.py:980
msgid "No packages in any requested group available to install or update"
msgstr ""
"Ingen pakke i nogen de efterspurgte grupper, er tilgængelige til "
"installation eller opdatering"
-#: ../cli.py:973
+#: ../cli.py:982
#, python-format
msgid "%d Package(s) to Install"
msgstr "%d pakke(r) til installation"
-#: ../cli.py:983 ../yum/__init__.py:2475
+#: ../cli.py:992 ../yum/__init__.py:2533
#, python-format
msgid "No group named %s exists"
msgstr "Gruppen %s findes ikke"
-#: ../cli.py:989
+#: ../cli.py:998
msgid "No packages to remove from groups"
msgstr "Ingen pakker at slette fra grupper"
-#: ../cli.py:991
+#: ../cli.py:1000
#, python-format
msgid "%d Package(s) to remove"
msgstr "%d pakke(r) til sletning"
-#: ../cli.py:1033
+#: ../cli.py:1042
#, python-format
msgid "Package %s is already installed, skipping"
msgstr "Pakken %s er allerede installeret, springer over"
-#: ../cli.py:1044
+#: ../cli.py:1053
#, python-format
msgid "Discarding non-comparable pkg %s.%s"
msgstr "Ser bort fra ikke-kompatibel pakke %s.%s"
#. we've not got any installed that match n or n+a
-#: ../cli.py:1070
+#: ../cli.py:1079
#, python-format
msgid "No other %s installed, adding to list for potential install"
msgstr ""
"Ingen andre %s er installeret, tilføjer til liste til mulig installation"
-#: ../cli.py:1090
+#: ../cli.py:1099
msgid "Plugin Options"
msgstr "Indstillinger til udvidelsesmodul"
-#: ../cli.py:1098
+#: ../cli.py:1107
#, python-format
msgid "Command line error: %s"
msgstr "Kommandoliniefejl: %s"
-#: ../cli.py:1111
+#: ../cli.py:1120
#, python-format
msgid ""
"\n"
@@ -373,257 +373,257 @@ msgstr ""
"\n"
"%s: %s indstilling kræver et argument"
-#: ../cli.py:1169
+#: ../cli.py:1173
msgid "--color takes one of: auto, always, never"
msgstr "--color tager en af: auto, altid, aldrig"
-#: ../cli.py:1276
+#: ../cli.py:1280
msgid "show this help message and exit"
msgstr "vis denne hjælpemeddelse og afslut"
-#: ../cli.py:1280
+#: ../cli.py:1284
msgid "be tolerant of errors"
msgstr "vær fejltolerant"
-#: ../cli.py:1282
+#: ../cli.py:1286
msgid "run entirely from cache, don't update cache"
msgstr "kør kun fra mellemlager, ingen opdatering af mellemlageret"
-#: ../cli.py:1284
+#: ../cli.py:1288
msgid "config file location"
msgstr "placering af konfigurationsfil"
-#: ../cli.py:1286
+#: ../cli.py:1290
msgid "maximum command wait time"
msgstr "maksimal ventetid på kommando"
-#: ../cli.py:1288
+#: ../cli.py:1292
msgid "debugging output level"
msgstr "debug-visningsniveau"
-#: ../cli.py:1292
+#: ../cli.py:1296
msgid "show duplicates, in repos, in list/search commands"
msgstr "vis gengangere, i pakkearkiver, i list/search-kommandoer"
-#: ../cli.py:1294
+#: ../cli.py:1298
msgid "error output level"
msgstr "fejlvisningsniveau"
-#: ../cli.py:1297
+#: ../cli.py:1301
msgid "quiet operation"
msgstr "stille operation"
-#: ../cli.py:1299
+#: ../cli.py:1303
msgid "verbose operation"
msgstr "uddybende operation"
-#: ../cli.py:1301
+#: ../cli.py:1305
msgid "answer yes for all questions"
msgstr "svar ja til alle spørgsmål"
-#: ../cli.py:1303
+#: ../cli.py:1307
msgid "show Yum version and exit"
msgstr "vis Yum-version og afslut"
-#: ../cli.py:1304
+#: ../cli.py:1308
msgid "set install root"
msgstr "sæt installationsroden"
-#: ../cli.py:1308
+#: ../cli.py:1312
msgid "enable one or more repositories (wildcards allowed)"
msgstr "aktivér en eller flere pakkearkiver (wildcards er tilladt)"
-#: ../cli.py:1312
+#: ../cli.py:1316
msgid "disable one or more repositories (wildcards allowed)"
msgstr "deaktivér en eller flere pakkearkiver (wildcards er tilladt)"
-#: ../cli.py:1315
+#: ../cli.py:1319
msgid "exclude package(s) by name or glob"
msgstr "ekskludér pakke(r) med navn eller klump"
-#: ../cli.py:1317
+#: ../cli.py:1321
msgid "disable exclude from main, for a repo or for everything"
msgstr "deaktivér ekskludering fra main, for et pakkearkiv eller for alt"
-#: ../cli.py:1320
+#: ../cli.py:1324
msgid "enable obsoletes processing during updates"
msgstr "aktivér overflødiggørelse under behandling af opdateringer"
-#: ../cli.py:1322
+#: ../cli.py:1326
msgid "disable Yum plugins"
msgstr "deaktivér Yum-udvidelsesmoduler"
-#: ../cli.py:1324
+#: ../cli.py:1328
msgid "disable gpg signature checking"
msgstr "deaktivér kontrol af gpg-signaturer"
-#: ../cli.py:1326
+#: ../cli.py:1330
msgid "disable plugins by name"
msgstr "deaktivér udvidelsesmoduler ved navn"
-#: ../cli.py:1329
+#: ../cli.py:1333
msgid "enable plugins by name"
msgstr "aktivér udvidelsesmoduler ved navn"
-#: ../cli.py:1332
+#: ../cli.py:1336
msgid "skip packages with depsolving problems"
msgstr "spring pakker med afhængighedsproblemer over"
-#: ../cli.py:1334
+#: ../cli.py:1338
msgid "control whether color is used"
msgstr "kontrollér om farve er brugt"
-#: ../output.py:301
+#: ../output.py:303
msgid "Jan"
msgstr "Jan"
-#: ../output.py:301
+#: ../output.py:303
msgid "Feb"
msgstr "Feb"
-#: ../output.py:301
+#: ../output.py:303
msgid "Mar"
msgstr "Mar"
-#: ../output.py:301
+#: ../output.py:303
msgid "Apr"
msgstr "Apr"
-#: ../output.py:301
+#: ../output.py:303
msgid "May"
msgstr "Maj"
-#: ../output.py:301
+#: ../output.py:303
msgid "Jun"
msgstr "Jun"
-#: ../output.py:302
+#: ../output.py:304
msgid "Jul"
msgstr "Jul"
-#: ../output.py:302
+#: ../output.py:304
msgid "Aug"
msgstr "Aug"
-#: ../output.py:302
+#: ../output.py:304
msgid "Sep"
msgstr "Sep"
-#: ../output.py:302
+#: ../output.py:304
msgid "Oct"
msgstr "Okt"
-#: ../output.py:302
+#: ../output.py:304
msgid "Nov"
msgstr "Nov"
-#: ../output.py:302
+#: ../output.py:304
msgid "Dec"
msgstr "Dec"
-#: ../output.py:312
+#: ../output.py:314
msgid "Trying other mirror."
msgstr "Prøver et andet filspejl."
-#: ../output.py:534
+#: ../output.py:536
#, python-format
msgid "Name : %s%s%s"
msgstr "Navn : %s%s%s"
-#: ../output.py:535
+#: ../output.py:537
#, python-format
msgid "Arch : %s"
msgstr "Arkitektur : %s"
-#: ../output.py:537
+#: ../output.py:539
#, python-format
msgid "Epoch : %s"
msgstr "Epoch : %s"
-#: ../output.py:538
+#: ../output.py:540
#, python-format
msgid "Version : %s"
msgstr "Version : %s"
-#: ../output.py:539
+#: ../output.py:541
#, python-format
msgid "Release : %s"
msgstr "Udgivelse : %s"
-#: ../output.py:540
+#: ../output.py:542
#, python-format
msgid "Size : %s"
msgstr "Størrelse : %s"
-#: ../output.py:541
+#: ../output.py:543
#, python-format
msgid "Repo : %s"
msgstr "Kilde : %s"
-#: ../output.py:543
+#: ../output.py:545
#, python-format
msgid "From repo : %s"
msgstr "Fra kilde : %s"
-#: ../output.py:545
+#: ../output.py:547
#, python-format
msgid "Committer : %s"
msgstr "Indsender : %s"
-#: ../output.py:546
+#: ../output.py:548
#, python-format
msgid "Committime : %s"
msgstr "Indsendingstid : %s"
-#: ../output.py:547
+#: ../output.py:549
#, python-format
msgid "Buildtime : %s"
msgstr "Byggetid : %s"
-#: ../output.py:549
+#: ../output.py:551
#, python-format
msgid "Installtime: %s"
msgstr "Installationstid: %s"
-#: ../output.py:550
+#: ../output.py:552
msgid "Summary : "
msgstr "Resumé : "
-#: ../output.py:552
+#: ../output.py:554
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:553
+#: ../output.py:555
#, python-format
msgid "License : %s"
msgstr "Licens : %s"
-#: ../output.py:554
+#: ../output.py:556
msgid "Description: "
msgstr "Beskrivelse: "
-#: ../output.py:622
+#: ../output.py:624
msgid "y"
msgstr "j"
-#: ../output.py:622
+#: ../output.py:624
msgid "yes"
msgstr "ja"
-#: ../output.py:623
+#: ../output.py:625
msgid "n"
msgstr "n"
-#: ../output.py:623
+#: ../output.py:625
msgid "no"
msgstr "nej"
-#: ../output.py:627
+#: ../output.py:629
msgid "Is this ok [y/N]: "
msgstr "Er dette o.k. [j/N]: "
-#: ../output.py:718
+#: ../output.py:720
#, python-format
msgid ""
"\n"
@@ -632,133 +632,133 @@ msgstr ""
"\n"
"Gruppe: %s"
-#: ../output.py:722
+#: ../output.py:724
#, python-format
msgid " Group-Id: %s"
msgstr " Gruppeid: %s"
-#: ../output.py:727
+#: ../output.py:729
#, python-format
msgid " Description: %s"
msgstr " Beskrivelse: %s"
-#: ../output.py:729
+#: ../output.py:731
msgid " Mandatory Packages:"
msgstr " Tvungne pakker:"
-#: ../output.py:730
+#: ../output.py:732
msgid " Default Packages:"
msgstr " Standardpakker:"
-#: ../output.py:731
+#: ../output.py:733
msgid " Optional Packages:"
msgstr " Valgfrie pakker:"
-#: ../output.py:732
+#: ../output.py:734
msgid " Conditional Packages:"
msgstr " Afhængige pakker:"
-#: ../output.py:752
+#: ../output.py:754
#, python-format
msgid "package: %s"
msgstr "pakke: %s"
-#: ../output.py:754
+#: ../output.py:756
msgid " No dependencies for this package"
msgstr " Ingen afhængigheder for denne pakke"
-#: ../output.py:759
+#: ../output.py:761
#, python-format
msgid " dependency: %s"
msgstr " afhængighed: %s"
-#: ../output.py:761
+#: ../output.py:763
msgid " Unsatisfied dependency"
msgstr " Ufuldendt afhængighed"
-#: ../output.py:833
+#: ../output.py:835
#, python-format
msgid "Repo : %s"
msgstr "Kilde : %s"
-#: ../output.py:834
+#: ../output.py:836
msgid "Matched from:"
msgstr "Matchet af:"
-#: ../output.py:842
+#: ../output.py:845
msgid "Description : "
msgstr "Beskrivelse : "
-#: ../output.py:845
+#: ../output.py:848
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:848
+#: ../output.py:851
#, python-format
msgid "License : %s"
msgstr "Licens : %s"
-#: ../output.py:851
+#: ../output.py:854
#, python-format
msgid "Filename : %s"
msgstr "Filnavn : %s"
-#: ../output.py:855
+#: ../output.py:858
msgid "Other : "
msgstr "Andre : "
-#: ../output.py:888
+#: ../output.py:891
msgid "There was an error calculating total download size"
msgstr "Der opstod en fejl i beregning af den totale hentningsstørrelse"
-#: ../output.py:893
+#: ../output.py:896
#, python-format
msgid "Total size: %s"
msgstr "Total størrelse: %s"
-#: ../output.py:896
+#: ../output.py:899
#, python-format
msgid "Total download size: %s"
msgstr "Total hentningsstørrelse: %s"
-#: ../output.py:938
+#: ../output.py:941
msgid "Installing for dependencies"
msgstr "Installerer til afhængigheder"
-#: ../output.py:939
+#: ../output.py:942
msgid "Updating for dependencies"
msgstr "Opdaterer til afhængigheder"
-#: ../output.py:940
+#: ../output.py:943
msgid "Removing for dependencies"
msgstr "Sletter til afhængigheder"
-#: ../output.py:947 ../output.py:1045
+#: ../output.py:950 ../output.py:1048
msgid "Skipped (dependency problems)"
msgstr "Sprunget over (afhængighedsproblemer)"
-#: ../output.py:968
+#: ../output.py:971
msgid "Package"
msgstr "Pakke"
-#: ../output.py:968
+#: ../output.py:971
msgid "Arch"
msgstr "Arkitektur"
-#: ../output.py:969
+#: ../output.py:972
msgid "Version"
msgstr "Version"
-#: ../output.py:969
+#: ../output.py:972
msgid "Repository"
msgstr "Pakkearkiv"
-#: ../output.py:970
+#: ../output.py:973
msgid "Size"
msgstr "Størrelse"
-#: ../output.py:982
+#: ../output.py:985
#, python-format
msgid ""
" replacing %s%s%s.%s %s\n"
@@ -767,7 +767,7 @@ msgstr ""
" erstatter %s%s%s.%s %s\n"
"\n"
-#: ../output.py:991
+#: ../output.py:994
#, python-format
msgid ""
"\n"
@@ -784,32 +784,32 @@ msgstr ""
"Opdaterer %5.5s pakke(r) \n"
"Sletter %5.5s pakke(r) \n"
-#: ../output.py:1039
+#: ../output.py:1042
msgid "Removed"
msgstr "Slettet"
-#: ../output.py:1040
+#: ../output.py:1043
msgid "Dependency Removed"
msgstr "Afhængighed slettet"
-#: ../output.py:1042
+#: ../output.py:1045
msgid "Dependency Installed"
msgstr "Afhængighed installeret"
-#: ../output.py:1044
+#: ../output.py:1047
msgid "Dependency Updated"
msgstr "Afhængighed opdateret"
-#: ../output.py:1046
+#: ../output.py:1049
msgid "Replaced"
msgstr "Erstattet"
-#: ../output.py:1047
+#: ../output.py:1050
msgid "Failed"
msgstr "Fejlede"
#. Delta between C-c's so we treat as exit
-#: ../output.py:1113
+#: ../output.py:1116
msgid "two"
msgstr "to"
@@ -817,7 +817,7 @@ msgstr "to"
#. Current download cancelled, interrupt (ctrl-c) again within two seconds
#. to exit.
#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1124
+#: ../output.py:1127
#, python-format
msgid ""
"\n"
@@ -828,67 +828,67 @@ msgstr ""
" Nuværende hentning afbrudt, %safbryd (ctrl-c) igen %s indenfor %s%s%s "
"sekunder for at afslutte.\n"
-#: ../output.py:1134
+#: ../output.py:1137
msgid "user interrupt"
msgstr "afsluttet af bruger"
-#: ../output.py:1150
+#: ../output.py:1153
msgid "Total"
msgstr "Ialt"
-#: ../output.py:1164
+#: ../output.py:1168
msgid "installed"
msgstr "installeret"
-#: ../output.py:1165
+#: ../output.py:1169
msgid "updated"
msgstr "opdateret"
-#: ../output.py:1166
+#: ../output.py:1170
msgid "obsoleted"
msgstr "overflødiggjort"
-#: ../output.py:1167
+#: ../output.py:1171
msgid "erased"
msgstr "slettet"
-#: ../output.py:1171
+#: ../output.py:1175
#, python-format
msgid "---> Package %s.%s %s:%s-%s set to be %s"
msgstr "---> Pakke %s.%s %s:%s-%s sat til at blive %s"
-#: ../output.py:1178
+#: ../output.py:1182
msgid "--> Running transaction check"
msgstr "--> Kører overførselskontrol"
-#: ../output.py:1183
+#: ../output.py:1187
msgid "--> Restarting Dependency Resolution with new changes."
msgstr "--> Genstarter afhængighedssøgning med nye ændringer."
-#: ../output.py:1188
+#: ../output.py:1192
msgid "--> Finished Dependency Resolution"
msgstr "--> Afsluttede afhængighedssøgningen"
-#: ../output.py:1193
+#: ../output.py:1197 ../output.py:1202
#, python-format
msgid "--> Processing Dependency: %s for package: %s"
msgstr "--> Behandler afhængighed: %s for pakken: %s"
-#: ../output.py:1198
+#: ../output.py:1206
#, python-format
msgid "--> Unresolved Dependency: %s"
msgstr "--> Ikke fundet afhængighed: %s"
-#: ../output.py:1204
+#: ../output.py:1212 ../output.py:1217
#, python-format
msgid "--> Processing Conflict: %s conflicts %s"
msgstr "--> Behandler konflikt: %s konflikter med %s"
-#: ../output.py:1207
+#: ../output.py:1221
msgid "--> Populating transaction set with selected packages. Please wait."
msgstr "--> Udfylder overførselssættet med valgte pakker. Vent venligst."
-#: ../output.py:1211
+#: ../output.py:1225
#, python-format
msgid "---> Downloading header for %s to pack into transaction set."
msgstr "---> Henter headerfil for %s til at indsætte i overførselssættet."
@@ -1015,7 +1015,7 @@ msgid "Updated Packages"
msgstr "Opdaterede pakker"
#. This only happens in verbose mode
-#: ../yumcommands.py:317 ../yumcommands.py:324 ../yumcommands.py:601
+#: ../yumcommands.py:317 ../yumcommands.py:324 ../yumcommands.py:600
msgid "Obsoleting Packages"
msgstr "Overflødiggør pakker"
@@ -1084,158 +1084,158 @@ msgstr "Mellemlager for metadata oprettet"
msgid "Remove cached data"
msgstr "Sletter data fra cachen"
-#: ../yumcommands.py:552
+#: ../yumcommands.py:551
msgid "Find what package provides the given value"
msgstr "Finder pakker som leverer en given værdi"
-#: ../yumcommands.py:572
+#: ../yumcommands.py:571
msgid "Check for available package updates"
msgstr "Kontrol af tilgængelige pakkeopdateringer"
-#: ../yumcommands.py:621
+#: ../yumcommands.py:620
msgid "Search package details for the given string"
msgstr "Søger efter en given streng i pakkeinformationerne"
-#: ../yumcommands.py:627
+#: ../yumcommands.py:626
msgid "Searching Packages: "
msgstr "Søger i pakkerne: "
-#: ../yumcommands.py:644
+#: ../yumcommands.py:643
msgid "Update packages taking obsoletes into account"
msgstr "Opdaterer pakker, tager hensyn til overflødiggjorte pakker"
-#: ../yumcommands.py:652
+#: ../yumcommands.py:651
msgid "Setting up Upgrade Process"
msgstr "Opsætning af opgraderingsprocessen"
-#: ../yumcommands.py:666
+#: ../yumcommands.py:665
msgid "Install a local RPM"
msgstr "Installer en lokal RPM-fil"
-#: ../yumcommands.py:674
+#: ../yumcommands.py:673
msgid "Setting up Local Package Process"
msgstr "Opsætning af lokalpakkeprocessen"
-#: ../yumcommands.py:693
+#: ../yumcommands.py:692
msgid "Determine which package provides the given dependency"
msgstr "Bestem hvilken pakke som leverer en bestemt afhængighed"
-#: ../yumcommands.py:696
+#: ../yumcommands.py:695
msgid "Searching Packages for Dependency:"
msgstr "Søger efter afhængighed i pakkerne:"
-#: ../yumcommands.py:710
+#: ../yumcommands.py:709
msgid "Run an interactive yum shell"
msgstr "Kør en interaktiv Yum-skal"
-#: ../yumcommands.py:716
+#: ../yumcommands.py:715
msgid "Setting up Yum Shell"
msgstr "Opsætning af Yum-skal"
-#: ../yumcommands.py:734
+#: ../yumcommands.py:733
msgid "List a package's dependencies"
msgstr "Viser en pakkes afhængigheder"
-#: ../yumcommands.py:740
+#: ../yumcommands.py:739
msgid "Finding dependencies: "
msgstr "Finder afhængigheder: "
-#: ../yumcommands.py:756
+#: ../yumcommands.py:755
msgid "Display the configured software repositories"
msgstr "Viser de konfigurerede pakkearkiver"
-#: ../yumcommands.py:804 ../yumcommands.py:805
+#: ../yumcommands.py:803 ../yumcommands.py:804
msgid "enabled"
msgstr "aktiveret"
-#: ../yumcommands.py:813 ../yumcommands.py:814
+#: ../yumcommands.py:812 ../yumcommands.py:813
msgid "disabled"
msgstr "deaktiveret"
-#: ../yumcommands.py:828
+#: ../yumcommands.py:827
msgid "Repo-id : "
msgstr "Kildeid : "
-#: ../yumcommands.py:829
+#: ../yumcommands.py:828
msgid "Repo-name : "
msgstr "Kildenavn : "
-#: ../yumcommands.py:830
+#: ../yumcommands.py:829
msgid "Repo-status : "
msgstr "Kildestatus : "
-#: ../yumcommands.py:832
+#: ../yumcommands.py:831
msgid "Repo-revision: "
msgstr "Kilderevision: "
-#: ../yumcommands.py:836
+#: ../yumcommands.py:835
msgid "Repo-tags : "
msgstr "Kildeflag : "
-#: ../yumcommands.py:842
+#: ../yumcommands.py:841
msgid "Repo-distro-tags: "
msgstr "Kildedistroflag: "
-#: ../yumcommands.py:847
+#: ../yumcommands.py:846
msgid "Repo-updated: "
msgstr "Kildeopdateret: "
-#: ../yumcommands.py:849
+#: ../yumcommands.py:848
msgid "Repo-pkgs : "
msgstr "Kildepakker : "
-#: ../yumcommands.py:850
+#: ../yumcommands.py:849
msgid "Repo-size : "
msgstr "Kildestørrelse : "
-#: ../yumcommands.py:857
+#: ../yumcommands.py:856
msgid "Repo-baseurl: "
msgstr "Kildegrundurl: "
-#: ../yumcommands.py:861
+#: ../yumcommands.py:864
msgid "Repo-metalink: "
msgstr "Kildemetahenvisning: "
-#: ../yumcommands.py:865
+#: ../yumcommands.py:868
msgid " Updated : "
msgstr " Opdateret : "
-#: ../yumcommands.py:868
+#: ../yumcommands.py:871
msgid "Repo-mirrors: "
msgstr "Kildespejle: "
-#: ../yumcommands.py:872
+#: ../yumcommands.py:875
msgid "Repo-exclude: "
msgstr "Kildeekskluder: "
-#: ../yumcommands.py:876
+#: ../yumcommands.py:879
msgid "Repo-include: "
msgstr "Kildeinkluder: "
#. Work out the first (id) and last (enabled/disalbed/count),
#. then chop the middle (name)...
-#: ../yumcommands.py:886 ../yumcommands.py:912
+#: ../yumcommands.py:889 ../yumcommands.py:915
msgid "repo id"
msgstr "kildeid"
-#: ../yumcommands.py:900 ../yumcommands.py:901 ../yumcommands.py:915
+#: ../yumcommands.py:903 ../yumcommands.py:904 ../yumcommands.py:918
msgid "status"
msgstr "status"
-#: ../yumcommands.py:913
+#: ../yumcommands.py:916
msgid "repo name"
msgstr "kildenavn"
-#: ../yumcommands.py:939
+#: ../yumcommands.py:942
msgid "Display a helpful usage message"
msgstr "Viser hjælp om brugen af en kommando"
-#: ../yumcommands.py:973
+#: ../yumcommands.py:976
#, python-format
msgid "No help available for %s"
msgstr "Ingen tilgængelig hjælp til %s"
-#: ../yumcommands.py:978
+#: ../yumcommands.py:981
msgid ""
"\n"
"\n"
@@ -1245,7 +1245,7 @@ msgstr ""
"\n"
"aliaser: "
-#: ../yumcommands.py:980
+#: ../yumcommands.py:983
msgid ""
"\n"
"\n"
@@ -1255,26 +1255,34 @@ msgstr ""
"\n"
"alias: "
-#: ../yumcommands.py:1008
+#: ../yumcommands.py:1011
msgid "Setting up Reinstall Process"
msgstr "Opsætning af geninstallationsprocessen"
-#: ../yumcommands.py:1017
-msgid "Package(s) to reinstall"
-msgstr "Pakke(r) til geninstallation"
-
-#: ../yumcommands.py:1024
+#: ../yumcommands.py:1019
msgid "reinstall a package"
msgstr "geninstallér en pakke"
-#: ../yumcommands.py:1042
+#: ../yumcommands.py:1037
msgid "Setting up Downgrade Process"
msgstr "Opsætning af nedgraderingsprocessen"
-#: ../yumcommands.py:1049
+#: ../yumcommands.py:1044
msgid "downgrade a package"
msgstr "nedgradér en pakke"
+#: ../yumcommands.py:1058
+msgid "Display a version for the machine and/or available repos."
+msgstr "Vis en version for maskinen og/eller tilgængelige pakkearkiver."
+
+#: ../yumcommands.py:1081
+msgid "Installed:"
+msgstr "Installeret:"
+
+#: ../yumcommands.py:1090
+msgid "Available:"
+msgstr "Tilgængelige:"
+
#: ../yummain.py:42
msgid ""
"\n"
@@ -1331,7 +1339,7 @@ msgstr " Det andet program er: %s"
#: ../yummain.py:140
#, python-format
msgid " Memory : %5s RSS (%5sB VSZ)"
-msgstr " Hukommelse : %5a RSS (%5sB VSZ)"
+msgstr " Hukommelse : %5s RSS (%5sB VSZ)"
#: ../yummain.py:144
#, python-format
@@ -1432,7 +1440,7 @@ msgstr "Matchede %s som afhængighed for %s"
msgid "Member: %s"
msgstr "Medlem: %s"
-#: ../yum/depsolve.py:247 ../yum/depsolve.py:739
+#: ../yum/depsolve.py:247 ../yum/depsolve.py:760
#, python-format
msgid "%s converted to install"
msgstr "%s konverteret til installation"
@@ -1447,148 +1455,148 @@ msgstr "Tilføjer pakke %s i mode %s"
msgid "Removing Package %s"
msgstr "Sletter Pakke %s"
-#: ../yum/depsolve.py:275
+#: ../yum/depsolve.py:286
#, python-format
msgid "%s requires: %s"
msgstr "%s behøver: %s"
-#: ../yum/depsolve.py:333
+#: ../yum/depsolve.py:344
msgid "Needed Require has already been looked up, cheating"
msgstr "Afhængighed fundet tidligere, snyder"
-#: ../yum/depsolve.py:343
+#: ../yum/depsolve.py:354
#, python-format
msgid "Needed Require is not a package name. Looking up: %s"
msgstr "Afhængighed er ikke et pakkenavn. Søger efter: %s"
-#: ../yum/depsolve.py:350
+#: ../yum/depsolve.py:361
#, python-format
msgid "Potential Provider: %s"
msgstr "Mulig udbyder: %s"
-#: ../yum/depsolve.py:373
+#: ../yum/depsolve.py:384
#, python-format
msgid "Mode is %s for provider of %s: %s"
msgstr "Tilstand er %s for udbyder af %s: %s"
-#: ../yum/depsolve.py:377
+#: ../yum/depsolve.py:388
#, python-format
msgid "Mode for pkg providing %s: %s"
msgstr "Tilstand for pakke som leverer %s: %s"
-#: ../yum/depsolve.py:381
+#: ../yum/depsolve.py:392
#, python-format
msgid "TSINFO: %s package requiring %s marked as erase"
msgstr "TSINFO: %s pakker som behøver %s markeret til sletning"
-#: ../yum/depsolve.py:394
+#: ../yum/depsolve.py:405
#, python-format
msgid "TSINFO: Obsoleting %s with %s to resolve dep."
msgstr "TSINFO: Overflødiggør %s med %s for at finde afhængighed."
-#: ../yum/depsolve.py:397
+#: ../yum/depsolve.py:408
#, python-format
msgid "TSINFO: Updating %s to resolve dep."
msgstr "TSINFO: Opdaterer %s for at opfylde afhængighed."
-#: ../yum/depsolve.py:405
+#: ../yum/depsolve.py:416
#, python-format
msgid "Cannot find an update path for dep for: %s"
msgstr "Kan ikke finde en opdateringsvej for afhængigheden for: %s"
-#: ../yum/depsolve.py:415
+#: ../yum/depsolve.py:426
#, python-format
msgid "Unresolvable requirement %s for %s"
msgstr "Uløst afhængighed %s for %s"
-#: ../yum/depsolve.py:438
+#: ../yum/depsolve.py:449
#, python-format
msgid "Quick matched %s to require for %s"
msgstr "Hurtigmatchede %s som afhængighed for %s"
#. is it already installed?
-#: ../yum/depsolve.py:480
+#: ../yum/depsolve.py:491
#, python-format
msgid "%s is in providing packages but it is already installed, removing."
msgstr "%s er i udbydet pakker, men er allerede installeret, fjerner."
-#: ../yum/depsolve.py:496
+#: ../yum/depsolve.py:507
#, python-format
msgid "Potential resolving package %s has newer instance in ts."
msgstr "Mulig løsningspakke %s har en nyere udgave i ts."
-#: ../yum/depsolve.py:507
+#: ../yum/depsolve.py:518
#, python-format
msgid "Potential resolving package %s has newer instance installed."
msgstr "Mulig løsningspakke %s har en nyere udgave installeret."
-#: ../yum/depsolve.py:515 ../yum/depsolve.py:564
+#: ../yum/depsolve.py:526 ../yum/depsolve.py:575
#, python-format
msgid "Missing Dependency: %s is needed by package %s"
msgstr "Manglende afhængighed: %s behøves af følgende pakke %s"
-#: ../yum/depsolve.py:528
+#: ../yum/depsolve.py:539
#, python-format
msgid "%s already in ts, skipping this one"
msgstr "%s er allerede i ts, springer den over"
-#: ../yum/depsolve.py:574
+#: ../yum/depsolve.py:585
#, python-format
msgid "TSINFO: Marking %s as update for %s"
msgstr "TSINFO: Markerer %s som en opdatering for %s"
-#: ../yum/depsolve.py:582
+#: ../yum/depsolve.py:593
#, python-format
msgid "TSINFO: Marking %s as install for %s"
msgstr "TSINFO: Markerer %s til installerer for %s"
-#: ../yum/depsolve.py:675 ../yum/depsolve.py:757
+#: ../yum/depsolve.py:696 ../yum/depsolve.py:778
msgid "Success - empty transaction"
msgstr "Succes -- tom overførsel"
-#: ../yum/depsolve.py:714 ../yum/depsolve.py:729
+#: ../yum/depsolve.py:735 ../yum/depsolve.py:750
msgid "Restarting Loop"
msgstr "Genstarter løkke"
-#: ../yum/depsolve.py:745
+#: ../yum/depsolve.py:766
msgid "Dependency Process ending"
msgstr "Afhængighedsproces afslutter"
-#: ../yum/depsolve.py:751
+#: ../yum/depsolve.py:772
#, python-format
msgid "%s from %s has depsolving problems"
msgstr "%s fra %s har afhængighedsproblemer"
-#: ../yum/depsolve.py:758
+#: ../yum/depsolve.py:779
msgid "Success - deps resolved"
msgstr "Succes - afhængigheder løst"
-#: ../yum/depsolve.py:772
+#: ../yum/depsolve.py:793
#, python-format
msgid "Checking deps for %s"
msgstr "Kontrollerer afhængigheder for %s"
-#: ../yum/depsolve.py:855
+#: ../yum/depsolve.py:876
#, python-format
msgid "looking for %s as a requirement of %s"
msgstr "søger efter %s som afhængighed for %s"
-#: ../yum/depsolve.py:997
+#: ../yum/depsolve.py:1018
#, python-format
msgid "Running compare_providers() for %s"
msgstr "Kører compare_providers() for %s"
-#: ../yum/depsolve.py:1031 ../yum/depsolve.py:1037
+#: ../yum/depsolve.py:1052 ../yum/depsolve.py:1058
#, python-format
msgid "better arch in po %s"
msgstr "bedre arkitektur i po %s"
-#: ../yum/depsolve.py:1099
+#: ../yum/depsolve.py:1130
#, python-format
msgid "%s obsoletes %s"
msgstr "%s overflødigør %s"
-#: ../yum/depsolve.py:1111
+#: ../yum/depsolve.py:1142
#, python-format
msgid ""
"archdist compared %s to %s on %s\n"
@@ -1597,17 +1605,17 @@ msgstr ""
"arkitekturdistribution sammenligner %s med %s på %s\n"
" Vinder: %s"
-#: ../yum/depsolve.py:1118
+#: ../yum/depsolve.py:1149
#, python-format
msgid "common sourcerpm %s and %s"
msgstr "normal kilde-RPM %s og %s"
-#: ../yum/depsolve.py:1124
+#: ../yum/depsolve.py:1155
#, python-format
msgid "common prefix of %s between %s and %s"
msgstr "normal præfiks af %s mellem %s og %s"
-#: ../yum/depsolve.py:1132
+#: ../yum/depsolve.py:1163
#, python-format
msgid "Best Order: %s"
msgstr "Bedste orden: %s"
@@ -1633,67 +1641,67 @@ msgstr "doRpmDBSetup() vil forsvinde i en fremtidig version af Yum.\n"
msgid "Reading Local RPMDB"
msgstr "Læser lokal RPMDB"
-#: ../yum/__init__.py:441
+#: ../yum/__init__.py:444
msgid "doRepoSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() vil forsvinde i en fremtidig version af Yum.\n"
-#: ../yum/__init__.py:461
+#: ../yum/__init__.py:464
msgid "doSackSetup() will go away in a future version of Yum.\n"
msgstr "doSackSetup() vil forsvinde i en fremtidig version af Yum.\n"
-#: ../yum/__init__.py:478
+#: ../yum/__init__.py:481
msgid "Setting up Package Sacks"
msgstr "Opsætning af pakkelister"
-#: ../yum/__init__.py:521
+#: ../yum/__init__.py:524
#, python-format
msgid "repo object for repo %s lacks a _resetSack method\n"
msgstr "kildeobjekt for kilde %s mangler en _resetSack-metode\n"
-#: ../yum/__init__.py:522
+#: ../yum/__init__.py:525
msgid "therefore this repo cannot be reset.\n"
msgstr "derfor kan dette pakkearkiv ikke blive nulstillet.\n"
-#: ../yum/__init__.py:527
+#: ../yum/__init__.py:530
msgid "doUpdateSetup() will go away in a future version of Yum.\n"
msgstr "doUpdateSetup() vil forsvinde i en fremtidig version af Yum.\n"
-#: ../yum/__init__.py:539
+#: ../yum/__init__.py:542
msgid "Building updates object"
msgstr "Bygger opdateringsobjekt"
-#: ../yum/__init__.py:570
+#: ../yum/__init__.py:573
msgid "doGroupSetup() will go away in a future version of Yum.\n"
msgstr "doGroupSetup() vil forsvinde i en fremtidig version af Yum.\n"
-#: ../yum/__init__.py:595
+#: ../yum/__init__.py:598
msgid "Getting group metadata"
msgstr "Henter gruppemetadata"
-#: ../yum/__init__.py:621
+#: ../yum/__init__.py:624
#, python-format
msgid "Adding group file from repository: %s"
msgstr "Tilfører gruppefil fra pakkearkiv: %s"
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:633
#, python-format
msgid "Failed to add groups file for repository: %s - %s"
msgstr "Tilføjelse af gruppefil fejlede for følgende pakkearkiv: %s - %s"
-#: ../yum/__init__.py:636
+#: ../yum/__init__.py:639
msgid "No Groups Available in any repository"
msgstr "Ingen tilgængelige grupper i noget pakkearkiv"
-#: ../yum/__init__.py:686
+#: ../yum/__init__.py:689
msgid "Importing additional filelist information"
msgstr "Importerer yderligere information om filliste"
-#: ../yum/__init__.py:700
+#: ../yum/__init__.py:703
#, python-format
msgid "The program %s%s%s is found in the yum-utils package."
msgstr "Programmet %s%s%s er fundet i yum-utils-pakken."
-#: ../yum/__init__.py:708
+#: ../yum/__init__.py:711
msgid ""
"There are unfinished transactions remaining. You might consider running yum-"
"complete-transaction first to finish them."
@@ -1701,17 +1709,17 @@ msgstr ""
"Der er uafsluttede overførsler tilbage. Du bør overveje at køre yum-complete-"
"transaction først for at afslutte dem."
-#: ../yum/__init__.py:775
+#: ../yum/__init__.py:779
#, python-format
msgid "Skip-broken round %i"
msgstr "Skip-broken runde %i"
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:831
#, python-format
msgid "Skip-broken took %i rounds "
msgstr "Skip-broken tog %i runder "
-#: ../yum/__init__.py:828
+#: ../yum/__init__.py:832
msgid ""
"\n"
"Packages skipped because of dependency problems:"
@@ -1719,90 +1727,104 @@ msgstr ""
"\n"
"Pakker sprunget over på grund af problemer med afhængigheder:"
-#: ../yum/__init__.py:832
+#: ../yum/__init__.py:836
#, python-format
msgid " %s from %s"
msgstr " %s fra %s"
-#: ../yum/__init__.py:972
+#: ../yum/__init__.py:976
msgid ""
"Warning: scriptlet or other non-fatal errors occurred during transaction."
msgstr ""
"Advarsel: skriptlet eller andre ikke-fatale fejl opstod under overførslen."
-#: ../yum/__init__.py:987
+#: ../yum/__init__.py:991
#, python-format
msgid "Failed to remove transaction file %s"
msgstr "Kunne ikke slette transaktionsfilen %s"
-#: ../yum/__init__.py:1051
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1020
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s skulle være blevet installeret, men det blev den ikke!"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1046
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s skulle være blevet fjernet, men det blev den ikke!"
+
+#: ../yum/__init__.py:1092
#, python-format
msgid "excluding for cost: %s from %s"
msgstr "ekskluderer for cost: %s fra %s"
-#: ../yum/__init__.py:1082
+#: ../yum/__init__.py:1123
msgid "Excluding Packages in global exclude list"
msgstr "Ekskluderer pakker i den globale ekskluderingsliste"
-#: ../yum/__init__.py:1084
+#: ../yum/__init__.py:1125
#, python-format
msgid "Excluding Packages from %s"
msgstr "Ekskluderer pakker fra %s"
-#: ../yum/__init__.py:1113
+#: ../yum/__init__.py:1154
#, python-format
msgid "Reducing %s to included packages only"
msgstr "Reducerer %s til kun at indholde inkluderede pakker"
-#: ../yum/__init__.py:1119
+#: ../yum/__init__.py:1160
#, python-format
msgid "Keeping included package %s"
msgstr "Beholder inkluderet pakke %s"
-#: ../yum/__init__.py:1125
+#: ../yum/__init__.py:1166
#, python-format
msgid "Removing unmatched package %s"
msgstr "Sletter umatchende pakke %s"
-#: ../yum/__init__.py:1128
+#: ../yum/__init__.py:1169
msgid "Finished"
msgstr "Afsluttet"
#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1158
+#: ../yum/__init__.py:1199
#, python-format
msgid "Unable to check if PID %s is active"
msgstr "Kunne ikke kontrollere om PID %s er aktiv"
#. Another copy seems to be running.
-#: ../yum/__init__.py:1162
+#: ../yum/__init__.py:1203
#, python-format
msgid "Existing lock %s: another copy is running as pid %s."
msgstr "Lås fundet %s: en anden kopi kører som PID %s."
-#: ../yum/__init__.py:1239
+#: ../yum/__init__.py:1280
msgid "Package does not match intended download"
msgstr "Pakken matcher ikke den planlagte nedhentning"
-#: ../yum/__init__.py:1254
+#: ../yum/__init__.py:1295
msgid "Could not perform checksum"
msgstr "Kunne ikke udføre checksum"
-#: ../yum/__init__.py:1257
+#: ../yum/__init__.py:1298
msgid "Package does not match checksum"
msgstr "Pakken matcher ikke checksum"
-#: ../yum/__init__.py:1299
+#: ../yum/__init__.py:1340
#, python-format
msgid "package fails checksum but caching is enabled for %s"
msgstr "pakken fejlede checksum, men mellemlagring er aktiveret for %s"
-#: ../yum/__init__.py:1302 ../yum/__init__.py:1331
+#: ../yum/__init__.py:1343 ../yum/__init__.py:1372
#, python-format
msgid "using local copy of %s"
msgstr "bruger lokal kopi af %s"
-#: ../yum/__init__.py:1343
+#: ../yum/__init__.py:1384
#, python-format
msgid ""
"Insufficient space in download directory %s\n"
@@ -1813,11 +1835,11 @@ msgstr ""
" * fri %s\n"
" * behøvet %s"
-#: ../yum/__init__.py:1390
+#: ../yum/__init__.py:1433
msgid "Header is not complete."
msgstr "Headerfil er ikke komplet."
-#: ../yum/__init__.py:1427
+#: ../yum/__init__.py:1470
#, python-format
msgid ""
"Header not in local cache and caching-only mode enabled. Cannot download %s"
@@ -1825,62 +1847,62 @@ msgstr ""
"Headerfil er ikke i lokal cache og kun-caching-tilstand er aktiveret. Kan "
"ikke hente %s"
-#: ../yum/__init__.py:1482
+#: ../yum/__init__.py:1525
#, python-format
msgid "Public key for %s is not installed"
msgstr "Offentlig nøgle for %s er ikke installeret"
-#: ../yum/__init__.py:1486
+#: ../yum/__init__.py:1529
#, python-format
msgid "Problem opening package %s"
msgstr "Kunne ikke åbne pakke %s"
-#: ../yum/__init__.py:1494
+#: ../yum/__init__.py:1537
#, python-format
msgid "Public key for %s is not trusted"
msgstr "Offentlig nøgle for %s er ikke sikker"
-#: ../yum/__init__.py:1498
+#: ../yum/__init__.py:1541
#, python-format
msgid "Package %s is not signed"
msgstr "Pakken %s er ikke signeret"
-#: ../yum/__init__.py:1536
+#: ../yum/__init__.py:1579
#, python-format
msgid "Cannot remove %s"
msgstr "Kan ikke slette %s"
-#: ../yum/__init__.py:1540
+#: ../yum/__init__.py:1583
#, python-format
msgid "%s removed"
msgstr "%s slettet"
-#: ../yum/__init__.py:1576
+#: ../yum/__init__.py:1619
#, python-format
msgid "Cannot remove %s file %s"
msgstr "Kan ikke slette %s filen %s"
-#: ../yum/__init__.py:1580
+#: ../yum/__init__.py:1623
#, python-format
msgid "%s file %s removed"
msgstr "%s filen %s er slettet"
-#: ../yum/__init__.py:1582
+#: ../yum/__init__.py:1625
#, python-format
msgid "%d %s files removed"
msgstr "%d %s filer slettet"
-#: ../yum/__init__.py:1651
+#: ../yum/__init__.py:1694
#, python-format
msgid "More than one identical match in sack for %s"
msgstr "Mere end et identisk match i liste for %s"
-#: ../yum/__init__.py:1657
+#: ../yum/__init__.py:1700
#, python-format
msgid "Nothing matches %s.%s %s:%s-%s from update"
msgstr "Ingen opdateringer matcher %s.%s %s:%s-%s"
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:1933
msgid ""
"searchPackages() will go away in a future version of "
"Yum. Use searchGenerator() instead. \n"
@@ -1888,173 +1910,173 @@ msgstr ""
"searchPackages() vil forsvinde i en fremtidig version af "
"Yum. Brug searchGenerator() istedet. \n"
-#: ../yum/__init__.py:1917
+#: ../yum/__init__.py:1975
#, python-format
msgid "Searching %d packages"
msgstr "Genemsøger %d pakker"
-#: ../yum/__init__.py:1921
+#: ../yum/__init__.py:1979
#, python-format
msgid "searching package %s"
msgstr "gennemsøger pakke %s"
-#: ../yum/__init__.py:1933
+#: ../yum/__init__.py:1991
msgid "searching in file entries"
msgstr "gennemsøger filopslag"
-#: ../yum/__init__.py:1940
+#: ../yum/__init__.py:1998
msgid "searching in provides entries"
msgstr "søger efter afhængigheder"
-#: ../yum/__init__.py:1973
+#: ../yum/__init__.py:2031
#, python-format
msgid "Provides-match: %s"
msgstr "Leverer match: %s"
-#: ../yum/__init__.py:2022
+#: ../yum/__init__.py:2080
msgid "No group data available for configured repositories"
msgstr "Ingen tilgængelige gruppedata i konfigurerede pakkearkiver"
-#: ../yum/__init__.py:2053 ../yum/__init__.py:2072 ../yum/__init__.py:2103
-#: ../yum/__init__.py:2109 ../yum/__init__.py:2188 ../yum/__init__.py:2192
-#: ../yum/__init__.py:2489
+#: ../yum/__init__.py:2111 ../yum/__init__.py:2130 ../yum/__init__.py:2161
+#: ../yum/__init__.py:2167 ../yum/__init__.py:2246 ../yum/__init__.py:2250
+#: ../yum/__init__.py:2547
#, python-format
msgid "No Group named %s exists"
msgstr "Gruppen %s findes ikke"
-#: ../yum/__init__.py:2084 ../yum/__init__.py:2205
+#: ../yum/__init__.py:2142 ../yum/__init__.py:2263
#, python-format
msgid "package %s was not marked in group %s"
msgstr "pakken %s var ikke markeret i gruppen %s"
-#: ../yum/__init__.py:2131
+#: ../yum/__init__.py:2189
#, python-format
msgid "Adding package %s from group %s"
msgstr "Tilføjer pakken %s fra gruppen %s"
-#: ../yum/__init__.py:2135
+#: ../yum/__init__.py:2193
#, python-format
msgid "No package named %s available to be installed"
msgstr "Pakken %s er ikke tilgængelig til installation"
-#: ../yum/__init__.py:2232
+#: ../yum/__init__.py:2290
#, python-format
msgid "Package tuple %s could not be found in packagesack"
msgstr "Pakken %s kunne ikke findes i pakkeliste"
-#: ../yum/__init__.py:2246
+#: ../yum/__init__.py:2304
msgid ""
"getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
msgstr ""
"getInstalledPackageObject() vil forsvinde, brug self.rpmdb.searchPkgTuple"
"().\n"
-#: ../yum/__init__.py:2302 ../yum/__init__.py:2347
+#: ../yum/__init__.py:2360 ../yum/__init__.py:2405
msgid "Invalid version flag"
msgstr "Ugyldig versionsflag"
-#: ../yum/__init__.py:2317 ../yum/__init__.py:2322
+#: ../yum/__init__.py:2375 ../yum/__init__.py:2380
#, python-format
msgid "No Package found for %s"
msgstr "Ingen pakke fundet for %s"
-#: ../yum/__init__.py:2522
+#: ../yum/__init__.py:2580
msgid "Package Object was not a package object instance"
msgstr "Pakkeobjektet er ikke en pakkeobjektinstans"
-#: ../yum/__init__.py:2526
+#: ../yum/__init__.py:2584
msgid "Nothing specified to install"
msgstr "Der er intet angivet til installation"
-#: ../yum/__init__.py:2542 ../yum/__init__.py:3211
+#: ../yum/__init__.py:2600 ../yum/__init__.py:3312
#, python-format
msgid "Checking for virtual provide or file-provide for %s"
msgstr "Kontrollerer for virtueludbyder eller filudbyder for %s"
-#: ../yum/__init__.py:2548 ../yum/__init__.py:2824 ../yum/__init__.py:2984
-#: ../yum/__init__.py:3217
+#: ../yum/__init__.py:2606 ../yum/__init__.py:2882 ../yum/__init__.py:3045
+#: ../yum/__init__.py:3318
#, python-format
msgid "No Match for argument: %s"
msgstr "Ingen match for argument: %s"
-#: ../yum/__init__.py:2622
+#: ../yum/__init__.py:2680
#, python-format
msgid "Package %s installed and not available"
msgstr "Pakken %s installeret og ikke tilgængelig"
-#: ../yum/__init__.py:2625
+#: ../yum/__init__.py:2683
msgid "No package(s) available to install"
msgstr "Ingen pakke(r) er tilgængelig(e) til installation"
-#: ../yum/__init__.py:2637
+#: ../yum/__init__.py:2695
#, python-format
msgid "Package: %s - already in transaction set"
msgstr "Pakken: %s - allerede i overførselssættet"
-#: ../yum/__init__.py:2652
+#: ../yum/__init__.py:2710
#, python-format
msgid "Package %s is obsoleted by %s, trying to install %s instead"
msgstr "Pakke %s er overflødiggjort af %s, prøver at installere %s istedet"
-#: ../yum/__init__.py:2660
+#: ../yum/__init__.py:2718
#, python-format
msgid "Package %s already installed and latest version"
msgstr "Pakke %s er allerede installeret i den nyeste version"
-#: ../yum/__init__.py:2674
+#: ../yum/__init__.py:2732
#, python-format
msgid "Package matching %s already installed. Checking for update."
msgstr "Pakken som matcher %s er allerede installeret. Søger efter opdatering."
#. update everything (the easy case)
-#: ../yum/__init__.py:2760
+#: ../yum/__init__.py:2818
msgid "Updating Everything"
msgstr "Opdaterer alt"
-#: ../yum/__init__.py:2778 ../yum/__init__.py:2886 ../yum/__init__.py:2907
-#: ../yum/__init__.py:2933
+#: ../yum/__init__.py:2836 ../yum/__init__.py:2947 ../yum/__init__.py:2968
+#: ../yum/__init__.py:2994
#, python-format
msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
msgstr ""
"Ingen opdatering af pakke som allerede er overflødiggjort: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2813 ../yum/__init__.py:2981
+#: ../yum/__init__.py:2871 ../yum/__init__.py:3042
#, python-format
msgid "%s"
msgstr "%s"
-#: ../yum/__init__.py:2877
+#: ../yum/__init__.py:2938
#, python-format
msgid "Package is already obsoleted: %s.%s %s:%s-%s"
msgstr "Pakke er allerede overflødiggjort: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2910 ../yum/__init__.py:2936
+#: ../yum/__init__.py:2971 ../yum/__init__.py:2997
#, python-format
msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
msgstr ""
"Ingen opdatering af pakke som allerede er overflødiggjort: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2997
+#: ../yum/__init__.py:3058
msgid "No package matched to remove"
msgstr "Ingen pakker fundet til sletning"
-#: ../yum/__init__.py:3031 ../yum/__init__.py:3165
+#: ../yum/__init__.py:3092 ../yum/__init__.py:3183 ../yum/__init__.py:3267
#, python-format
msgid "Cannot open file: %s. Skipping."
msgstr "Kan ikke åbne fil: %s. Springer over."
-#: ../yum/__init__.py:3034 ../yum/__init__.py:3168
+#: ../yum/__init__.py:3095 ../yum/__init__.py:3186 ../yum/__init__.py:3270
#, python-format
msgid "Examining %s: %s"
msgstr "Undersøger %s: %s"
-#: ../yum/__init__.py:3042 ../yum/__init__.py:3171
+#: ../yum/__init__.py:3103 ../yum/__init__.py:3189 ../yum/__init__.py:3273
#, python-format
msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
msgstr ""
"Kan ikke tilføje pakke %s til overførsel. Ikke en kompatibel arkitektur: %s"
-#: ../yum/__init__.py:3050
+#: ../yum/__init__.py:3111
#, python-format
msgid ""
"Package %s not installed, cannot update it. Run yum install to install it "
@@ -2063,92 +2085,92 @@ msgstr ""
"Pakken %s er ikke installeret, så den kan ikke opdateres. Kør yum install "
"for at installere den istedet."
-#: ../yum/__init__.py:3085 ../yum/__init__.py:3183
+#: ../yum/__init__.py:3146 ../yum/__init__.py:3200 ../yum/__init__.py:3284
#, python-format
msgid "Excluding %s"
msgstr "Ekskluderer %s"
-#: ../yum/__init__.py:3090
+#: ../yum/__init__.py:3151
#, python-format
msgid "Marking %s to be installed"
msgstr "Markerer %s til installation"
-#: ../yum/__init__.py:3096
+#: ../yum/__init__.py:3157
#, python-format
msgid "Marking %s as an update to %s"
msgstr "Markerer %s som en opdatering til %s"
-#: ../yum/__init__.py:3103
+#: ../yum/__init__.py:3164
#, python-format
msgid "%s: does not update installed package."
msgstr "%s kan ikke opdatere installeret pakke."
-#: ../yum/__init__.py:3118
+#: ../yum/__init__.py:3216
msgid "Problem in reinstall: no package matched to remove"
msgstr "Problem med geninstallation, ingen pakke fundet til at blive slettet"
-#: ../yum/__init__.py:3130 ../yum/__init__.py:3244
+#: ../yum/__init__.py:3228 ../yum/__init__.py:3345
#, python-format
msgid "Package %s is allowed multiple installs, skipping"
msgstr "Pakke %s er tilladt at have flere installationer, springer over"
-#: ../yum/__init__.py:3144
+#: ../yum/__init__.py:3246
msgid "Problem in reinstall: no package matched to install"
msgstr "Problem med geninstallation: ingen pakke fundet til at installere"
-#: ../yum/__init__.py:3236
+#: ../yum/__init__.py:3337
msgid "No package(s) available to downgrade"
msgstr "Ingen pakke(r) er tilgængelig(e) til nedgradering"
-#: ../yum/__init__.py:3267
+#: ../yum/__init__.py:3381
#, python-format
msgid "No Match for available package: %s"
msgstr "Ingen match for tilgængelig pakke: %s"
-#: ../yum/__init__.py:3273
+#: ../yum/__init__.py:3387
#, python-format
msgid "Only Upgrade available on package: %s"
msgstr "Opgradér kun tilgængelig på pakke: %s"
-#: ../yum/__init__.py:3334
+#: ../yum/__init__.py:3449
#, python-format
msgid "Retrieving GPG key from %s"
msgstr "Henter GPG-nøgle fra %s"
-#: ../yum/__init__.py:3354
+#: ../yum/__init__.py:3469
msgid "GPG key retrieval failed: "
msgstr "Hentning af GPG-nøglen mislykkedes: "
-#: ../yum/__init__.py:3365
+#: ../yum/__init__.py:3480
#, python-format
msgid "GPG key parsing failed: key does not have value %s"
msgstr "Tolkning af GPG-nøgle mislykkedes: nøgle har ikke nogen værdi %s"
-#: ../yum/__init__.py:3397
+#: ../yum/__init__.py:3512
#, python-format
msgid "GPG key at %s (0x%s) is already installed"
msgstr "GPG-nøgle på %s (0x%s) er allerede installeret"
#. Try installing/updating GPG key
-#: ../yum/__init__.py:3402 ../yum/__init__.py:3464
+#: ../yum/__init__.py:3517 ../yum/__init__.py:3579
#, python-format
msgid "Importing GPG key 0x%s \"%s\" from %s"
msgstr "Importerer GPG-nøgle 0x%s \"%s\" fra %s"
-#: ../yum/__init__.py:3419
+#: ../yum/__init__.py:3534
msgid "Not installing key"
msgstr "Installerer ikke nøgle"
-#: ../yum/__init__.py:3425
+#: ../yum/__init__.py:3540
#, python-format
msgid "Key import failed (code %d)"
msgstr "Importering af nøgle mislykkedes (kode %d)"
-#: ../yum/__init__.py:3426 ../yum/__init__.py:3485
+#: ../yum/__init__.py:3541 ../yum/__init__.py:3600
msgid "Key imported successfully"
msgstr "Nøglen blev importet med succes"
-#: ../yum/__init__.py:3431 ../yum/__init__.py:3490
+#: ../yum/__init__.py:3546 ../yum/__init__.py:3605
#, python-format
msgid ""
"The GPG keys listed for the \"%s\" repository are already installed but they "
@@ -2159,79 +2181,79 @@ msgstr ""
"er ikke korrekt for denne pakke.\n"
"Kontrollér at konfigurationen af nøgle-URL'er er korrekt for denne kilde."
-#: ../yum/__init__.py:3440
+#: ../yum/__init__.py:3555
msgid "Import of key(s) didn't help, wrong key(s)?"
msgstr "Importering af nøgle(r) hjalp ikke, forkerte nøgle(r)?"
-#: ../yum/__init__.py:3459
+#: ../yum/__init__.py:3574
#, python-format
msgid "GPG key at %s (0x%s) is already imported"
msgstr "GPG-nøgle på %s (0x%s) er allerede importeret"
-#: ../yum/__init__.py:3479
+#: ../yum/__init__.py:3594
#, python-format
msgid "Not installing key for repo %s"
msgstr "Installerer ikke nøgle for kilde %s"
-#: ../yum/__init__.py:3484
+#: ../yum/__init__.py:3599
msgid "Key import failed"
msgstr "Importering af nøgle mislykkedes"
-#: ../yum/__init__.py:3575
+#: ../yum/__init__.py:3690
msgid "Unable to find a suitable mirror."
msgstr "Kunne ikke finde et passende filspejl."
-#: ../yum/__init__.py:3577
+#: ../yum/__init__.py:3692
msgid "Errors were encountered while downloading packages."
msgstr "Fejl blev fundet under hentning af pakker."
-#: ../yum/__init__.py:3618
+#: ../yum/__init__.py:3733
#, python-format
msgid "Please report this error at %s"
msgstr "Rapportér venligst denne fejl på %s"
-#: ../yum/__init__.py:3642
+#: ../yum/__init__.py:3757
msgid "Test Transaction Errors: "
msgstr "Fejl i testoverførslen: "
#. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:204
+#: ../yum/plugins.py:205
msgid "Loaded plugins: "
msgstr "Indlæste udvidelsesmoduler: "
-#: ../yum/plugins.py:218 ../yum/plugins.py:224
+#: ../yum/plugins.py:219 ../yum/plugins.py:225
#, python-format
msgid "No plugin match for: %s"
msgstr "Intet udvidelsesmodul til: %s"
-#: ../yum/plugins.py:254
+#: ../yum/plugins.py:255
#, python-format
msgid "Not loading \"%s\" plugin, as it is disabled"
msgstr "Indlæser ikke \"%s\" udvidelsesmodul, fordi det er deaktiveret"
#. Give full backtrace:
-#: ../yum/plugins.py:266
+#: ../yum/plugins.py:267
#, python-format
msgid "Plugin \"%s\" can't be imported"
msgstr "Udvidelsesmodul \"%s\" kan ikke importeres"
-#: ../yum/plugins.py:273
+#: ../yum/plugins.py:274
#, python-format
msgid "Plugin \"%s\" doesn't specify required API version"
msgstr ""
"Udvidelsesmodul \"%s\" angiver ikke hvilken API-version der er påkrævet"
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:279
#, python-format
msgid "Plugin \"%s\" requires API %s. Supported API is %s."
msgstr "Udvidelsesmodul \"%s\" krævet API %s. Understøttet API er %s."
-#: ../yum/plugins.py:311
+#: ../yum/plugins.py:312
#, python-format
msgid "Loading \"%s\" plugin"
msgstr "Indlæser \"%s\" udvidelsesmodul"
-#: ../yum/plugins.py:318
+#: ../yum/plugins.py:319
#, python-format
msgid ""
"Two or more plugins with the name \"%s\" exist in the plugin search path"
@@ -2239,19 +2261,19 @@ msgstr ""
"To eller flere udvidelsesmoduler med navnet \"%s\" er fundet i søgestien for "
"udvidelsesmoduler"
-#: ../yum/plugins.py:338
+#: ../yum/plugins.py:339
#, python-format
msgid "Configuration file %s not found"
msgstr "Konfigurationsfilen %s er ikke fundet"
#. for
#. Configuration files for the plugin not found
-#: ../yum/plugins.py:341
+#: ../yum/plugins.py:342
#, python-format
msgid "Unable to find configuration file for plugin %s"
msgstr "Kunne ikke finde konfigurationsfilen til udvidelsesmodul: %s"
-#: ../yum/plugins.py:499
+#: ../yum/plugins.py:500
msgid "registration of commands not supported"
msgstr "registrering af komandoer er ikke understøttet"
@@ -2289,6 +2311,9 @@ msgstr "Ødelagt headerfil %s"
msgid "Error opening rpm %s - error %s"
msgstr "Fejl ved åbning af RPM %s - fejl %s"
+#~ msgid "Matching packages for package list to user args"
+#~ msgstr "Matcher pakker til pakkeliste baseret på brugerens argumenter"
+
#~ msgid "Parsing package install arguments"
#~ msgstr "Behandler argumenter for pakkeinstallation"
diff --git a/po/de.po b/po/de.po
index a7e2101..902ef1a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: yum\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-28 19:19+0000\n"
-"PO-Revision-Date: 2009-03-29 22:00+0100\n"
+"POT-Creation-Date: 2009-07-31 08:49+0000\n"
+"PO-Revision-Date: 2009-07-31 16:36+0100\n"
"Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n"
"Language-Team: German <fedora-trans-de@redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -21,7 +21,7 @@ msgstr ""
"X-Poedit-Language: German\n"
#: ../callback.py:48
-#: ../output.py:922
+#: ../output.py:939
#: ../yum/rpmtrans.py:71
msgid "Updating"
msgstr "Aktualisieren"
@@ -34,7 +34,7 @@ msgstr "Löschen"
#: ../callback.py:50
#: ../callback.py:51
#: ../callback.py:53
-#: ../output.py:921
+#: ../output.py:938
#: ../yum/rpmtrans.py:73
#: ../yum/rpmtrans.py:74
#: ../yum/rpmtrans.py:76
@@ -48,7 +48,7 @@ msgid "Obsoleted"
msgstr "Veraltet"
#: ../callback.py:54
-#: ../output.py:1029
+#: ../output.py:1060
msgid "Updated"
msgstr "Aktualisiert"
@@ -59,7 +59,7 @@ msgstr "Gelöscht"
#: ../callback.py:56
#: ../callback.py:57
#: ../callback.py:59
-#: ../output.py:1027
+#: ../output.py:1058
msgid "Installed"
msgstr "Installiert"
@@ -83,7 +83,7 @@ msgid "Erased: %s"
msgstr "Gelöscht: %s"
#: ../callback.py:217
-#: ../output.py:923
+#: ../output.py:940
msgid "Removing"
msgstr "Entfernen"
@@ -92,63 +92,63 @@ msgstr "Entfernen"
msgid "Cleanup"
msgstr "Aufräumen"
-#: ../cli.py:105
+#: ../cli.py:107
#, python-format
msgid "Command \"%s\" already defined"
msgstr "Befehl \"%s\" ist bereits definiert"
-#: ../cli.py:117
+#: ../cli.py:119
msgid "Setting up repositories"
msgstr "Repositories werden eingerichtet"
-#: ../cli.py:128
+#: ../cli.py:130
msgid "Reading repository metadata in from local files"
msgstr "Lese Repository-Metadaten aus lokalen Dateien ein"
-#: ../cli.py:192
-#: ../utils.py:79
+#: ../cli.py:193
+#: ../utils.py:87
#, python-format
msgid "Config Error: %s"
msgstr "Konfigurationsfehler: %s"
-#: ../cli.py:195
-#: ../cli.py:1190
-#: ../utils.py:82
+#: ../cli.py:196
+#: ../cli.py:1242
+#: ../utils.py:90
#, python-format
msgid "Options Error: %s"
msgstr "Optionenfehler: %s"
-#: ../cli.py:223
+#: ../cli.py:225
#, python-format
msgid " Installed: %s-%s at %s"
msgstr " Installiert: %s-%s am %s"
-#: ../cli.py:225
+#: ../cli.py:227
#, python-format
msgid " Built : %s at %s"
msgstr " Gebaut : %s am %s"
-#: ../cli.py:227
+#: ../cli.py:229
#, python-format
msgid " Committed: %s at %s"
msgstr " Übermittelt: %s am %s"
-#: ../cli.py:266
+#: ../cli.py:268
msgid "You need to give some command"
msgstr "Sie müssen irgendeinen Befehl eingeben"
-#: ../cli.py:309
+#: ../cli.py:311
msgid "Disk Requirements:\n"
msgstr "Festplattenplatz-Anforderungen:\n"
-#: ../cli.py:311
+#: ../cli.py:313
#, python-format
msgid " At least %dMB needed on the %s filesystem.\n"
msgstr " Mindestens %d MB werden auf dem Dateisystem %s benötigt.\n"
#. TODO: simplify the dependency errors?
#. Fixup the summary
-#: ../cli.py:316
+#: ../cli.py:318
msgid ""
"Error Summary\n"
"-------------\n"
@@ -156,58 +156,58 @@ msgstr ""
"Fehler-Zusammenfassung\n"
"----------------------\n"
-#: ../cli.py:359
+#: ../cli.py:361
msgid "Trying to run the transaction but nothing to do. Exiting."
msgstr "Versuche Transaktion auszuführen, aber es ist nichts zu tun. Beende."
-#: ../cli.py:395
+#: ../cli.py:397
msgid "Exiting on user Command"
msgstr "Beende nach Befehl des Benutzers"
-#: ../cli.py:399
+#: ../cli.py:401
msgid "Downloading Packages:"
msgstr "Lade Pakete herunter:"
-#: ../cli.py:404
+#: ../cli.py:406
msgid "Error Downloading Packages:\n"
msgstr "Fehler beim Herunterladen der Pakete:\n"
-#: ../cli.py:418
-#: ../yum/__init__.py:3362
+#: ../cli.py:420
+#: ../yum/__init__.py:3817
msgid "Running rpm_check_debug"
msgstr "Führe rpm_check_debug durch"
-#: ../cli.py:421
-#: ../yum/__init__.py:3365
+#: ../cli.py:423
+#: ../yum/__init__.py:3820
msgid "ERROR with rpm_check_debug vs depsolve:"
msgstr "FEHLER mit rpm_check_debug gegen depsolve:"
-#: ../cli.py:425
+#: ../cli.py:427
#, python-format
msgid "Please report this error in %s"
msgstr "Bitte melden Sie diesen Fehler unter %s"
-#: ../cli.py:431
+#: ../cli.py:433
msgid "Running Transaction Test"
msgstr "Führe Verarbeitungstest durch"
-#: ../cli.py:447
+#: ../cli.py:449
msgid "Finished Transaction Test"
msgstr "Verarbeitungstest beendet"
-#: ../cli.py:449
+#: ../cli.py:451
msgid "Transaction Check Error:\n"
msgstr "Prüffehler bei Verarbeitung:\n"
-#: ../cli.py:456
+#: ../cli.py:458
msgid "Transaction Test Succeeded"
msgstr "Verarbeitungstest erfolgreich"
-#: ../cli.py:477
+#: ../cli.py:480
msgid "Running Transaction"
msgstr "Führe Verarbeitung durch"
-#: ../cli.py:507
+#: ../cli.py:510
msgid ""
"Refusing to automatically import keys when running unattended.\n"
"Use \"-y\" to override."
@@ -215,72 +215,87 @@ msgstr ""
"Verweigere automatischen Import der Schlüssel, wenn unbeaufsichtigt ausgeführt.\n"
"Benutze \"-y\" zum Überschreiben."
-#: ../cli.py:526
-#: ../cli.py:560
+#: ../cli.py:529
+#: ../cli.py:563
msgid " * Maybe you meant: "
msgstr " * Meinten Sie vielleicht:"
-#: ../cli.py:543
-#: ../cli.py:551
+#: ../cli.py:546
+#: ../cli.py:554
#, python-format
msgid "Package(s) %s%s%s available, but not installed."
msgstr "Paket(e) %s%s%s verfügbar, aber nicht installiert."
-#: ../cli.py:557
-#: ../cli.py:590
+#: ../cli.py:560
+#: ../cli.py:591
+#: ../cli.py:669
#, python-format
msgid "No package %s%s%s available."
msgstr "Kein Paket %s%s%s verfügbar."
-#: ../cli.py:595
-#: ../cli.py:670
-#: ../yumcommands.py:1010
+#: ../cli.py:596
+#: ../cli.py:729
msgid "Package(s) to install"
msgstr "Paket(e) zum Installieren"
-#: ../cli.py:596
-#: ../cli.py:671
-#: ../yumcommands.py:159
-#: ../yumcommands.py:1011
+#: ../cli.py:597
+#: ../cli.py:675
+#: ../cli.py:708
+#: ../cli.py:730
+#: ../yumcommands.py:160
msgid "Nothing to do"
msgstr "Nichts zu tun"
-#: ../cli.py:629
+#: ../cli.py:630
#, python-format
msgid "%d packages marked for Update"
msgstr "%d Pakete zur Aktualisierung markiert"
-#: ../cli.py:632
+#: ../cli.py:633
msgid "No Packages marked for Update"
msgstr "Keine Pakete für die Aktualisierung markiert"
-#: ../cli.py:646
+#: ../cli.py:647
#, python-format
msgid "%d packages marked for removal"
msgstr "%d Pakete für die Entfernung markiert"
-#: ../cli.py:649
+#: ../cli.py:650
msgid "No Packages marked for removal"
msgstr "Keine Pakete für die Entfernung markiert"
-#: ../cli.py:661
+#: ../cli.py:674
+msgid "Package(s) to downgrade"
+msgstr "Paket(e) zum Downgrade"
+
+#: ../cli.py:698
+#, python-format
+msgid " (from %s)"
+msgstr " (von %s)"
+
+#: ../cli.py:700
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Installiertes Paket %s%s%s%s nicht verfügbar."
+
+#: ../cli.py:707
+msgid "Package(s) to reinstall"
+msgstr "Paket(e) zum Neuinstallieren"
+
+#: ../cli.py:720
msgid "No Packages Provided"
msgstr "Keine Pakete bereitgestellt"
-#: ../cli.py:716
-msgid "Matching packages for package list to user args"
-msgstr "Übereinstimmende Pakete für Paket-Liste nach Benutzer-Argument"
-
-#: ../cli.py:765
+#: ../cli.py:804
#, python-format
msgid "Warning: No matches found for: %s"
msgstr "Warnung: Keine Übereinstimmung gefunden für: %s"
-#: ../cli.py:768
+#: ../cli.py:807
msgid "No Matches found"
msgstr "Keine Übereinstimmungen gefunden"
-#: ../cli.py:807
+#: ../cli.py:846
#, python-format
msgid ""
"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
@@ -289,107 +304,111 @@ msgstr ""
"Warnung: 3.0.x Versionen von yum stimmen irrtümlicherweise mit Dateinamen ab.\n"
" Sie können \"%s*/%s%s\" und/oder \"%s*bin/%s%s\" benutzen, um dieses Verhalten zu bekommen"
-#: ../cli.py:823
+#: ../cli.py:862
#, python-format
msgid "No Package Found for %s"
msgstr "Kein Paket gefunden für %s"
# Räume auf, säubere...weiss jemand eine Übersetzung, welche nicht an den Staubsauger erinnert. Fabian
-#: ../cli.py:835
+#: ../cli.py:874
msgid "Cleaning up Everything"
msgstr "Räume alles auf"
-#: ../cli.py:849
+#: ../cli.py:888
msgid "Cleaning up Headers"
msgstr "Räume Header auf"
-#: ../cli.py:852
+#: ../cli.py:891
msgid "Cleaning up Packages"
msgstr "Räume Pakete auf"
-#: ../cli.py:855
+#: ../cli.py:894
msgid "Cleaning up xml metadata"
msgstr "Räume XML-Metadaten auf"
-#: ../cli.py:858
+#: ../cli.py:897
msgid "Cleaning up database cache"
msgstr "Räume Datenbank-Speicher auf"
-#: ../cli.py:861
+#: ../cli.py:900
msgid "Cleaning up expire-cache metadata"
msgstr "Räume Metadaten für abgelaufene Caches auf"
-#: ../cli.py:864
+#: ../cli.py:903
msgid "Cleaning up plugins"
msgstr "Räume Plugins auf"
-#: ../cli.py:889
+#: ../cli.py:928
msgid "Installed Groups:"
msgstr "Installierte Gruppen:"
-#: ../cli.py:896
+#: ../cli.py:940
msgid "Available Groups:"
msgstr "Verfügbare Gruppen:"
-#: ../cli.py:902
+#: ../cli.py:950
msgid "Done"
msgstr "Fertig"
-#: ../cli.py:913
-#: ../cli.py:931
-#: ../cli.py:937
-#: ../yum/__init__.py:2410
+#: ../cli.py:961
+#: ../cli.py:979
+#: ../cli.py:985
+#: ../yum/__init__.py:2556
#, python-format
msgid "Warning: Group %s does not exist."
msgstr "Warnung: Gruppe %s existiert nicht."
-#: ../cli.py:941
+#: ../cli.py:989
msgid "No packages in any requested group available to install or update"
msgstr "Keine Pakete in irgendeiner Gruppe verfügbar zum Installieren oder Aktualisieren"
-#: ../cli.py:943
+#: ../cli.py:991
#, python-format
msgid "%d Package(s) to Install"
msgstr "%d Paket(e) zum Installieren"
-#: ../cli.py:953
-#: ../yum/__init__.py:2422
+#: ../cli.py:1001
+#: ../yum/__init__.py:2568
#, python-format
msgid "No group named %s exists"
msgstr "Es existiert keine Gruppe mit dem Namen %s"
-#: ../cli.py:959
+#: ../cli.py:1007
msgid "No packages to remove from groups"
msgstr "Keine Pakete zum Entfernen aus dem Gruppen gefunden"
-#: ../cli.py:961
+#: ../cli.py:1009
#, python-format
msgid "%d Package(s) to remove"
msgstr "%d Paket(e) zum Entfernen"
-#: ../cli.py:1003
+#: ../cli.py:1051
#, python-format
msgid "Package %s is already installed, skipping"
-msgstr "Paket %s ist bereits installiert, überspringe"
+msgstr "Paket %s ist bereits installiert, überspringen"
# Meint das nicht eher übergehe? -tl
-#: ../cli.py:1014
+#: ../cli.py:1062
#, python-format
msgid "Discarding non-comparable pkg %s.%s"
msgstr "Verwerfe nicht vergleichbare Pakete %s.%s"
#. we've not got any installed that match n or n+a
-#: ../cli.py:1040
+#: ../cli.py:1088
#, python-format
msgid "No other %s installed, adding to list for potential install"
msgstr "Kein anderes %s installiert, füge es zur Liste für eine potentielle Installation hinzu"
-#: ../cli.py:1059
+#: ../cli.py:1108
+msgid "Plugin Options"
+msgstr "Plugin-Optionen"
+
+#: ../cli.py:1116
#, python-format
msgid "Command line error: %s"
msgstr "Kommandozeilen-Fehler: %s"
-#: ../cli.py:1072
+#: ../cli.py:1129
#, python-format
msgid ""
"\n"
@@ -400,252 +419,257 @@ msgstr ""
"\n"
"%s: %s Option benötigt ein Argument"
-#: ../cli.py:1130
+#: ../cli.py:1182
msgid "--color takes one of: auto, always, never"
msgstr "--color kann einen der folgenden Werte haben: auto, always, never"
-#: ../cli.py:1232
+#: ../cli.py:1289
msgid "show this help message and exit"
msgstr "Hilfeinformation anzeigen und beenden"
-#: ../cli.py:1236
+#: ../cli.py:1293
msgid "be tolerant of errors"
msgstr "fehlertolerant sein"
-#: ../cli.py:1238
+#: ../cli.py:1295
msgid "run entirely from cache, don't update cache"
msgstr "laufe komplett aus dem Zwischenspeicher, aktualisiere Zwischenspeicher nicht"
-#: ../cli.py:1240
+#: ../cli.py:1297
msgid "config file location"
msgstr "Ort der Konfigurationsdatei"
-#: ../cli.py:1242
+#: ../cli.py:1299
msgid "maximum command wait time"
msgstr "maximale Befehlswartezeit"
-#: ../cli.py:1244
+#: ../cli.py:1301
msgid "debugging output level"
msgstr "Debugging-Ausgabe-Stufe"
-#: ../cli.py:1248
+#: ../cli.py:1305
msgid "show duplicates, in repos, in list/search commands"
-msgstr "Zeige Duplikate, in Repos, in Listen/Suchen-Befehlen"
+msgstr "Duplikate, in Repos und in Listen/Suchen-Befehlen, anzeigen"
-#: ../cli.py:1250
+#: ../cli.py:1307
msgid "error output level"
msgstr "Fehler-Ausgabe-Stufe"
-#: ../cli.py:1253
+#: ../cli.py:1310
msgid "quiet operation"
msgstr "Stiller Betrieb"
-#: ../cli.py:1255
+#: ../cli.py:1312
msgid "verbose operation"
msgstr "Wortreicher Betrieb"
-#: ../cli.py:1257
+#: ../cli.py:1314
msgid "answer yes for all questions"
-msgstr "Beantworte alle Fragen mit 'ja'"
+msgstr "Beantwortet alle Fragen mit 'ja'"
-#: ../cli.py:1259
+#: ../cli.py:1316
msgid "show Yum version and exit"
msgstr "Yum-Version anzeigen und Programm beenden"
-#: ../cli.py:1260
+#: ../cli.py:1317
msgid "set install root"
msgstr "Wurzel-Installationsverzeichnis setzen"
-#: ../cli.py:1264
+#: ../cli.py:1321
msgid "enable one or more repositories (wildcards allowed)"
msgstr "aktiviere ein oder mehrere Repositories (Wildcards erlaubt)"
-#: ../cli.py:1268
+#: ../cli.py:1325
msgid "disable one or more repositories (wildcards allowed)"
msgstr "deaktiviere ein oder mehrere Repositories (Wildcards erlaubt)"
-#: ../cli.py:1271
+#: ../cli.py:1328
msgid "exclude package(s) by name or glob"
msgstr "schliesse Paket(e) nach Namen oder global aus"
-#: ../cli.py:1273
+#: ../cli.py:1330
msgid "disable exclude from main, for a repo or for everything"
msgstr "deaktiviere Ausschluss von 'main', einem Repository oder allem"
-#: ../cli.py:1276
+#: ../cli.py:1333
msgid "enable obsoletes processing during updates"
msgstr "aktiviere veraltetes Verarbeiten während Aktualisierung"
-#: ../cli.py:1278
+#: ../cli.py:1335
msgid "disable Yum plugins"
msgstr "deaktiviere Yum-Plugins"
-#: ../cli.py:1280
+#: ../cli.py:1337
msgid "disable gpg signature checking"
msgstr "deaktiviere GPG-Signatur-Prüfung"
-#: ../cli.py:1282
+#: ../cli.py:1339
msgid "disable plugins by name"
msgstr "deaktiviere Plugins nach Namen"
-#: ../cli.py:1285
+#: ../cli.py:1342
msgid "enable plugins by name"
msgstr "aktiviere Plugins nach Namen"
-#: ../cli.py:1288
+#: ../cli.py:1345
msgid "skip packages with depsolving problems"
msgstr "überspringe Pakete mit Abhängigkeitsauflösungsproblemen"
-#: ../cli.py:1290
+#: ../cli.py:1347
msgid "control whether color is used"
msgstr "kontrolliert, ob Farbe benutzt wird"
-#: ../output.py:298
+#: ../output.py:303
msgid "Jan"
msgstr "Jan"
-#: ../output.py:298
+#: ../output.py:303
msgid "Feb"
msgstr "Feb"
-#: ../output.py:298
+#: ../output.py:303
msgid "Mar"
msgstr "Mär"
-#: ../output.py:298
+#: ../output.py:303
msgid "Apr"
msgstr "Apr"
-#: ../output.py:298
+#: ../output.py:303
msgid "May"
msgstr "Mai"
-#: ../output.py:298
+#: ../output.py:303
msgid "Jun"
msgstr "Jun"
-#: ../output.py:299
+#: ../output.py:304
msgid "Jul"
msgstr "Jul"
-#: ../output.py:299
+#: ../output.py:304
msgid "Aug"
msgstr "Aug"
-#: ../output.py:299
+#: ../output.py:304
msgid "Sep"
msgstr "Sep"
-#: ../output.py:299
+#: ../output.py:304
msgid "Oct"
msgstr "Okt"
-#: ../output.py:299
+#: ../output.py:304
msgid "Nov"
msgstr "Nov"
-#: ../output.py:299
+#: ../output.py:304
msgid "Dec"
msgstr "Dez"
-#: ../output.py:309
+#: ../output.py:314
msgid "Trying other mirror."
msgstr "Versuche anderen Spiegel-Server."
-#: ../output.py:525
+#: ../output.py:536
#, python-format
msgid "Name : %s%s%s"
msgstr "Name : %s%s%s"
-#: ../output.py:526
+#: ../output.py:537
#, python-format
msgid "Arch : %s"
msgstr "Architektur : %s"
-#: ../output.py:528
+#: ../output.py:539
#, python-format
msgid "Epoch : %s"
msgstr "Epoch : %s"
-#: ../output.py:529
+#: ../output.py:540
#, python-format
msgid "Version : %s"
msgstr "Version : %s"
-#: ../output.py:530
+#: ../output.py:541
#, python-format
msgid "Release : %s"
msgstr "Ausgabe : %s"
-#: ../output.py:531
+#: ../output.py:542
#, python-format
msgid "Size : %s"
msgstr "Grösse : %s"
-#: ../output.py:532
+#: ../output.py:543
#, python-format
msgid "Repo : %s"
msgstr "Repo : %s"
-#: ../output.py:534
+#: ../output.py:545
+#, python-format
+msgid "From repo : %s"
+msgstr "Aus repo : %s"
+
+#: ../output.py:547
#, python-format
msgid "Committer : %s"
msgstr "Übermittler : %s"
-#: ../output.py:535
+#: ../output.py:548
#, python-format
msgid "Committime : %s"
msgstr "Übermittlungszeit : %s"
-#: ../output.py:536
+#: ../output.py:549
#, python-format
msgid "Buildtime : %s"
msgstr "Build-Zeit : %s"
-#: ../output.py:538
+#: ../output.py:551
#, python-format
msgid "Installtime: %s"
msgstr "Installationszeit: %s"
-#: ../output.py:539
+#: ../output.py:552
msgid "Summary : "
msgstr "Zusammenfassung : "
-#: ../output.py:541
+#: ../output.py:554
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:542
+#: ../output.py:555
#, python-format
msgid "License : %s"
msgstr "Lizenz : %s"
-#: ../output.py:543
+#: ../output.py:556
msgid "Description: "
msgstr "Beschreibung:"
-#: ../output.py:611
+#: ../output.py:624
msgid "y"
msgstr "j"
-#: ../output.py:611
+#: ../output.py:624
msgid "yes"
msgstr "ja"
-#: ../output.py:612
+#: ../output.py:625
msgid "n"
msgstr "n"
-#: ../output.py:612
+#: ../output.py:625
msgid "no"
msgstr "nein"
-#: ../output.py:616
+#: ../output.py:629
msgid "Is this ok [y/N]: "
msgstr "Ist dies in Ordnung? [j/N] :"
-#: ../output.py:704
+#: ../output.py:720
#, python-format
msgid ""
"\n"
@@ -654,134 +678,142 @@ msgstr ""
"\n"
"Gruppe: %s"
-#: ../output.py:708
+#: ../output.py:724
#, python-format
msgid " Group-Id: %s"
msgstr " Gruppen-ID: %s"
-#: ../output.py:713
+#: ../output.py:729
#, python-format
msgid " Description: %s"
msgstr " Beschreibung: %s"
-#: ../output.py:715
+#: ../output.py:731
msgid " Mandatory Packages:"
msgstr " Obligatorische Pakete:"
-#: ../output.py:716
+#: ../output.py:732
msgid " Default Packages:"
msgstr " Standard-Pakete:"
-#: ../output.py:717
+#: ../output.py:733
msgid " Optional Packages:"
msgstr " Optionale Pakete:"
-#: ../output.py:718
+#: ../output.py:734
msgid " Conditional Packages:"
msgstr " Zwangsbedingte Pakete:"
-#: ../output.py:738
+#: ../output.py:754
#, python-format
msgid "package: %s"
msgstr "Paket: %s"
-#: ../output.py:740
+#: ../output.py:756
msgid " No dependencies for this package"
msgstr " Keine Abhängigkeiten für dieses Paket"
-#: ../output.py:745
+#: ../output.py:761
#, python-format
msgid " dependency: %s"
msgstr " Abhängigkeit: %s"
-#: ../output.py:747
+#: ../output.py:763
msgid " Unsatisfied dependency"
msgstr " Nicht erfüllte Abhängigkeit"
-#: ../output.py:819
+#: ../output.py:835
#, python-format
msgid "Repo : %s"
msgstr "Repo : %s"
-#: ../output.py:820
+#: ../output.py:836
msgid "Matched from:"
msgstr "Übereinstimmung von:"
-#: ../output.py:828
+#: ../output.py:845
msgid "Description : "
msgstr "Beschreibung : "
-#: ../output.py:831
+#: ../output.py:848
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:834
+#: ../output.py:851
#, python-format
msgid "License : %s"
msgstr "Lizenz : %s"
-#: ../output.py:837
+#: ../output.py:854
#, python-format
msgid "Filename : %s"
msgstr "Dateiname : %s"
-#: ../output.py:841
+#: ../output.py:858
msgid "Other : "
msgstr "Andere : "
-#: ../output.py:874
+#: ../output.py:891
msgid "There was an error calculating total download size"
msgstr "Fehler beim Berechnen der Gesamtgrösse der Downloads"
-#: ../output.py:879
+#: ../output.py:896
#, python-format
msgid "Total size: %s"
msgstr "Gesamtgrösse: %s"
-#: ../output.py:882
+#: ../output.py:899
#, python-format
msgid "Total download size: %s"
msgstr "Gesamte Downloadgrösse: %s"
-#: ../output.py:924
+#: ../output.py:941
+msgid "Reinstalling"
+msgstr "Neuinstallieren"
+
+#: ../output.py:942
+msgid "Downgrading"
+msgstr "Downgrading"
+
+#: ../output.py:943
msgid "Installing for dependencies"
msgstr "Installiert für Abhängigkeiten"
-#: ../output.py:925
+#: ../output.py:944
msgid "Updating for dependencies"
msgstr "Aktualisiert für Abhängigkeiten"
-#: ../output.py:926
+#: ../output.py:945
msgid "Removing for dependencies"
msgstr "Entfernt für Abhängigkeiten"
-#: ../output.py:933
-#: ../output.py:1031
+#: ../output.py:952
+#: ../output.py:1062
msgid "Skipped (dependency problems)"
msgstr "Übersprungen (Abhängigkeitsprobleme)"
-#: ../output.py:954
+#: ../output.py:973
msgid "Package"
msgstr "Paket"
-#: ../output.py:954
+#: ../output.py:973
msgid "Arch"
msgstr "Arch"
-#: ../output.py:955
+#: ../output.py:974
msgid "Version"
msgstr "Version"
-#: ../output.py:955
+#: ../output.py:974
msgid "Repository"
msgstr "Repository"
-#: ../output.py:956
+#: ../output.py:975
msgid "Size"
msgstr "Grösse"
-#: ../output.py:968
+#: ../output.py:987
#, python-format
msgid ""
" replacing %s%s%s.%s %s\n"
@@ -790,132 +822,154 @@ msgstr ""
" ersetze %s%s%s.%s %s\n"
"\n"
-#: ../output.py:977
+#: ../output.py:996
#, python-format
msgid ""
"\n"
"Transaction Summary\n"
"%s\n"
-"Install %5.5s Package(s) \n"
-"Update %5.5s Package(s) \n"
-"Remove %5.5s Package(s) \n"
msgstr ""
"\n"
-"Transaktionszusammenfassung\n"
+"Vorgangsübersicht\n"
"%s\n"
-"Installieren %5.5s Paket(e) \n"
-"Aktualisieren %5.5s Paket(e) \n"
-"Entfernen %5.5s Paket(e) \n"
-#: ../output.py:1025
+#: ../output.py:1003
+#, python-format
+msgid ""
+"Install %5.5s Package(s)\n"
+"Upgrade %5.5s Package(s)\n"
+msgstr ""
+"Installieren %5.5s Paket(e)\n"
+"Upgrade %5.5s Paket(e)\n"
+
+#: ../output.py:1012
+#, python-format
+msgid ""
+"Remove %5.5s Package(s)\n"
+"Reinstall %5.5s Package(s)\n"
+"Downgrade %5.5s Package(s)\n"
+msgstr ""
+"Entfernen %5.5s Paket(e)\n"
+"Neuinstallieren %5.5s Paket(e)\n"
+"Downgrade %5.5s Paket(e)\n"
+
+#: ../output.py:1056
msgid "Removed"
msgstr "Entfernt"
-#: ../output.py:1026
+#: ../output.py:1057
msgid "Dependency Removed"
msgstr "Abhängigkeiten entfernt"
-#: ../output.py:1028
+#: ../output.py:1059
msgid "Dependency Installed"
msgstr "Abhängigkeit installiert"
-#: ../output.py:1030
+#: ../output.py:1061
msgid "Dependency Updated"
msgstr "Abhängigkeit aktualisiert"
-#: ../output.py:1032
+#: ../output.py:1063
msgid "Replaced"
msgstr "Ersetzt "
-#: ../output.py:1033
+#: ../output.py:1064
msgid "Failed"
msgstr "Fehlgeschlagen"
#. Delta between C-c's so we treat as exit
-#: ../output.py:1099
+#: ../output.py:1130
msgid "two"
msgstr "zwei"
-#: ../output.py:1106
+#. 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.
+#: ../output.py:1141
#, python-format
msgid ""
"\n"
-" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds to exit.\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
msgstr ""
"\n"
-" Aktueller Download abgebrochen, %s unterbrechen Sie (Ctrl-c) erneut %s innerhalb %s%s%s Sekunden zum Beenden.\n"
+" Aktueller Download abgebrochen, %s unterbrechen Sie (Ctrl-c) erneut %s innerhalb %s%s%s Sekunden\n"
+"zum Beenden.\n"
-#: ../output.py:1116
+#: ../output.py:1152
msgid "user interrupt"
msgstr "Benutzer-Unterbrechung"
-#: ../output.py:1132
+#: ../output.py:1168
msgid "Total"
msgstr "Gesamt"
-#: ../output.py:1146
+#: ../output.py:1183
msgid "installed"
msgstr "installiert"
-#: ../output.py:1147
+#: ../output.py:1184
msgid "updated"
msgstr "aktualisiert"
-#: ../output.py:1148
+#: ../output.py:1185
msgid "obsoleted"
msgstr "veraltet"
-#: ../output.py:1149
+#: ../output.py:1186
msgid "erased"
msgstr "gelöscht"
# Dies ist das Sorgenkind. So weit ich weiss, werden die Verben von oben bezogen. Eventuell könnte auch eine radikale Änderung eine Lösung sein. Fabian
-#: ../output.py:1153
+#: ../output.py:1190
#, python-format
msgid "---> Package %s.%s %s:%s-%s set to be %s"
msgstr "---> Paket %s.%s %s:%s-%s markiert, um %s zu werden"
-#: ../output.py:1160
+#: ../output.py:1197
msgid "--> Running transaction check"
msgstr "--> Führe Transaktionsprüfung aus"
-#: ../output.py:1165
+#: ../output.py:1202
msgid "--> Restarting Dependency Resolution with new changes."
msgstr "--> Starte Abhängigkeitsauflösung mit den neuen Änderungen neu."
-#: ../output.py:1170
+#: ../output.py:1207
msgid "--> Finished Dependency Resolution"
msgstr "--> Abhängigkeitsauflösung beendet"
-#: ../output.py:1175
+#: ../output.py:1212
+#: ../output.py:1217
#, python-format
msgid "--> Processing Dependency: %s for package: %s"
msgstr "--> Verarbeite Abhängigkeiten: %s für Paket: %s"
-#: ../output.py:1180
+#: ../output.py:1221
#, python-format
msgid "--> Unresolved Dependency: %s"
msgstr "--> Nicht aufgelöste Abhängigkeit: %s"
-#: ../output.py:1186
+#: ../output.py:1227
+#: ../output.py:1232
#, python-format
msgid "--> Processing Conflict: %s conflicts %s"
msgstr "--> Verarbeite Konflikt: %s kollidiert mit %s"
-#: ../output.py:1189
+#: ../output.py:1236
msgid "--> Populating transaction set with selected packages. Please wait."
msgstr "--> Fülle Verarbeitungsset mit ausgewählten Paketen. Bitte warten."
-#: ../output.py:1193
+#: ../output.py:1240
#, python-format
msgid "---> Downloading header for %s to pack into transaction set."
msgstr "---> Lade Header für %s herunter, um ins Verarbeitungsset zu packen."
-#: ../yumcommands.py:41
+#: ../yumcommands.py:40
msgid "You need to be root to perform this command."
msgstr "Sie müssen root sein, um diesen Befehl ausführen zu können."
-#: ../yumcommands.py:48
+#: ../yumcommands.py:47
msgid ""
"\n"
"You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -945,316 +999,320 @@ msgstr ""
"\n"
"Für weitere Informationen kontaktieren Sie Ihren Distributions- oder Paket-Anbieter.\n"
-#: ../yumcommands.py:68
+#: ../yumcommands.py:67
#, python-format
msgid "Error: Need to pass a list of pkgs to %s"
msgstr "Fehler: Muss eine Liste von Paketen an %s übergeben"
-#: ../yumcommands.py:74
+#: ../yumcommands.py:73
msgid "Error: Need an item to match"
msgstr "Fehler: Brauche einen Begriff, der passt"
-#: ../yumcommands.py:80
+#: ../yumcommands.py:79
msgid "Error: Need a group or list of groups"
msgstr "Fehler: Brauche eine Gruppe oder eine Liste von Gruppen"
-#: ../yumcommands.py:89
+#: ../yumcommands.py:88
#, python-format
msgid "Error: clean requires an option: %s"
msgstr "Fehler: Aufräumen benötigt eine Option: %s"
-#: ../yumcommands.py:94
+#: ../yumcommands.py:93
#, python-format
msgid "Error: invalid clean argument: %r"
msgstr "Fehler: Ungültiges Argument für Aufräumen: %r"
-#: ../yumcommands.py:107
+#: ../yumcommands.py:106
msgid "No argument to shell"
msgstr "Kein Argument für Shell"
-#: ../yumcommands.py:110
+#: ../yumcommands.py:108
#, python-format
msgid "Filename passed to shell: %s"
msgstr "Dateinamen an Shell übergeben: %s"
-#: ../yumcommands.py:114
+#: ../yumcommands.py:112
#, python-format
msgid "File %s given as argument to shell does not exist."
msgstr "Datei %s, angegeben als Argument für Shell, existiert nicht."
-#: ../yumcommands.py:120
+#: ../yumcommands.py:118
msgid "Error: more than one file given as argument to shell."
msgstr "Fehler: mehr als eine Datei als Argument an die Shell übergeben."
-#: ../yumcommands.py:169
+#: ../yumcommands.py:173
msgid "PACKAGE..."
msgstr "PAKET..."
-#: ../yumcommands.py:172
+#: ../yumcommands.py:176
msgid "Install a package or packages on your system"
msgstr "Installiere ein Paket oder Pakete auf Ihrem System"
-#: ../yumcommands.py:180
+#: ../yumcommands.py:184
msgid "Setting up Install Process"
msgstr "Einrichten des Installationsprozess"
-#: ../yumcommands.py:191
+#: ../yumcommands.py:198
msgid "[PACKAGE...]"
msgstr "[PAKET...]"
-#: ../yumcommands.py:194
+#: ../yumcommands.py:201
msgid "Update a package or packages on your system"
msgstr "Aktualisiere ein Paket oder Pakete auf Ihrem System"
-#: ../yumcommands.py:201
+#: ../yumcommands.py:208
msgid "Setting up Update Process"
msgstr "Einrichten des Aktualisierungsprozess"
-#: ../yumcommands.py:243
+#: ../yumcommands.py:256
msgid "Display details about a package or group of packages"
msgstr "Zeige Details über ein Paket oder einer Gruppe von Pakete an"
-#: ../yumcommands.py:292
+#: ../yumcommands.py:305
msgid "Installed Packages"
msgstr "Installierte Pakete"
-#: ../yumcommands.py:300
+#: ../yumcommands.py:313
msgid "Available Packages"
msgstr "Verfügbare Pakete"
-#: ../yumcommands.py:304
+#: ../yumcommands.py:317
msgid "Extra Packages"
msgstr "Extra-Pakete"
-#: ../yumcommands.py:308
+#: ../yumcommands.py:321
msgid "Updated Packages"
msgstr "Aktualisierte Pakete"
#. This only happens in verbose mode
-#: ../yumcommands.py:316
-#: ../yumcommands.py:323
-#: ../yumcommands.py:600
+#: ../yumcommands.py:329
+#: ../yumcommands.py:336
+#: ../yumcommands.py:630
msgid "Obsoleting Packages"
msgstr "Veraltete Pakete"
-#: ../yumcommands.py:325
+#: ../yumcommands.py:338
msgid "Recently Added Packages"
msgstr "Kürzlich hinzugefügte Pakete"
-#: ../yumcommands.py:332
+#: ../yumcommands.py:345
msgid "No matching Packages to list"
msgstr "Keine übereinstimmenden Pakete zum Auflisten"
-#: ../yumcommands.py:346
+#: ../yumcommands.py:362
msgid "List a package or groups of packages"
msgstr "Liste von Paketen oder Gruppen von Paketen"
-#: ../yumcommands.py:358
+#: ../yumcommands.py:376
msgid "Remove a package or packages from your system"
msgstr "Entferne ein Paket oder Pakete auf Ihrem System"
-#: ../yumcommands.py:365
+#: ../yumcommands.py:383
msgid "Setting up Remove Process"
msgstr "Einrichten des Entfernungsprozess"
-#: ../yumcommands.py:379
+#: ../yumcommands.py:400
msgid "Setting up Group Process"
msgstr "Einrichten des Gruppenprozess"
-#: ../yumcommands.py:385
+#: ../yumcommands.py:406
msgid "No Groups on which to run command"
msgstr "Keine Gruppe, auf welcher der Befehl ausgeführt werden kann"
-#: ../yumcommands.py:398
+#: ../yumcommands.py:419
msgid "List available package groups"
msgstr "Verfügbare Gruppen anzeigen"
-#: ../yumcommands.py:415
+#: ../yumcommands.py:436
msgid "Install the packages in a group on your system"
msgstr "Installiere die Pakete in einer Gruppe auf Ihrem System"
-#: ../yumcommands.py:437
+#: ../yumcommands.py:458
msgid "Remove the packages in a group from your system"
msgstr "Entferne die Pakete in einer Gruppe von Ihrem System"
-#: ../yumcommands.py:464
+#: ../yumcommands.py:485
msgid "Display details about a package group"
msgstr "Zeigt Details über eine Paket-Gruppe an"
-#: ../yumcommands.py:488
+#: ../yumcommands.py:511
msgid "Generate the metadata cache"
msgstr "Generiere den Metadaten-Zwischenspeicher"
-#: ../yumcommands.py:494
+#: ../yumcommands.py:517
msgid "Making cache files for all metadata files."
msgstr "Erstelle Zwischenspeicherungsdatei für alle Metadaten-Dateien."
-#: ../yumcommands.py:495
+#: ../yumcommands.py:518
msgid "This may take a while depending on the speed of this computer"
msgstr "Dies kann eine Weile dauern, abhängig von der Geschwindigkeit dieses Computers"
-#: ../yumcommands.py:516
+#: ../yumcommands.py:539
msgid "Metadata Cache Created"
msgstr "Metadaten-Zwischenspeicher erstellt"
-#: ../yumcommands.py:530
+#: ../yumcommands.py:555
msgid "Remove cached data"
msgstr "Entferne gespeicherte Daten"
-#: ../yumcommands.py:551
+#: ../yumcommands.py:578
msgid "Find what package provides the given value"
msgstr "Suche ein Paket, das den gegebenen Wert bereitstellt"
-#: ../yumcommands.py:571
+#: ../yumcommands.py:601
msgid "Check for available package updates"
msgstr "Überprüfe auf verfügbare Paket-Aktualisierungen"
-#: ../yumcommands.py:620
+#: ../yumcommands.py:653
msgid "Search package details for the given string"
msgstr "Suche nach Paket-Details für die gegebene Zeichenkette"
-#: ../yumcommands.py:626
+#: ../yumcommands.py:659
msgid "Searching Packages: "
msgstr "Suche Pakete:"
-#: ../yumcommands.py:643
+#: ../yumcommands.py:679
msgid "Update packages taking obsoletes into account"
msgstr "Aktualisiere Pakete, berücksichtige veraltete"
# Gibt es einen Unterschied zwischen Update und Upgrade Process? -tl
-#: ../yumcommands.py:651
+#: ../yumcommands.py:687
msgid "Setting up Upgrade Process"
msgstr "Einrichten des Upgradeprozesses"
-#: ../yumcommands.py:665
+#: ../yumcommands.py:704
msgid "Install a local RPM"
msgstr "Installiere ein lokales RPM"
-#: ../yumcommands.py:673
+#: ../yumcommands.py:712
msgid "Setting up Local Package Process"
msgstr "Einrichten der lokalen Paketverarbeitung"
-#: ../yumcommands.py:692
+#: ../yumcommands.py:734
msgid "Determine which package provides the given dependency"
msgstr "Bestimme, welche Pakete die gegebenen Abhängigkeiten bereitstellen"
-#: ../yumcommands.py:695
+#: ../yumcommands.py:737
msgid "Searching Packages for Dependency:"
msgstr "Suche Pakete für Abhängigkeit:"
-#: ../yumcommands.py:709
+#: ../yumcommands.py:754
msgid "Run an interactive yum shell"
msgstr "Führe eine interaktive Yum-Shell aus"
-#: ../yumcommands.py:715
+#: ../yumcommands.py:760
msgid "Setting up Yum Shell"
msgstr "Einrichten der Yum-Shell"
-#: ../yumcommands.py:733
+#: ../yumcommands.py:781
msgid "List a package's dependencies"
msgstr "Liste von Paket-Abhängigkeiten"
-#: ../yumcommands.py:739
+#: ../yumcommands.py:787
msgid "Finding dependencies: "
msgstr "Suche Abhängigkeiten:"
-#: ../yumcommands.py:755
+#: ../yumcommands.py:805
msgid "Display the configured software repositories"
msgstr "Zeige die konfigurierten Software-Repositories an"
-#: ../yumcommands.py:803
-#: ../yumcommands.py:804
+#: ../yumcommands.py:853
+#: ../yumcommands.py:854
msgid "enabled"
msgstr "aktiviert"
-#: ../yumcommands.py:812
-#: ../yumcommands.py:813
+#: ../yumcommands.py:862
+#: ../yumcommands.py:863
msgid "disabled"
msgstr "deaktiviert"
-#: ../yumcommands.py:827
+#: ../yumcommands.py:877
msgid "Repo-id : "
msgstr "Repo-ID : "
-#: ../yumcommands.py:828
+#: ../yumcommands.py:878
msgid "Repo-name : "
msgstr "Repo-Name : "
-#: ../yumcommands.py:829
+#: ../yumcommands.py:879
msgid "Repo-status : "
msgstr "Repo-Status : "
-#: ../yumcommands.py:831
+#: ../yumcommands.py:881
msgid "Repo-revision: "
msgstr "Repo-Revision: "
-#: ../yumcommands.py:835
+#: ../yumcommands.py:885
msgid "Repo-tags : "
msgstr "Repo-Tags : "
-#: ../yumcommands.py:841
+#: ../yumcommands.py:891
msgid "Repo-distro-tags: "
msgstr "Repo-Distro-Tags: "
-#: ../yumcommands.py:846
+#: ../yumcommands.py:896
msgid "Repo-updated: "
msgstr "Repo aktualisiert:"
-#: ../yumcommands.py:848
+#: ../yumcommands.py:898
msgid "Repo-pkgs : "
msgstr "Repo-PKGS : "
-#: ../yumcommands.py:849
+#: ../yumcommands.py:899
msgid "Repo-size : "
msgstr "Repo-Grösse : "
-#: ../yumcommands.py:856
+#: ../yumcommands.py:906
msgid "Repo-baseurl: "
msgstr "Repo BaseURL:"
-#: ../yumcommands.py:860
+#: ../yumcommands.py:914
msgid "Repo-metalink: "
msgstr "Repo-Metalink: "
-#: ../yumcommands.py:863
+#: ../yumcommands.py:918
+msgid " Updated : "
+msgstr " Aktualisiert : "
+
+#: ../yumcommands.py:921
msgid "Repo-mirrors: "
msgstr "Repo-Spiegel: "
-#: ../yumcommands.py:867
+#: ../yumcommands.py:925
msgid "Repo-exclude: "
msgstr "Repo ausgeschlossen:"
-#: ../yumcommands.py:871
+#: ../yumcommands.py:929
msgid "Repo-include: "
msgstr "Repo eingeschlossen:"
#. Work out the first (id) and last (enabled/disalbed/count),
#. then chop the middle (name)...
-#: ../yumcommands.py:881
-#: ../yumcommands.py:907
+#: ../yumcommands.py:939
+#: ../yumcommands.py:965
msgid "repo id"
msgstr "Repo-ID"
-#: ../yumcommands.py:895
-#: ../yumcommands.py:896
-#: ../yumcommands.py:910
+#: ../yumcommands.py:953
+#: ../yumcommands.py:954
+#: ../yumcommands.py:968
msgid "status"
msgstr "Status"
-#: ../yumcommands.py:908
+#: ../yumcommands.py:966
msgid "repo name"
msgstr "Repo-Name:"
-#: ../yumcommands.py:934
+#: ../yumcommands.py:1010
msgid "Display a helpful usage message"
msgstr "Zeigt eine kurze Verwendungsinformation"
-#: ../yumcommands.py:968
+#: ../yumcommands.py:1048
#, python-format
msgid "No help available for %s"
msgstr "Keine Hilfe für %s vorhanden"
-#: ../yumcommands.py:973
+#: ../yumcommands.py:1053
msgid ""
"\n"
"\n"
@@ -1264,7 +1322,7 @@ msgstr ""
"\n"
"Aliase: "
-#: ../yumcommands.py:975
+#: ../yumcommands.py:1055
msgid ""
"\n"
"\n"
@@ -1274,14 +1332,46 @@ msgstr ""
"\n"
"Alias: "
-#: ../yumcommands.py:1003
+#: ../yumcommands.py:1071
+msgid "Command"
+msgstr "Befehl"
+
+#: ../yumcommands.py:1082
+msgid "Created"
+msgstr "Erzeugt"
+
+#: ../yumcommands.py:1083
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: ../yumcommands.py:1130
msgid "Setting up Reinstall Process"
msgstr "Einrichten des Neuinstallationsprozess"
-#: ../yumcommands.py:1017
+#: ../yumcommands.py:1138
msgid "reinstall a package"
msgstr "Installiere Paket neu"
+#: ../yumcommands.py:1159
+msgid "Setting up Downgrade Process"
+msgstr "Einrichten des Downgrade-Prozesses"
+
+#: ../yumcommands.py:1166
+msgid "downgrade a package"
+msgstr "Downgrade eines Pakets"
+
+#: ../yumcommands.py:1183
+msgid "Display a version for the machine and/or available repos."
+msgstr "Eine Version für das System und/oder die verfügbaren Repositories anzeigen."
+
+#: ../yumcommands.py:1210
+msgid "Installed:"
+msgstr "Installiert:"
+
+#: ../yumcommands.py:1219
+msgid "Available:"
+msgstr "Verfügbar:"
+
#: ../yummain.py:42
msgid ""
"\n"
@@ -1361,7 +1451,7 @@ msgid "Error: %s"
msgstr "Fehler: %s"
#: ../yummain.py:209
-#: ../yummain.py:250
+#: ../yummain.py:251
#, python-format
msgid "Unknown Error(s): Exit Code: %d:"
msgstr "Unbekannte(r) Fehler: Exit Code: %d:"
@@ -1385,7 +1475,7 @@ msgstr ""
" package-cleanup --dupes\n"
" rpm -Va --nofiles --nodigest"
-#: ../yummain.py:256
+#: ../yummain.py:257
msgid ""
"\n"
"Dependencies Resolved"
@@ -1393,12 +1483,12 @@ msgstr ""
"\n"
"Abhängigkeiten aufgelöst"
-#: ../yummain.py:270
+#: ../yummain.py:271
msgid "Complete!"
msgstr "Komplett!"
# Ist eine ziemlich unschöne Übersetzung...Vorschläge? Fabian
-#: ../yummain.py:325
+#: ../yummain.py:318
msgid ""
"\n"
"\n"
@@ -1408,201 +1498,201 @@ msgstr ""
"\n"
"Verlasse nach Abbruch durch den Benutzer."
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:83
msgid "doTsSetup() will go away in a future version of Yum.\n"
msgstr "doTsSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:98
msgid "Setting up TransactionSets before config class is up"
msgstr "Konfiguriere TransactionSets, bevor die Konfigurationsklasse gestartet ist"
-#: ../yum/depsolve.py:150
+#: ../yum/depsolve.py:149
#, python-format
msgid "Invalid tsflag in config file: %s"
msgstr "Ungültiges tsflag in Konfigurationsdatei: %s"
-#: ../yum/depsolve.py:161
+#: ../yum/depsolve.py:160
#, python-format
msgid "Searching pkgSack for dep: %s"
msgstr "Suche pkgSack für Abhängigkeiten: %s"
-#: ../yum/depsolve.py:184
+#: ../yum/depsolve.py:183
#, python-format
msgid "Potential match for %s from %s"
msgstr "Potentielle Übereinstimmung für %s von %s"
-#: ../yum/depsolve.py:192
+#: ../yum/depsolve.py:191
#, python-format
msgid "Matched %s to require for %s"
msgstr "Übereinstimmung von %s, welche gebraucht wird für %s"
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:232
#, python-format
msgid "Member: %s"
msgstr "Mitglied: %s"
-#: ../yum/depsolve.py:247
-#: ../yum/depsolve.py:738
+#: ../yum/depsolve.py:246
+#: ../yum/depsolve.py:759
#, python-format
msgid "%s converted to install"
msgstr "%s konvertiert zum Installieren"
-#: ../yum/depsolve.py:254
+#: ../yum/depsolve.py:253
#, python-format
msgid "Adding Package %s in mode %s"
msgstr "Füge Paket %s hinzu in Modus %s"
-#: ../yum/depsolve.py:264
+#: ../yum/depsolve.py:263
#, python-format
msgid "Removing Package %s"
msgstr "Entferne Paket %s"
-#: ../yum/depsolve.py:275
+#: ../yum/depsolve.py:285
#, python-format
msgid "%s requires: %s"
msgstr "%s benötigt: %s"
-#: ../yum/depsolve.py:333
+#: ../yum/depsolve.py:343
msgid "Needed Require has already been looked up, cheating"
msgstr "Benötigte Anforderung wurde bereits nachgeschlagen, betrüge"
-#: ../yum/depsolve.py:343
+#: ../yum/depsolve.py:353
#, python-format
msgid "Needed Require is not a package name. Looking up: %s"
msgstr "Benötigte Anforderung ist kein Paket-Name. Schlage nach: %s"
-#: ../yum/depsolve.py:350
+#: ../yum/depsolve.py:360
#, python-format
msgid "Potential Provider: %s"
msgstr "Potentieller Anbieter: %s"
-#: ../yum/depsolve.py:373
+#: ../yum/depsolve.py:383
#, python-format
msgid "Mode is %s for provider of %s: %s"
msgstr "Modus ist %s für Anbieter von %s: %s"
-#: ../yum/depsolve.py:377
+#: ../yum/depsolve.py:387
#, python-format
msgid "Mode for pkg providing %s: %s"
msgstr "Modus für pkg-Bereitstellung %s: %s"
-#: ../yum/depsolve.py:381
+#: ../yum/depsolve.py:391
#, python-format
msgid "TSINFO: %s package requiring %s marked as erase"
msgstr "TSINFO: %s Paket benötigt %s, welches als gelöscht markiert ist"
-#: ../yum/depsolve.py:394
+#: ../yum/depsolve.py:404
#, python-format
msgid "TSINFO: Obsoleting %s with %s to resolve dep."
msgstr "TSINFO: Ersetze %s durch %s zum Auflösen der Abhängigkeit."
-#: ../yum/depsolve.py:397
+#: ../yum/depsolve.py:407
#, python-format
msgid "TSINFO: Updating %s to resolve dep."
msgstr "TSINFO: Aktualisiere %s zum Auflösen der Abhängigkeit."
-#: ../yum/depsolve.py:405
+#: ../yum/depsolve.py:415
#, python-format
msgid "Cannot find an update path for dep for: %s"
msgstr "Kann keinen Aktualisierungspfad finden für Abhängigkeit für: %s"
-#: ../yum/depsolve.py:415
+#: ../yum/depsolve.py:425
#, python-format
msgid "Unresolvable requirement %s for %s"
msgstr "Unlösbare Anforderung %s für %s"
-#: ../yum/depsolve.py:438
+#: ../yum/depsolve.py:448
#, python-format
msgid "Quick matched %s to require for %s"
msgstr "Übereinstimmung von %s, welche gebraucht wird für %s"
#. is it already installed?
-#: ../yum/depsolve.py:480
+#: ../yum/depsolve.py:490
#, python-format
msgid "%s is in providing packages but it is already installed, removing."
msgstr "%s ist in einem bereitgestellten Paket, aber bereits installiert, entferne."
-#: ../yum/depsolve.py:496
+#: ../yum/depsolve.py:506
#, python-format
msgid "Potential resolving package %s has newer instance in ts."
msgstr "Potentielles aufgelöstes Paket %s hat eine neuere Instanz in ts."
-#: ../yum/depsolve.py:507
+#: ../yum/depsolve.py:517
#, python-format
msgid "Potential resolving package %s has newer instance installed."
msgstr "Potentielles aufgelöste Paket %s hat eine neuere Instanz installiert."
-#: ../yum/depsolve.py:515
-#: ../yum/depsolve.py:564
+#: ../yum/depsolve.py:525
+#: ../yum/depsolve.py:574
#, python-format
msgid "Missing Dependency: %s is needed by package %s"
msgstr "Fehlende Abhängigkeit: %s wird benötigt von Paket %s"
-#: ../yum/depsolve.py:528
+#: ../yum/depsolve.py:538
#, python-format
msgid "%s already in ts, skipping this one"
msgstr "%s bereits in ts, überspringe dieses"
-#: ../yum/depsolve.py:574
+#: ../yum/depsolve.py:584
#, python-format
msgid "TSINFO: Marking %s as update for %s"
msgstr "TSINFO: Markiere %s als Aktualisierung für %s"
-#: ../yum/depsolve.py:582
+#: ../yum/depsolve.py:592
#, python-format
msgid "TSINFO: Marking %s as install for %s"
msgstr "TSINFO: Markiere %s als Installation für %s"
-#: ../yum/depsolve.py:675
-#: ../yum/depsolve.py:756
+#: ../yum/depsolve.py:695
+#: ../yum/depsolve.py:777
msgid "Success - empty transaction"
msgstr "Erfolg - Leere Transaktion"
-#: ../yum/depsolve.py:713
-#: ../yum/depsolve.py:728
+#: ../yum/depsolve.py:734
+#: ../yum/depsolve.py:749
msgid "Restarting Loop"
msgstr "Starte Schleife neu"
-#: ../yum/depsolve.py:744
+#: ../yum/depsolve.py:765
msgid "Dependency Process ending"
msgstr "Abhängigkeitsverarbeitung beendet"
-#: ../yum/depsolve.py:750
+#: ../yum/depsolve.py:771
#, python-format
msgid "%s from %s has depsolving problems"
msgstr "%s von %s hat Abhängigkeitsauflöse-Probleme"
-#: ../yum/depsolve.py:757
+#: ../yum/depsolve.py:778
msgid "Success - deps resolved"
msgstr "Erfolg - Abhängigkeiten aufgelöst"
-#: ../yum/depsolve.py:771
+#: ../yum/depsolve.py:792
#, python-format
msgid "Checking deps for %s"
msgstr "Prüfe Abhängigkeiten für %s"
-#: ../yum/depsolve.py:854
+#: ../yum/depsolve.py:875
#, python-format
msgid "looking for %s as a requirement of %s"
msgstr "Suche nach %s als eine Anforderung von %s"
-#: ../yum/depsolve.py:996
+#: ../yum/depsolve.py:1017
#, python-format
msgid "Running compare_providers() for %s"
msgstr "Führe compare_providers() aus für %s"
-#: ../yum/depsolve.py:1024
-#: ../yum/depsolve.py:1030
+#: ../yum/depsolve.py:1051
+#: ../yum/depsolve.py:1057
#, python-format
msgid "better arch in po %s"
msgstr "bessere Architektur in po %s"
-#: ../yum/depsolve.py:1091
+#: ../yum/depsolve.py:1132
#, python-format
msgid "%s obsoletes %s"
msgstr "%s ersetzt %s"
-#: ../yum/depsolve.py:1107
+#: ../yum/depsolve.py:1144
#, python-format
msgid ""
"archdist compared %s to %s on %s\n"
@@ -1611,116 +1701,120 @@ msgstr ""
"archdist verglichen %s zu %s auf %s\n"
" Gewinner: %s"
-#: ../yum/depsolve.py:1114
+#: ../yum/depsolve.py:1151
#, python-format
msgid "common sourcerpm %s and %s"
msgstr "Gemeinsames Quellen-RPM %s und %s"
-#: ../yum/depsolve.py:1120
+#: ../yum/depsolve.py:1157
#, python-format
msgid "common prefix of %s between %s and %s"
msgstr "Gemeinsamer Prefix von %s zwischen %s und %s"
# Hat jemand eine Idee für eine bessere Übersetzung? Fabian
-#: ../yum/depsolve.py:1128
+#: ../yum/depsolve.py:1165
#, python-format
msgid "Best Order: %s"
msgstr "Beste Bestellung: %s"
-#: ../yum/__init__.py:176
+#: ../yum/__init__.py:180
msgid "doConfigSetup() will go away in a future version of Yum.\n"
msgstr "doConfigSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
-#. FIXME: Use critical? or exception?
-#: ../yum/__init__.py:386
+#: ../yum/__init__.py:401
#, python-format
msgid "Repository %r is missing name in configuration, using id"
msgstr "Bei Repository %r fehlt der Name in der Konfiguration, benutze id"
-#: ../yum/__init__.py:424
+#: ../yum/__init__.py:439
msgid "plugins already initialised"
msgstr "Plugins bereits initialisiert"
-#: ../yum/__init__.py:431
+#: ../yum/__init__.py:446
msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
msgstr "doRpmDBSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
-#: ../yum/__init__.py:441
+#: ../yum/__init__.py:457
msgid "Reading Local RPMDB"
msgstr "Lese lokale RPMDB"
-#: ../yum/__init__.py:459
+#: ../yum/__init__.py:478
msgid "doRepoSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
-#: ../yum/__init__.py:479
+#: ../yum/__init__.py:498
msgid "doSackSetup() will go away in a future version of Yum.\n"
msgstr "doSackSetup() wird in zukünftigen Versionen von Yum verschwinden \n"
-#: ../yum/__init__.py:496
+#: ../yum/__init__.py:528
msgid "Setting up Package Sacks"
msgstr "Einrichten des Paket-Behälters"
-#: ../yum/__init__.py:539
+#: ../yum/__init__.py:573
#, python-format
msgid "repo object for repo %s lacks a _resetSack method\n"
msgstr "Repository-Objekt für Repository %s fehlt eine _resetSack-Methode\n"
-#: ../yum/__init__.py:540
+#: ../yum/__init__.py:574
msgid "therefore this repo cannot be reset.\n"
msgstr "deshalb kann dieses Repository nicht zurückgesetzt werden.\n"
-#: ../yum/__init__.py:545
+#: ../yum/__init__.py:579
msgid "doUpdateSetup() will go away in a future version of Yum.\n"
msgstr "doUpdateSetup() wird in zukünftigen Versionen von Yum verschwinden.\n"
-#: ../yum/__init__.py:557
+#: ../yum/__init__.py:591
msgid "Building updates object"
msgstr "Baue Aktualisierungsobjekt"
-#: ../yum/__init__.py:588
+#: ../yum/__init__.py:626
msgid "doGroupSetup() will go away in a future version of Yum.\n"
msgstr "doGroupSetup() wird in zukünftigen Versionen von Yum verschwinden .\n"
-#: ../yum/__init__.py:612
+#: ../yum/__init__.py:651
msgid "Getting group metadata"
msgstr "Beziehe Gruppen-Metadaten"
-#: ../yum/__init__.py:637
+#: ../yum/__init__.py:677
#, python-format
msgid "Adding group file from repository: %s"
msgstr "Füge Gruppen-Datei von Repository hinzu: %s"
-#: ../yum/__init__.py:642
+#: ../yum/__init__.py:686
#, python-format
msgid "Failed to add groups file for repository: %s - %s"
msgstr "Hinzufügen von Gruppen-Datei für Repository fehlgeschlagen: %s - %s"
-#: ../yum/__init__.py:648
+#: ../yum/__init__.py:692
msgid "No Groups Available in any repository"
msgstr "Keine Gruppen in irgendeinem Repository verfügbar"
-#: ../yum/__init__.py:698
+#: ../yum/__init__.py:742
msgid "Importing additional filelist information"
msgstr "Importiere zusätzlichen Dateilisten-Informationen"
-#: ../yum/__init__.py:706
+#: ../yum/__init__.py:756
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "Das Programm %s%s%s wurde in im yum-utils-Paket gefunden."
+
+#: ../yum/__init__.py:764
msgid "There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them."
msgstr "Es gibt noch nicht abgeschlossene Transaktionen. Sie sollten in Betracht ziehen, zuerst yum-complete-transaction auszuführen, um diese abzuschliessen."
# Ob da die Übersetzung den Punkt trifft...Fabian
-#: ../yum/__init__.py:772
+#: ../yum/__init__.py:832
#, python-format
msgid "Skip-broken round %i"
msgstr "Überspringe defekte Runde %i"
# Ob da die Übersetzung den Punkt trifft...Fabian
-#: ../yum/__init__.py:824
+#: ../yum/__init__.py:884
#, python-format
msgid "Skip-broken took %i rounds "
msgstr "Überspringen der defekte brachte %i Runden"
-#: ../yum/__init__.py:825
+#: ../yum/__init__.py:885
msgid ""
"\n"
"Packages skipped because of dependency problems:"
@@ -1728,90 +1822,70 @@ msgstr ""
"\n"
"Pakete übersprungen wegen Abhängigkeitsproblemen:"
-#: ../yum/__init__.py:829
+#: ../yum/__init__.py:889
#, python-format
msgid " %s from %s"
msgstr " %s von %s"
-#: ../yum/__init__.py:968
+#: ../yum/__init__.py:1027
msgid "Warning: scriptlet or other non-fatal errors occurred during transaction."
msgstr "Warnung: Es sind Scriptlet- oder andere nicht-fatale Fehler bei der Verarbeitung aufgetreten."
-#: ../yum/__init__.py:983
+#: ../yum/__init__.py:1042
#, python-format
msgid "Failed to remove transaction file %s"
msgstr "Entfernen der Verarbeitungsdatei %s fehlgeschlagen"
-# verstehe ich nicht ganz, was gemeint ist. Fabian
-#: ../yum/__init__.py:1025
-#, python-format
-msgid "excluding for cost: %s from %s"
-msgstr "Ausschluss für Aufwand: %s von %s"
-
-#: ../yum/__init__.py:1056
-msgid "Excluding Packages in global exclude list"
-msgstr "Schliesse Pakete, die in der globalen Ausschlussliste sind, aus"
-
-#: ../yum/__init__.py:1058
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1071
#, python-format
-msgid "Excluding Packages from %s"
-msgstr "Schliesse Pakete von %s aus"
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s hätte installiert werden sollen, wurde aber nicht!"
-#: ../yum/__init__.py:1085
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1110
#, python-format
-msgid "Reducing %s to included packages only"
-msgstr "Reduziere %s auf einbezogene Pakete"
-
-#: ../yum/__init__.py:1091
-#, python-format
-msgid "Keeping included package %s"
-msgstr "Behalte integriertes Paket %s"
-
-#: ../yum/__init__.py:1097
-#, python-format
-msgid "Removing unmatched package %s"
-msgstr "Entferne nicht übereinstimmendes Paket %s"
-
-#: ../yum/__init__.py:1100
-msgid "Finished"
-msgstr "Abgeschlossen"
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s hätte entfernt werden sollen, wurde aber nicht!"
#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1130
+#: ../yum/__init__.py:1226
#, python-format
msgid "Unable to check if PID %s is active"
msgstr "Unfähig zu prüfen, ob PID %s ist aktiv"
#. Another copy seems to be running.
-#: ../yum/__init__.py:1134
+#: ../yum/__init__.py:1230
#, python-format
msgid "Existing lock %s: another copy is running as pid %s."
msgstr "Existierende Blockierung %s: eine andere Kopie läuft mit PID %s."
-#: ../yum/__init__.py:1204
+#: ../yum/__init__.py:1307
msgid "Package does not match intended download"
msgstr "Paket stimmt nicht mit dem vorgesehenen Herunterladen überein."
-#: ../yum/__init__.py:1219
+#: ../yum/__init__.py:1322
msgid "Could not perform checksum"
msgstr "Konnte Prüfsumme nicht bilden"
-#: ../yum/__init__.py:1222
+#: ../yum/__init__.py:1325
msgid "Package does not match checksum"
msgstr "Paket stimmt nicht mit der Prüfsumme überein"
-#: ../yum/__init__.py:1265
+#: ../yum/__init__.py:1367
#, python-format
msgid "package fails checksum but caching is enabled for %s"
msgstr "Paket bei Prüfsummen-Prüfung durchgefallen, aber Zwischenspeicherung ist aktiviert für %s"
-#: ../yum/__init__.py:1268
-#: ../yum/__init__.py:1297
+#: ../yum/__init__.py:1370
+#: ../yum/__init__.py:1399
#, python-format
msgid "using local copy of %s"
msgstr "benutze lokale Kopie von %s"
-#: ../yum/__init__.py:1309
+#: ../yum/__init__.py:1411
#, python-format
msgid ""
"Insufficient space in download directory %s\n"
@@ -1822,326 +1896,363 @@ msgstr ""
" * frei %s\n"
" * benötigt %s"
-#: ../yum/__init__.py:1356
+#: ../yum/__init__.py:1460
msgid "Header is not complete."
msgstr "Header ist nicht vollständig."
-#: ../yum/__init__.py:1393
+#: ../yum/__init__.py:1497
#, python-format
msgid "Header not in local cache and caching-only mode enabled. Cannot download %s"
msgstr "Header ist nicht im lokalen Zwischenspeicher und Nur-Zwischenspeicher-Modus aktiviert. Kann %s nicht herunterladen"
-#: ../yum/__init__.py:1448
+#: ../yum/__init__.py:1552
#, python-format
msgid "Public key for %s is not installed"
msgstr "Öffentlicher Schlüssel für %s ist nicht installiert"
-#: ../yum/__init__.py:1452
+#: ../yum/__init__.py:1556
#, python-format
msgid "Problem opening package %s"
msgstr "Problem beim Öffnen des Paketes %s"
-#: ../yum/__init__.py:1460
+#: ../yum/__init__.py:1564
#, python-format
msgid "Public key for %s is not trusted"
msgstr "Öffentlicher Schlüssel für %s ist nicht vertrauenswürdig"
-#: ../yum/__init__.py:1464
+#: ../yum/__init__.py:1568
#, python-format
msgid "Package %s is not signed"
msgstr "Paket %s ist nicht unterschrieben"
-#: ../yum/__init__.py:1502
+#: ../yum/__init__.py:1606
#, python-format
msgid "Cannot remove %s"
msgstr "Kann %s nicht entfernen"
-#: ../yum/__init__.py:1505
+#: ../yum/__init__.py:1610
#, python-format
msgid "%s removed"
msgstr "%s entfernt"
-#: ../yum/__init__.py:1541
+#: ../yum/__init__.py:1646
#, python-format
msgid "Cannot remove %s file %s"
msgstr "Kann %s Datei nicht entfernen %s"
-#: ../yum/__init__.py:1544
+#: ../yum/__init__.py:1650
#, python-format
msgid "%s file %s removed"
msgstr "%s Datei %s entfernt"
-#: ../yum/__init__.py:1546
+#: ../yum/__init__.py:1652
#, python-format
msgid "%d %s files removed"
msgstr "%d %s Dateien entfernt"
-#: ../yum/__init__.py:1614
+#: ../yum/__init__.py:1721
#, python-format
msgid "More than one identical match in sack for %s"
msgstr "Mehr als eine identische Übereinstimmung im Behälter für %s"
-#: ../yum/__init__.py:1619
+#: ../yum/__init__.py:1727
#, python-format
msgid "Nothing matches %s.%s %s:%s-%s from update"
msgstr "Keine Übereinstimmungen mit %s.%s %s:%s-%s bei der Aktualisierung"
-#: ../yum/__init__.py:1838
+#: ../yum/__init__.py:1960
msgid "searchPackages() will go away in a future version of Yum. Use searchGenerator() instead. \n"
msgstr "searchPackages() wird in zukünftigen Versionen von Yum verschwinden. Benutze stattdessen searchGenerator(). \n"
-#: ../yum/__init__.py:1876
+#: ../yum/__init__.py:2002
#, python-format
msgid "Searching %d packages"
msgstr "Suche %d Pakete"
-#: ../yum/__init__.py:1879
+#: ../yum/__init__.py:2006
#, python-format
msgid "searching package %s"
msgstr "Suche Paket %s"
-#: ../yum/__init__.py:1890
+#: ../yum/__init__.py:2018
msgid "searching in file entries"
msgstr "Suche in Datei-Einträgen"
-#: ../yum/__init__.py:1896
+#: ../yum/__init__.py:2025
msgid "searching in provides entries"
msgstr "suche in bereitgestellten Einträgen"
-#: ../yum/__init__.py:1929
+#: ../yum/__init__.py:2058
#, python-format
msgid "Provides-match: %s"
msgstr "Stelle Übereinstimmung bereit: %s"
-#: ../yum/__init__.py:1978
+#: ../yum/__init__.py:2107
msgid "No group data available for configured repositories"
msgstr "Keine Gruppendaten für konfigurierte Repositories verfügbar"
-#: ../yum/__init__.py:2009
-#: ../yum/__init__.py:2028
-#: ../yum/__init__.py:2058
-#: ../yum/__init__.py:2064
-#: ../yum/__init__.py:2143
-#: ../yum/__init__.py:2147
+#: ../yum/__init__.py:2138
+#: ../yum/__init__.py:2157
+#: ../yum/__init__.py:2188
+#: ../yum/__init__.py:2194
+#: ../yum/__init__.py:2273
+#: ../yum/__init__.py:2277
+#: ../yum/__init__.py:2582
#, python-format
msgid "No Group named %s exists"
msgstr "Kein Gruppe mit dem Namen %s vorhanden"
-#: ../yum/__init__.py:2039
-#: ../yum/__init__.py:2159
+#: ../yum/__init__.py:2169
+#: ../yum/__init__.py:2290
#, python-format
msgid "package %s was not marked in group %s"
msgstr "Paket %s war nicht markiert in Gruppe %s"
-#: ../yum/__init__.py:2085
+#: ../yum/__init__.py:2216
#, python-format
msgid "Adding package %s from group %s"
msgstr "Füge Paket %s aus Gruppe %s hinzu"
-#: ../yum/__init__.py:2090
+#: ../yum/__init__.py:2220
#, python-format
msgid "No package named %s available to be installed"
msgstr "Kein Paket mit Namen %s verfügbar zum Installieren"
# Paket-Behälter wird sicher nicht allen gefallen. Fabian
-#: ../yum/__init__.py:2186
+#: ../yum/__init__.py:2317
#, python-format
msgid "Package tuple %s could not be found in packagesack"
msgstr "Paket-Tupel %s kann nicht gefunden werden im Paket-Behälter"
-#: ../yum/__init__.py:2201
+#: ../yum/__init__.py:2331
msgid "getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
msgstr "getInstalledPackageObject() wird verschwinden, benutze self.rpmdb.searchPkgTuple().\n"
-#: ../yum/__init__.py:2253
-#: ../yum/__init__.py:2294
+#: ../yum/__init__.py:2387
+#: ../yum/__init__.py:2432
msgid "Invalid version flag"
msgstr "Ungültiges Versionsflag"
-#: ../yum/__init__.py:2268
-#: ../yum/__init__.py:2272
+#: ../yum/__init__.py:2402
+#: ../yum/__init__.py:2407
#, python-format
msgid "No Package found for %s"
msgstr "Kein Paket gefunden für %s"
-#: ../yum/__init__.py:2449
+#: ../yum/__init__.py:2615
msgid "Package Object was not a package object instance"
msgstr "Paketobjekt war keine Paketobjektinstanz"
-#: ../yum/__init__.py:2453
+#: ../yum/__init__.py:2619
msgid "Nothing specified to install"
msgstr "Nichts angegeben zum Installieren"
-#: ../yum/__init__.py:2469
+#: ../yum/__init__.py:2635
+#: ../yum/__init__.py:3374
#, python-format
msgid "Checking for virtual provide or file-provide for %s"
msgstr "Überprüfe nach virtueller Bereitstellung oder Datei-Bereitstellung für %s"
-#: ../yum/__init__.py:2475
-#: ../yum/__init__.py:2740
-#: ../yum/__init__.py:2900
+#: ../yum/__init__.py:2641
+#: ../yum/__init__.py:2937
+#: ../yum/__init__.py:3104
+#: ../yum/__init__.py:3380
#, python-format
msgid "No Match for argument: %s"
msgstr "Kein Übereinstimmung für Argument: %s"
-#: ../yum/__init__.py:2548
+#: ../yum/__init__.py:2715
#, python-format
msgid "Package %s installed and not available"
msgstr "Paket %s installiert und nicht verfügbar"
-#: ../yum/__init__.py:2551
+#: ../yum/__init__.py:2718
msgid "No package(s) available to install"
msgstr "Kein(e) Paket(e) zum Installieren verfügbar."
-#: ../yum/__init__.py:2564
+#: ../yum/__init__.py:2730
#, python-format
msgid "Package: %s - already in transaction set"
msgstr "Paket: %s - bereits im Transaktionsset"
-#: ../yum/__init__.py:2580
+#: ../yum/__init__.py:2756
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "Paket %s wurde ersetzt durch %s, welches bereits installiert ist"
+
+#: ../yum/__init__.py:2759
#, python-format
msgid "Package %s is obsoleted by %s, trying to install %s instead"
msgstr "Paket %s wurde ersetzt durch %s, versuche stattdessen %s zu installieren."
-#: ../yum/__init__.py:2588
+#: ../yum/__init__.py:2767
#, python-format
msgid "Package %s already installed and latest version"
msgstr "Paket %s ist bereits in der neusten Version installiert."
-#: ../yum/__init__.py:2595
+#: ../yum/__init__.py:2781
#, python-format
msgid "Package matching %s already installed. Checking for update."
msgstr "Paket, das auf %s passt, ist bereits installiert. Überprüfe auf Aktualisierung."
#. update everything (the easy case)
-#: ../yum/__init__.py:2675
+#: ../yum/__init__.py:2870
msgid "Updating Everything"
msgstr "Aktualisiere alles"
-#: ../yum/__init__.py:2693
-#: ../yum/__init__.py:2802
-#: ../yum/__init__.py:2823
-#: ../yum/__init__.py:2849
+#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3031
+#: ../yum/__init__.py:3058
#, python-format
msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
msgstr "Aktualisiere Paket nicht, da es bereits veraltet ist: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2728
-#: ../yum/__init__.py:2897
+#: ../yum/__init__.py:2926
+#: ../yum/__init__.py:3101
#, python-format
msgid "%s"
msgstr "%s"
-#: ../yum/__init__.py:2793
+#: ../yum/__init__.py:2993
#, python-format
msgid "Package is already obsoleted: %s.%s %s:%s-%s"
msgstr "Paket ist bereits veraltet: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2826
-#: ../yum/__init__.py:2852
+#: ../yum/__init__.py:3026
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Aktualisiere Paket nicht, da es bereits veraltet ist: %s"
+
+#: ../yum/__init__.py:3035
+#: ../yum/__init__.py:3062
#, python-format
msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
msgstr "Aktualisiere Paket nicht, da es bereits aktualisiert ist: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2913
+#: ../yum/__init__.py:3117
msgid "No package matched to remove"
msgstr "Kein Paket stimmt zum Entfernen überein"
-#: ../yum/__init__.py:2947
+#: ../yum/__init__.py:3151
+#: ../yum/__init__.py:3242
+#: ../yum/__init__.py:3329
#, python-format
msgid "Cannot open file: %s. Skipping."
msgstr "Kann Datei nicht öffnen: %s. Überspringe."
-#: ../yum/__init__.py:2949
+#: ../yum/__init__.py:3154
+#: ../yum/__init__.py:3245
+#: ../yum/__init__.py:3332
#, python-format
msgid "Examining %s: %s"
msgstr "Untersuche %s: %s"
-#: ../yum/__init__.py:2957
+#: ../yum/__init__.py:3162
+#: ../yum/__init__.py:3248
+#: ../yum/__init__.py:3335
#, python-format
msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
msgstr "Kann Paket %s nicht zur Transaktion hinzufügen. Keine kompatible Architektur: %s"
-#: ../yum/__init__.py:2965
+#: ../yum/__init__.py:3170
#, python-format
msgid "Package %s not installed, cannot update it. Run yum install to install it instead."
msgstr "Paket %s nicht installiert, kann es nicht aktualisieren. Führen Sie stattdessen yum install aus, um es zu installieren."
-#: ../yum/__init__.py:2998
+#: ../yum/__init__.py:3205
+#: ../yum/__init__.py:3259
+#: ../yum/__init__.py:3346
#, python-format
msgid "Excluding %s"
msgstr "Schliesse %s aus"
-#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3210
#, python-format
msgid "Marking %s to be installed"
msgstr "Markiere %s zum Installieren"
-#: ../yum/__init__.py:3007
+#: ../yum/__init__.py:3216
#, python-format
msgid "Marking %s as an update to %s"
msgstr "Markiere %s als eine Aktualisierung für %s"
-#: ../yum/__init__.py:3012
+#: ../yum/__init__.py:3223
#, python-format
msgid "%s: does not update installed package."
msgstr "%s: aktualisiert installierte Pakete nicht."
-#: ../yum/__init__.py:3029
+#: ../yum/__init__.py:3278
msgid "Problem in reinstall: no package matched to remove"
msgstr "Probleme beim Neuinstallieren: kein Paket stimmt zum Entfernen überein"
-#: ../yum/__init__.py:3040
+#: ../yum/__init__.py:3290
+#: ../yum/__init__.py:3407
#, python-format
msgid "Package %s is allowed multiple installs, skipping"
msgstr "Paket %s darf mehrfach installiert sein, überspringe"
-#: ../yum/__init__.py:3050
-msgid "Problem in reinstall: no package matched to install"
-msgstr "Probleme beim Neuinstallieren: kein Paket stimmt zum Installieren überein"
+#: ../yum/__init__.py:3308
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Probleme beim Neuinstallieren: kein Paket %s stimmt zum Installieren überein"
-#: ../yum/__init__.py:3085
+#: ../yum/__init__.py:3399
+msgid "No package(s) available to downgrade"
+msgstr "Kein(e) Paket(e) zum Downgrade verfügbar"
+
+#: ../yum/__init__.py:3443
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Keine Übereinstimmung der verfügbare Pakete: %s"
+
+#: ../yum/__init__.py:3449
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Nur verfügbare Paket aktualisieren: %s"
+
+#: ../yum/__init__.py:3508
#, python-format
msgid "Retrieving GPG key from %s"
msgstr "GPG-Schlüssel abrufen von %s"
-#: ../yum/__init__.py:3105
+#: ../yum/__init__.py:3528
msgid "GPG key retrieval failed: "
msgstr "GPG-Schlüssel-Abruf fehlgeschlagen:"
-#: ../yum/__init__.py:3116
+#: ../yum/__init__.py:3539
#, python-format
msgid "GPG key parsing failed: key does not have value %s"
msgstr "GPG-Schlüssel-Analyse fehlgeschlagen: Schlüssel hat keinen Wert %s"
-#: ../yum/__init__.py:3148
+#: ../yum/__init__.py:3571
#, python-format
msgid "GPG key at %s (0x%s) is already installed"
msgstr "GPG-Schlüssel unter %s (0x%s) ist bereits installiert"
#. Try installing/updating GPG key
-#: ../yum/__init__.py:3153
-#: ../yum/__init__.py:3214
+#: ../yum/__init__.py:3576
+#: ../yum/__init__.py:3638
#, python-format
msgid "Importing GPG key 0x%s \"%s\" from %s"
msgstr "Importiere GPG-Schlüssel 0x%s \"%s\" von %s"
-#: ../yum/__init__.py:3169
+#: ../yum/__init__.py:3593
msgid "Not installing key"
msgstr "Nicht installierter Schlüssel"
-#: ../yum/__init__.py:3175
+#: ../yum/__init__.py:3599
#, python-format
msgid "Key import failed (code %d)"
msgstr "Schlüssel-Import fehlgeschlagen (Code %d)"
-#: ../yum/__init__.py:3176
-#: ../yum/__init__.py:3236
+#: ../yum/__init__.py:3600
+#: ../yum/__init__.py:3659
msgid "Key imported successfully"
msgstr "Schlüssel erfolgreich importiert"
-#: ../yum/__init__.py:3181
-#: ../yum/__init__.py:3241
+#: ../yum/__init__.py:3605
+#: ../yum/__init__.py:3664
#, python-format
msgid ""
"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
@@ -2150,96 +2261,96 @@ msgstr ""
"Die aufgelisteten GPG-Schlüssel für das \"%s\"-Repository sind bereits installiert, aber sie sind nicht korrekt für dieses Paket.\n"
"Stellen Sie sicher, dass die korrekten Schlüssel-URLs für dieses Repository konfiguriert sind."
-#: ../yum/__init__.py:3190
+#: ../yum/__init__.py:3614
msgid "Import of key(s) didn't help, wrong key(s)?"
msgstr "Importieren der Schlüssel hat nicht geholfen, falsche Schlüssel?"
-#: ../yum/__init__.py:3209
+#: ../yum/__init__.py:3633
#, python-format
msgid "GPG key at %s (0x%s) is already imported"
msgstr "GPG-Schlüssel unter %s (0x%s) ist bereits importiert"
-#: ../yum/__init__.py:3228
+#: ../yum/__init__.py:3653
#, python-format
msgid "Not installing key for repo %s"
msgstr "Installierte Schlüssel für Repo %s nicht"
-#: ../yum/__init__.py:3235
+#: ../yum/__init__.py:3658
msgid "Key import failed"
msgstr "Schlüssel-Import fehlgeschlagen"
-#: ../yum/__init__.py:3325
+#: ../yum/__init__.py:3779
msgid "Unable to find a suitable mirror."
msgstr "Es kann kein geeigneten Spiegelserver gefunden werden."
-#: ../yum/__init__.py:3327
+#: ../yum/__init__.py:3781
msgid "Errors were encountered while downloading packages."
msgstr "Beim Herunterladen der Pakete sind Fehler aufgetreten."
-#: ../yum/__init__.py:3367
+#: ../yum/__init__.py:3822
#, python-format
msgid "Please report this error at %s"
msgstr "Bitte melden Sie diesen Fehler unter %s"
-#: ../yum/__init__.py:3391
+#: ../yum/__init__.py:3846
msgid "Test Transaction Errors: "
msgstr "Test-Transaktionsfehler: "
#. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:204
+#: ../yum/plugins.py:202
msgid "Loaded plugins: "
msgstr "Geladene Plugins: "
-#: ../yum/plugins.py:218
-#: ../yum/plugins.py:224
+#: ../yum/plugins.py:216
+#: ../yum/plugins.py:222
#, python-format
msgid "No plugin match for: %s"
msgstr "Kein Plugin für Argument: %s"
-#: ../yum/plugins.py:254
+#: ../yum/plugins.py:252
#, python-format
msgid "Not loading \"%s\" plugin, as it is disabled"
msgstr "\"%s\"-Plugin ist deaktiviert"
#. Give full backtrace:
-#: ../yum/plugins.py:266
+#: ../yum/plugins.py:264
#, python-format
msgid "Plugin \"%s\" can't be imported"
msgstr "Plugin \"%s\" kann nicht importiert werden"
-#: ../yum/plugins.py:273
+#: ../yum/plugins.py:271
#, python-format
msgid "Plugin \"%s\" doesn't specify required API version"
msgstr "Plugin \"%s\" gibt keine benötigte API-Version an"
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:276
#, python-format
msgid "Plugin \"%s\" requires API %s. Supported API is %s."
msgstr "Plugin \"%s\" benötigt API %s. Unterstützte API ist %s."
-#: ../yum/plugins.py:311
+#: ../yum/plugins.py:309
#, python-format
msgid "Loading \"%s\" plugin"
msgstr "Lade \"%s\"-Plugin"
-#: ../yum/plugins.py:318
+#: ../yum/plugins.py:316
#, python-format
msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
msgstr "Zwei oder mehr Plugins mit dem Namen \"%s\" existieren im Plugin-Suchpfad"
-#: ../yum/plugins.py:338
+#: ../yum/plugins.py:336
#, python-format
msgid "Configuration file %s not found"
msgstr "Konfigurationsdatei %s nicht gefunden"
#. for
#. Configuration files for the plugin not found
-#: ../yum/plugins.py:341
+#: ../yum/plugins.py:339
#, python-format
msgid "Unable to find configuration file for plugin %s"
msgstr "Kann Konfigurationsdatei für Plugin %s nicht finden"
-#: ../yum/plugins.py:495
+#: ../yum/plugins.py:497
msgid "registration of commands not supported"
msgstr "Registrierung von Befehlen nicht unterstützt"
@@ -2247,73 +2358,51 @@ msgstr "Registrierung von Befehlen nicht unterstützt"
msgid "Repackaging"
msgstr "Packe neu"
-#: ../rpmUtils/oldUtils.py:26
+#: ../rpmUtils/oldUtils.py:33
#, python-format
msgid "Header cannot be opened or does not match %s, %s."
msgstr "Header kann nicht geöffnet werden oder stimmt nicht überein mit %s, %s."
-#: ../rpmUtils/oldUtils.py:46
+#: ../rpmUtils/oldUtils.py:53
#, python-format
msgid "RPM %s fails md5 check"
msgstr "RPM %s besteht md5-Prüfung nicht"
-#: ../rpmUtils/oldUtils.py:144
+#: ../rpmUtils/oldUtils.py:151
msgid "Could not open RPM database for reading. Perhaps it is already in use?"
msgstr "Kann RPM-Datenbank nicht öffnen. Wird sie eventuell schon benutzt?"
-#: ../rpmUtils/oldUtils.py:174
+#: ../rpmUtils/oldUtils.py:183
msgid "Got an empty Header, something has gone wrong"
msgstr "Erhalte einen leeren Header, irgendetwas ging schief"
-#: ../rpmUtils/oldUtils.py:244
-#: ../rpmUtils/oldUtils.py:251
-#: ../rpmUtils/oldUtils.py:254
-#: ../rpmUtils/oldUtils.py:257
+#: ../rpmUtils/oldUtils.py:253
+#: ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263
+#: ../rpmUtils/oldUtils.py:266
#, python-format
msgid "Damaged Header %s"
msgstr "Defekter Header %s"
-#: ../rpmUtils/oldUtils.py:272
+#: ../rpmUtils/oldUtils.py:281
#, python-format
msgid "Error opening rpm %s - error %s"
msgstr "Fehler bei Öffnen des RPM %s - Fehler %s"
-#~ msgid "Invalid versioned dependency string, try quoting it."
-#~ msgstr ""
-#~ "Ungültig versionierte Abhängigkeitszeichenkette, versuche es zu notieren."
-#~ msgid "Parsing package install arguments"
-#~ msgstr "Analysiere Installationsargumente des Pakets"
-#~ msgid "Could not find update match for %s"
-#~ msgstr "Kann keine Aktualisierungsübereinstimmung finden für %s"
+#~ msgid "Matching packages for package list to user args"
+#~ msgstr "Übereinstimmende Pakete für Paket-Liste nach Benutzer-Argument"
#~ msgid ""
-#~ "Failure finding best provider of %s for %s, exceeded maximum loop length"
+#~ "\n"
+#~ "Transaction Summary\n"
+#~ "%s\n"
+#~ "Install %5.5s Package(s) \n"
+#~ "Update %5.5s Package(s) \n"
+#~ "Remove %5.5s Package(s) \n"
#~ msgstr ""
-#~ "Fehler beim FInden des besten Providers von %s für %s, überschrittene "
-#~ "maximale Schleifenlänge"
-#~ msgid "Comparing best: %s to po: %s"
-#~ msgstr "Vergleiche besseres: %s zu po: %s"
-#~ msgid "Same: best %s == po: %s"
-#~ msgstr "Gleich: besser %s == po: %s"
-#~ msgid "po %s obsoletes best: %s"
-#~ msgstr "po %s veraltetes besser: %s"
-#~ msgid "po %s shares a sourcerpm with %s"
-#~ msgstr "po %s teilen ein Quellen-RPM mit %s"
-#~ msgid "best %s shares a sourcerpm with %s"
-#~ msgstr "besseres %s teilen ein Quellen-RPM mit %s"
-#~ msgid "po %s shares more of the name prefix with %s"
-#~ msgstr "po %s teilt mehr als den Prefixnamen mit %s"
-#~ msgid "po %s has a shorter name than best %s"
-#~ msgstr "po %s hat einen kürzeren Namen als das bessere %s"
-#~ msgid "bestpkg %s shares more of the name prefix with %s"
-#~ msgstr "bestpkg %s teilt mehr als als den Prefixnamen mit %s"
-#~ msgid "Package %s conflicts with %s."
-#~ msgstr "Paket %s kollidiert mit %s."
-#~ msgid "Looking for Obsoletes for %s"
-#~ msgstr "Suche nach veralteten Paketen für %s"
-#~ msgid "TSINFO: Updating %s to resolve conflict."
-#~ msgstr "TSINFO: Aktualisiere %s zum Lösen des Konflikts.."
-#~ msgid "%s conflicts: %s"
-#~ msgstr "%s kollidiert: %s"
-#~ msgid "%s conflicts with %s"
-#~ msgstr "%s kollidiert mit %s"
+#~ "\n"
+#~ "Transaktionszusammenfassung\n"
+#~ "%s\n"
+#~ "Installieren %5.5s Paket(e) \n"
+#~ "Aktualisieren %5.5s Paket(e) \n"
+#~ "Entfernen %5.5s Paket(e) \n"
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..df4008c
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,2395 @@
+# Fedora Spanish translation of yum.yum-3_2_X.
+# This file is distributed under the same license as the yum.yum-3_2_X. package.
+# Héctor Daniel Cabrera <h.daniel.cabrera@gmail.com>, 2009.
+# Domingo Becker <domingobecker@gmail.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Fedora Spanish translation of yum.yum-3_2_X.\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-08-12 08:58+0000\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Héctor Daniel Cabrera <h.daniel.cabrera@gmail.com>\n"
+"Language-Team: Fedora Spanish <fedora-trans-es@redhat.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-Country: ARGENTINA\n"
+
+#: ../callback.py:48
+#: ../output.py:939
+#: ../yum/rpmtrans.py:71
+msgid "Updating"
+msgstr "Actualizando"
+
+#: ../callback.py:49
+#: ../yum/rpmtrans.py:72
+msgid "Erasing"
+msgstr "Eliminando"
+
+#: ../callback.py:50
+#: ../callback.py:51
+#: ../callback.py:53
+#: ../output.py:938
+#: ../yum/rpmtrans.py:73
+#: ../yum/rpmtrans.py:74
+#: ../yum/rpmtrans.py:76
+msgid "Installing"
+msgstr "Instalando"
+
+#: ../callback.py:52
+#: ../callback.py:58
+#: ../yum/rpmtrans.py:75
+msgid "Obsoleted"
+msgstr "Obsoleto"
+
+#: ../callback.py:54
+#: ../output.py:1060
+msgid "Updated"
+msgstr "Actualizado"
+
+#: ../callback.py:55
+msgid "Erased"
+msgstr "Eliminado"
+
+#: ../callback.py:56
+#: ../callback.py:57
+#: ../callback.py:59
+#: ../output.py:1058
+msgid "Installed"
+msgstr "Instalado"
+
+#: ../callback.py:130
+msgid "No header - huh?"
+msgstr "Sin encabezado - ¿ah?"
+
+#: ../callback.py:168
+msgid "Repackage"
+msgstr "Reempaquetar"
+
+#: ../callback.py:189
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "Error: estado de salida no válido: %s de %s"
+
+#: ../callback.py:212
+#, python-format
+msgid "Erased: %s"
+msgstr "Eliminado: %s"
+
+#: ../callback.py:217
+#: ../output.py:940
+msgid "Removing"
+msgstr "Eliminando"
+
+#: ../callback.py:219
+#: ../yum/rpmtrans.py:77
+msgid "Cleanup"
+msgstr "Limpieza"
+
+#: ../cli.py:107
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "El comando \"%s\" ya ha sido definido"
+
+#: ../cli.py:119
+msgid "Setting up repositories"
+msgstr "Configurando los repositorios"
+
+#: ../cli.py:130
+msgid "Reading repository metadata in from local files"
+msgstr "Leyendo en archivos locales los metadatos de los repositorios"
+
+#: ../cli.py:193
+#: ../utils.py:87
+#, python-format
+msgid "Config Error: %s"
+msgstr "Error de configuración: %s"
+
+#: ../cli.py:196
+#: ../cli.py:1253
+#: ../utils.py:90
+#, python-format
+msgid "Options Error: %s"
+msgstr "Error de opciones: %s"
+
+#: ../cli.py:225
+#, python-format
+msgid " Installed: %s-%s at %s"
+msgstr " Instalado: %s-%s en %s"
+
+#: ../cli.py:227
+#, python-format
+msgid " Built : %s at %s"
+msgstr " Construido: %s en %s"
+
+#: ../cli.py:229
+#, python-format
+msgid " Committed: %s at %s"
+msgstr " Enviado: %s en %s"
+
+#: ../cli.py:268
+msgid "You need to give some command"
+msgstr "Necesita ingresar algún comando"
+
+#: ../cli.py:311
+msgid "Disk Requirements:\n"
+msgstr "Requerimientos de disco:\n"
+
+#: ../cli.py:313
+#, python-format
+msgid " At least %dMB needed on the %s filesystem.\n"
+msgstr " Como mínimo se necesitan %dMB en el sistema de archivos %s.\n"
+
+#. TODO: simplify the dependency errors?
+#. Fixup the summary
+#: ../cli.py:318
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr ""
+"Resumen de errores\n"
+"-------------\n"
+
+#: ../cli.py:361
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr "Se intentó ejecutar la transacción pero no hay nada para hacer. Saliendo."
+
+#: ../cli.py:397
+msgid "Exiting on user Command"
+msgstr "Saliendo de acuerdo al comando del usuario"
+
+#: ../cli.py:401
+msgid "Downloading Packages:"
+msgstr "Descargando paquetes:"
+
+#: ../cli.py:406
+msgid "Error Downloading Packages:\n"
+msgstr "Error al descargar los paquetes:\n"
+
+#: ../cli.py:420
+#: ../yum/__init__.py:3820
+msgid "Running rpm_check_debug"
+msgstr "Ejecutando el rpm_check_debug"
+
+#: ../cli.py:429
+#: ../yum/__init__.py:3829
+msgid "ERROR You need to update rpm to handle:"
+msgstr "ERROR Necesita actualizar el rpm para manipular:"
+
+#: ../cli.py:431
+#: ../yum/__init__.py:3832
+msgid "ERROR with rpm_check_debug vs depsolve:"
+msgstr "ERROR con el rpm_check_debug vs depsolve:"
+
+#: ../cli.py:437
+msgid "RPM needs to be updated"
+msgstr "El RPM necesita ser actualizado"
+
+#: ../cli.py:438
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Por favor, reporte este error en %s"
+
+#: ../cli.py:444
+msgid "Running Transaction Test"
+msgstr "Ejecutando prueba de transacción"
+
+#: ../cli.py:460
+msgid "Finished Transaction Test"
+msgstr "Prueba de transacción finalizada"
+
+#: ../cli.py:462
+msgid "Transaction Check Error:\n"
+msgstr "Error en la verificación de la transacción:\n"
+
+#: ../cli.py:469
+msgid "Transaction Test Succeeded"
+msgstr "La prueba de transacción ha sido exitosa"
+
+#: ../cli.py:491
+msgid "Running Transaction"
+msgstr "Ejecutando transacción"
+
+#: ../cli.py:521
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr ""
+"Se rechaza la importación automática de claves cuando se ejecuta desatendida.\n"
+"Utilice \"-y\" para forzar."
+
+#: ../cli.py:540
+#: ../cli.py:574
+msgid " * Maybe you meant: "
+msgstr " * Tal vez quería decir: "
+
+#: ../cli.py:557
+#: ../cli.py:565
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "El (los) paquete(s) %s%s%s se encuentra(n) disponible(s), pero no se ha(n) instalado."
+
+#: ../cli.py:571
+#: ../cli.py:602
+#: ../cli.py:680
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "No existe disponible ningún paquete %s%s%s."
+
+#: ../cli.py:607
+#: ../cli.py:740
+msgid "Package(s) to install"
+msgstr "Paquete(s) a instalarse"
+
+#: ../cli.py:608
+#: ../cli.py:686
+#: ../cli.py:719
+#: ../cli.py:741
+#: ../yumcommands.py:157
+msgid "Nothing to do"
+msgstr "Nada para hacer"
+
+#: ../cli.py:641
+#, python-format
+msgid "%d packages marked for Update"
+msgstr "%d paquetes han sido seleccionados para ser actualizados"
+
+#: ../cli.py:644
+msgid "No Packages marked for Update"
+msgstr "No se han seleccionando paquetes para ser actualizados"
+
+#: ../cli.py:658
+#, python-format
+msgid "%d packages marked for removal"
+msgstr "%d paquetes han sido seleccionados para ser eliminados"
+
+#: ../cli.py:661
+msgid "No Packages marked for removal"
+msgstr "No se han seleccionado paquetes para ser eliminados"
+
+#: ../cli.py:685
+msgid "Package(s) to downgrade"
+msgstr "Paquete(s) a desactualizar"
+
+#: ../cli.py:709
+#, python-format
+msgid " (from %s)"
+msgstr " (desde %s)"
+
+#: ../cli.py:711
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "El paquete instalado %s%s%s%s no se encuentra disponible."
+
+#: ../cli.py:718
+msgid "Package(s) to reinstall"
+msgstr "Paquete(s) a reinstalar"
+
+#: ../cli.py:731
+msgid "No Packages Provided"
+msgstr "No se ha ofrecido ningún paquete"
+
+#: ../cli.py:815
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "Aviso: No se ha encontrado ningún resultado para: %s"
+
+#: ../cli.py:818
+msgid "No Matches found"
+msgstr "No se ha encontrado ningún resultado"
+
+#: ../cli.py:857
+#, python-format
+msgid ""
+"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
+" You can use \"%s*/%s%s\" and/or \"%s*bin/%s%s\" to get that behaviour"
+msgstr ""
+"Aviso: las versiones 3.0.x de yum podrían hacer corresponder equivocadamente los nombres de los archivos.\n"
+" Puede usar \"%s*/%s%s\" y/o \"%s*bin/%s%s\" para conseguir eso"
+
+#: ../cli.py:873
+#, python-format
+msgid "No Package Found for %s"
+msgstr "No se ha encontrado ningún paquete para %s"
+
+#: ../cli.py:885
+msgid "Cleaning up Everything"
+msgstr "Limpiando todo"
+
+#: ../cli.py:899
+msgid "Cleaning up Headers"
+msgstr "Limpiando encabezados"
+
+#: ../cli.py:902
+msgid "Cleaning up Packages"
+msgstr "Limpiando paquetes"
+
+#: ../cli.py:905
+msgid "Cleaning up xml metadata"
+msgstr "Limpiando metadatos xml"
+
+#: ../cli.py:908
+msgid "Cleaning up database cache"
+msgstr "Limpiando el caché de la base de datos"
+
+#: ../cli.py:911
+msgid "Cleaning up expire-cache metadata"
+msgstr "Limpiando metadatos expirados del caché"
+
+#: ../cli.py:914
+msgid "Cleaning up plugins"
+msgstr "Limpiando complementos"
+
+#: ../cli.py:939
+msgid "Installed Groups:"
+msgstr "Grupos instalados:"
+
+#: ../cli.py:951
+msgid "Available Groups:"
+msgstr "Grupos disponibles:"
+
+#: ../cli.py:961
+msgid "Done"
+msgstr "Listo"
+
+#: ../cli.py:972
+#: ../cli.py:990
+#: ../cli.py:996
+#: ../yum/__init__.py:2555
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "Aviso: el grupo %s no existe."
+
+#: ../cli.py:1000
+msgid "No packages in any requested group available to install or update"
+msgstr "En los grupos solicitados no existe disponible ningún paquete para ser instalado o actualizado"
+
+#: ../cli.py:1002
+#, python-format
+msgid "%d Package(s) to Install"
+msgstr "%d paquete(s) a instalar"
+
+#: ../cli.py:1012
+#: ../yum/__init__.py:2567
+#, python-format
+msgid "No group named %s exists"
+msgstr "No existe ningún grupo denominado %s"
+
+#: ../cli.py:1018
+msgid "No packages to remove from groups"
+msgstr "No existen paquetes a eliminarse de los grupos"
+
+#: ../cli.py:1020
+#, python-format
+msgid "%d Package(s) to remove"
+msgstr "%d paquete(s) a eliminar"
+
+#: ../cli.py:1062
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "Ya se encuentra instalado el paquete %s, ignorando"
+
+#: ../cli.py:1073
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr "Descartando paquete no comparable %s.%s"
+
+#. we've not got any installed that match n or n+a
+#: ../cli.py:1099
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr "No existe instalado otro %s, agregando a la lista para instalación posible"
+
+#: ../cli.py:1119
+msgid "Plugin Options"
+msgstr "Opciones de complementos"
+
+#: ../cli.py:1127
+#, python-format
+msgid "Command line error: %s"
+msgstr "Error en la línea de comando: %s"
+
+#: ../cli.py:1140
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr ""
+"\n"
+"\n"
+"%s: la opción %s necesita un argumento"
+
+#: ../cli.py:1193
+msgid "--color takes one of: auto, always, never"
+msgstr "--color acepta una de las siguientes opciones: auto, always, never"
+
+#: ../cli.py:1300
+msgid "show this help message and exit"
+msgstr "muestra este mensaje de ayuda y cierra"
+
+#: ../cli.py:1304
+msgid "be tolerant of errors"
+msgstr "sea tolerante con los errores"
+
+#: ../cli.py:1306
+msgid "run entirely from cache, don't update cache"
+msgstr "se ejecuta completamente a partir del caché, pero no lo actualiza"
+
+#: ../cli.py:1308
+msgid "config file location"
+msgstr "configurar ubicación de archivo"
+
+#: ../cli.py:1310
+msgid "maximum command wait time"
+msgstr "tiempo máximo de espera del comando"
+
+#: ../cli.py:1312
+msgid "debugging output level"
+msgstr "nivel de depuración de la salida"
+
+#: ../cli.py:1316
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "muestra duplicados en los repositorios, y en los comandos para mostrar/buscar"
+
+#: ../cli.py:1318
+msgid "error output level"
+msgstr "nivel de error de la salida"
+
+#: ../cli.py:1321
+msgid "quiet operation"
+msgstr "operación discreta"
+
+#: ../cli.py:1323
+msgid "verbose operation"
+msgstr "operación detallada"
+
+#: ../cli.py:1325
+msgid "answer yes for all questions"
+msgstr "responde \"si\" a todas las preguntas"
+
+#: ../cli.py:1327
+msgid "show Yum version and exit"
+msgstr "muestra la versión de Yum y finaliza"
+
+#: ../cli.py:1328
+msgid "set install root"
+msgstr "define la raíz de instalación"
+
+#: ../cli.py:1332
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "activa uno o más repositorios (los comodines son permitidos)"
+
+#: ../cli.py:1336
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "desactiva uno o más repositorios (los comodines son permitidos)"
+
+#: ../cli.py:1339
+msgid "exclude package(s) by name or glob"
+msgstr "excluya paquete(s) de acuerdo a su nombre o glob "
+
+#: ../cli.py:1341
+msgid "disable exclude from main, for a repo or for everything"
+msgstr "deshabilita la posibilidad de exclusión desde main, para un repositorio o para todos"
+
+#: ../cli.py:1344
+msgid "enable obsoletes processing during updates"
+msgstr "habilita el proceso de paquetes obsoletos durante las actualizaciones"
+
+#: ../cli.py:1346
+msgid "disable Yum plugins"
+msgstr "deshabilita los complementos de Yum"
+
+#: ../cli.py:1348
+msgid "disable gpg signature checking"
+msgstr "deshabilita la verificación de firmas GPG"
+
+#: ../cli.py:1350
+msgid "disable plugins by name"
+msgstr "deshabilita complementos de acuerdo a su nombre"
+
+#: ../cli.py:1353
+msgid "enable plugins by name"
+msgstr "habilita complementos de acuerdo a su nombre"
+
+#: ../cli.py:1356
+msgid "skip packages with depsolving problems"
+msgstr "ignora paquetes con problemas de resolución de dependencias"
+
+#: ../cli.py:1358
+msgid "control whether color is used"
+msgstr "controla la utilización de colores"
+
+#: ../output.py:303
+msgid "Jan"
+msgstr "Ene"
+
+#: ../output.py:303
+msgid "Feb"
+msgstr "Feb"
+
+#: ../output.py:303
+msgid "Mar"
+msgstr "Mar"
+
+#: ../output.py:303
+msgid "Apr"
+msgstr "Abr"
+
+#: ../output.py:303
+msgid "May"
+msgstr "May"
+
+#: ../output.py:303
+msgid "Jun"
+msgstr "Jun"
+
+#: ../output.py:304
+msgid "Jul"
+msgstr "Jul"
+
+#: ../output.py:304
+msgid "Aug"
+msgstr "Ago"
+
+#: ../output.py:304
+msgid "Sep"
+msgstr "Sep"
+
+#: ../output.py:304
+msgid "Oct"
+msgstr "Oct"
+
+#: ../output.py:304
+msgid "Nov"
+msgstr "Nov"
+
+#: ../output.py:304
+msgid "Dec"
+msgstr "Dic"
+
+#: ../output.py:314
+msgid "Trying other mirror."
+msgstr "Intentando con otro espejo."
+
+#: ../output.py:536
+#, python-format
+msgid "Name : %s%s%s"
+msgstr "Nombre : %s%s%s"
+
+#: ../output.py:537
+#, python-format
+msgid "Arch : %s"
+msgstr "Arquitectura : %s"
+
+#: ../output.py:539
+#, python-format
+msgid "Epoch : %s"
+msgstr "Período : %s"
+
+#: ../output.py:540
+#, python-format
+msgid "Version : %s"
+msgstr "Versión : %s"
+
+#: ../output.py:541
+#, python-format
+msgid "Release : %s"
+msgstr "Lanzamiento : %s"
+
+#: ../output.py:542
+#, python-format
+msgid "Size : %s"
+msgstr "Tamaño : %s"
+
+#: ../output.py:543
+#, python-format
+msgid "Repo : %s"
+msgstr "Repositorio : %s"
+
+#: ../output.py:545
+#, python-format
+msgid "From repo : %s"
+msgstr "Desde el repositorio : %s"
+
+#: ../output.py:547
+#, python-format
+msgid "Committer : %s"
+msgstr "Enviado por : %s"
+
+#: ../output.py:548
+#, python-format
+msgid "Committime : %s"
+msgstr "Horario del envio : %s"
+
+#: ../output.py:549
+#, python-format
+msgid "Buildtime : %s"
+msgstr "Horario de la construcción : %s"
+
+#: ../output.py:551
+#, python-format
+msgid "Installtime: %s"
+msgstr "Horario de la instalación: %s"
+
+#: ../output.py:552
+msgid "Summary : "
+msgstr "Resumen : "
+
+#: ../output.py:554
+#, python-format
+msgid "URL : %s"
+msgstr "URL : %s"
+
+#: ../output.py:555
+#, python-format
+msgid "License : %s"
+msgstr "Licencia : %s"
+
+#: ../output.py:556
+msgid "Description: "
+msgstr "Descripción:"
+
+#: ../output.py:624
+msgid "y"
+msgstr "s"
+
+#: ../output.py:624
+msgid "yes"
+msgstr "si"
+
+#: ../output.py:625
+msgid "n"
+msgstr "n"
+
+#: ../output.py:625
+msgid "no"
+msgstr "no"
+
+#: ../output.py:629
+msgid "Is this ok [y/N]: "
+msgstr "Está de acuerdo [s/N]:"
+
+#: ../output.py:720
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr ""
+"\n"
+"Grupo: %s"
+
+#: ../output.py:724
+#, python-format
+msgid " Group-Id: %s"
+msgstr " Group-Id: %s"
+
+#: ../output.py:729
+#, python-format
+msgid " Description: %s"
+msgstr " Descripción: %s"
+
+#: ../output.py:731
+msgid " Mandatory Packages:"
+msgstr " Paquetes obligatorios:"
+
+#: ../output.py:732
+msgid " Default Packages:"
+msgstr " Paquetes predeterminados:"
+
+#: ../output.py:733
+msgid " Optional Packages:"
+msgstr " Paquetes opcionales:"
+
+#: ../output.py:734
+msgid " Conditional Packages:"
+msgstr " Paquetes condicionales:"
+
+#: ../output.py:754
+#, python-format
+msgid "package: %s"
+msgstr "paquete: %s"
+
+#: ../output.py:756
+msgid " No dependencies for this package"
+msgstr " No existen dependencias para este paquete"
+
+#: ../output.py:761
+#, python-format
+msgid " dependency: %s"
+msgstr " dependencia: %s"
+
+#: ../output.py:763
+msgid " Unsatisfied dependency"
+msgstr " Dependencia no satisfecha"
+
+#: ../output.py:835
+#, python-format
+msgid "Repo : %s"
+msgstr "Repositorio : %s"
+
+#: ../output.py:836
+msgid "Matched from:"
+msgstr "Resultado obtenido desde:"
+
+#: ../output.py:845
+msgid "Description : "
+msgstr "Descripción :"
+
+#: ../output.py:848
+#, python-format
+msgid "URL : %s"
+msgstr "URL : %s"
+
+#: ../output.py:851
+#, python-format
+msgid "License : %s"
+msgstr "Licencia : %s"
+
+#: ../output.py:854
+#, python-format
+msgid "Filename : %s"
+msgstr "Nombre del archivo : %s"
+
+#: ../output.py:858
+msgid "Other : "
+msgstr "Otro : "
+
+#: ../output.py:891
+msgid "There was an error calculating total download size"
+msgstr "Hubo un error mientras se calculaba el tamaño total de la descarga"
+
+#: ../output.py:896
+#, python-format
+msgid "Total size: %s"
+msgstr "Tamaño total: %s"
+
+#: ../output.py:899
+#, python-format
+msgid "Total download size: %s"
+msgstr "Tamaño total de la descarga: %s"
+
+#: ../output.py:941
+msgid "Reinstalling"
+msgstr "Reinstalando"
+
+#: ../output.py:942
+msgid "Downgrading"
+msgstr "Desactualizando"
+
+#: ../output.py:943
+msgid "Installing for dependencies"
+msgstr "Instalando para las dependencias"
+
+#: ../output.py:944
+msgid "Updating for dependencies"
+msgstr "Actualizando para las dependencias"
+
+#: ../output.py:945
+msgid "Removing for dependencies"
+msgstr "Eliminando para las dependencias"
+
+#: ../output.py:952
+#: ../output.py:1062
+msgid "Skipped (dependency problems)"
+msgstr "Ignorando (problemas de dependencias)"
+
+#: ../output.py:973
+msgid "Package"
+msgstr "Paquete"
+
+#: ../output.py:973
+msgid "Arch"
+msgstr "Arquitectura"
+
+#: ../output.py:974
+msgid "Version"
+msgstr "Versión"
+
+#: ../output.py:974
+msgid "Repository"
+msgstr "Repositorio"
+
+#: ../output.py:975
+msgid "Size"
+msgstr "Tamaño"
+
+#: ../output.py:987
+#, python-format
+msgid ""
+" replacing %s%s%s.%s %s\n"
+"\n"
+msgstr ""
+" reemplazando %s%s%s.%s %s\n"
+"\n"
+
+#: ../output.py:996
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+msgstr ""
+"\n"
+"Resumen de la transacción\n"
+"%s\n"
+
+#: ../output.py:1003
+#, python-format
+msgid ""
+"Install %5.5s Package(s)\n"
+"Upgrade %5.5s Package(s)\n"
+msgstr ""
+"Instalar %5.5s Paquete(s)\n"
+"Actualizar %5.5s Paquete(s)\n"
+
+#: ../output.py:1012
+#, python-format
+msgid ""
+"Remove %5.5s Package(s)\n"
+"Reinstall %5.5s Package(s)\n"
+"Downgrade %5.5s Package(s)\n"
+msgstr ""
+"Eliminar %5.5s Paquete(s)\n"
+"Reinstalar %5.5s Paquete(s)\n"
+"Desactualizar %5.5s Paquete(s)\n"
+
+#: ../output.py:1056
+msgid "Removed"
+msgstr "Eliminado(s)"
+
+#: ../output.py:1057
+msgid "Dependency Removed"
+msgstr "Dependencia(s) eliminada(s)"
+
+#: ../output.py:1059
+msgid "Dependency Installed"
+msgstr "Dependencia(s) instalada(s)"
+
+#: ../output.py:1061
+msgid "Dependency Updated"
+msgstr "Dependencia(s) actualizada(s)"
+
+#: ../output.py:1063
+msgid "Replaced"
+msgstr "Sustituido(s)"
+
+#: ../output.py:1064
+msgid "Failed"
+msgstr "Falló"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1130
+msgid "two"
+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.
+#: ../output.py:1141
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
+msgstr ""
+"\n"
+" Se ha cancelado la descarga actual, %sinterrumpa con (ctrl-c) nuevamente%s dentro de %s%s%s segundos\n"
+"para finalizar.\n"
+
+#: ../output.py:1152
+msgid "user interrupt"
+msgstr "interrupción solicitada por el usuario"
+
+#: ../output.py:1168
+msgid "Total"
+msgstr "Total"
+
+#: ../output.py:1183
+msgid "installed"
+msgstr "instalado"
+
+#: ../output.py:1184
+msgid "updated"
+msgstr "actualizado"
+
+#: ../output.py:1185
+msgid "obsoleted"
+msgstr "obsoleto"
+
+#: ../output.py:1186
+msgid "erased"
+msgstr "eliminado"
+
+#: ../output.py:1190
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s set to be %s"
+msgstr "---> Paquete %s.%s %s:%s-%s definido para ser %s"
+
+#: ../output.py:1197
+msgid "--> Running transaction check"
+msgstr "--> Ejecutando prueba de transacción"
+
+#: ../output.py:1202
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr "--> Reiniciando la resolución de las dependencias con las nuevas modificaciones."
+
+#: ../output.py:1207
+msgid "--> Finished Dependency Resolution"
+msgstr "--> Resolución de dependencias finalizada"
+
+#: ../output.py:1212
+#: ../output.py:1217
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr "--> Procesando dependencias: %s para el paquete: %s"
+
+#: ../output.py:1221
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr "--> Dependencia no resuelta: %s"
+
+#: ../output.py:1227
+#: ../output.py:1232
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> Procesando conflictos: %s choca con %s"
+
+#: ../output.py:1236
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr "--> Construyendo el conjunto de las transacciones con los paquetes seleccionados. Por favor aguarde."
+
+#: ../output.py:1240
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr "---> Descargando el encabezado de %s para incluirlo en el conjunto de transacciones."
+
+#: ../yumcommands.py:40
+msgid "You need to be root to perform this command."
+msgstr "Necesita ser usuario root para poder ejecutar este comando."
+
+#: ../yumcommands.py:47
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+" rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr ""
+"\n"
+"Usted tiene habilitada la verificación de paquetes mediante llaves GPG. Eso es bueno. \n"
+"Sin embargo, usted no tiene ninguna llave pública GPG instalada. Necesita descargar\n"
+"e instalar las llaves de todos los paquetes que desee instalar.\n"
+"Esto puede hacerlo si ejecuta el comando:\n"
+" rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"También puede indicar la url de la llave del repositorio que desee utilizar\n"
+"en la opción 'gpgkey' en la sección del repositorio, y yum \n"
+"la instalará por usted.\n"
+"\n"
+"Para obtener mayor información, póngase en contacto con su distribución o con su proveedor de paquetes.\n"
+
+#: ../yumcommands.py:67
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "Error: Necesita pasar una lista de paquetes a %s "
+
+#: ../yumcommands.py:73
+msgid "Error: Need an item to match"
+msgstr "Error: Es necesario un ítem con el cual corresponderse"
+
+#: ../yumcommands.py:79
+msgid "Error: Need a group or list of groups"
+msgstr "Error: Es necesario un grupo o una lista de grupos"
+
+#: ../yumcommands.py:88
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "Error: la limpieza necesita una opción: %s"
+
+#: ../yumcommands.py:93
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "Error: argumento de limpieza no válido: %r"
+
+#: ../yumcommands.py:106
+msgid "No argument to shell"
+msgstr "No hay argumento para el shell"
+
+#: ../yumcommands.py:108
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr "Nombre de archivo pasado al shell: %s"
+
+#: ../yumcommands.py:112
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr "El archivo %s indicado como argumento para el shell no existe."
+
+#: ../yumcommands.py:118
+msgid "Error: more than one file given as argument to shell."
+msgstr "Error: se ha indicado más de un archivo como argumento para el shell"
+
+#: ../yumcommands.py:167
+msgid "PACKAGE..."
+msgstr "PAQUETE..."
+
+#: ../yumcommands.py:170
+msgid "Install a package or packages on your system"
+msgstr "Instala uno o varios paquetes en su sistema"
+
+#: ../yumcommands.py:178
+msgid "Setting up Install Process"
+msgstr "Configurando el proceso de instalación"
+
+#: ../yumcommands.py:189
+msgid "[PACKAGE...]"
+msgstr "[PAQUETE...]"
+
+#: ../yumcommands.py:192
+msgid "Update a package or packages on your system"
+msgstr "Actualiza uno o varios paquetes en su sistema"
+
+#: ../yumcommands.py:199
+msgid "Setting up Update Process"
+msgstr "Configurando el proceso de actualización"
+
+#: ../yumcommands.py:244
+msgid "Display details about a package or group of packages"
+msgstr "Muestra detalles acerca de un paquete o de un grupo de paquetes"
+
+#: ../yumcommands.py:293
+msgid "Installed Packages"
+msgstr "Paquetes instalados"
+
+#: ../yumcommands.py:301
+msgid "Available Packages"
+msgstr "Paquetes disponibles"
+
+#: ../yumcommands.py:305
+msgid "Extra Packages"
+msgstr "Paquetes extra"
+
+#: ../yumcommands.py:309
+msgid "Updated Packages"
+msgstr "Paquetes actualizados"
+
+#. This only happens in verbose mode
+#: ../yumcommands.py:317
+#: ../yumcommands.py:324
+#: ../yumcommands.py:600
+msgid "Obsoleting Packages"
+msgstr "Convirtiendo paquetes en obsoletos"
+
+#: ../yumcommands.py:326
+msgid "Recently Added Packages"
+msgstr "Paquetes añadidos recientemente"
+
+#: ../yumcommands.py:333
+msgid "No matching Packages to list"
+msgstr "No hay paquetes que se correspondan con la lista"
+
+#: ../yumcommands.py:347
+msgid "List a package or groups of packages"
+msgstr "Muestra un paquete o grupos de paquete"
+
+#: ../yumcommands.py:359
+msgid "Remove a package or packages from your system"
+msgstr "Elimina uno o varios paquetes de su sistema"
+
+#: ../yumcommands.py:366
+msgid "Setting up Remove Process"
+msgstr "Configurando el proceso de eliminación"
+
+#: ../yumcommands.py:380
+msgid "Setting up Group Process"
+msgstr "Configurando el proceso de grupo"
+
+#: ../yumcommands.py:386
+msgid "No Groups on which to run command"
+msgstr "No existen grupos sobre los cuales ejecutar el comando"
+
+#: ../yumcommands.py:399
+msgid "List available package groups"
+msgstr "Muestra los grupos de paquetes disponibles"
+
+#: ../yumcommands.py:416
+msgid "Install the packages in a group on your system"
+msgstr "Instala los paquetes en un grupo de su sistema"
+
+#: ../yumcommands.py:438
+msgid "Remove the packages in a group from your system"
+msgstr "Elimina los paquetes de un grupo de su sistema"
+
+#: ../yumcommands.py:465
+msgid "Display details about a package group"
+msgstr "Muestra detalles acerca de un grupo de paquetes"
+
+#: ../yumcommands.py:489
+msgid "Generate the metadata cache"
+msgstr "Genera el caché de metadatos"
+
+#: ../yumcommands.py:495
+msgid "Making cache files for all metadata files."
+msgstr "Creando los archivos de caché para todos los archivos de metadatos."
+
+#: ../yumcommands.py:496
+msgid "This may take a while depending on the speed of this computer"
+msgstr "Esto podría demorar algún tiempo, dependiendo de la velocidad de su equipo"
+
+#: ../yumcommands.py:517
+msgid "Metadata Cache Created"
+msgstr "Se ha creado el caché de metadatos"
+
+#: ../yumcommands.py:531
+msgid "Remove cached data"
+msgstr "Elimina los datos del caché"
+
+#: ../yumcommands.py:551
+msgid "Find what package provides the given value"
+msgstr "Localiza el paquete que ofrezca el valor indicado"
+
+#: ../yumcommands.py:571
+msgid "Check for available package updates"
+msgstr "Verifica la existencia de actualizaciones de paquetes"
+
+#: ../yumcommands.py:620
+msgid "Search package details for the given string"
+msgstr "Busca detalles en los paquetes para la cadena indicada"
+
+#: ../yumcommands.py:626
+msgid "Searching Packages: "
+msgstr "Buscando paquetes:"
+
+#: ../yumcommands.py:643
+msgid "Update packages taking obsoletes into account"
+msgstr "Actualiza los paquetes tomando en cuenta los obsoletos"
+
+#: ../yumcommands.py:651
+msgid "Setting up Upgrade Process"
+msgstr "Configurando el proceso de actualización"
+
+#: ../yumcommands.py:665
+msgid "Install a local RPM"
+msgstr "Instala un RPM local"
+
+#: ../yumcommands.py:673
+msgid "Setting up Local Package Process"
+msgstr "Configurando el proceso de instalación local de paquetes"
+
+#: ../yumcommands.py:692
+msgid "Determine which package provides the given dependency"
+msgstr "Determina qué paquetes ofrecen la dependencia indicada"
+
+#: ../yumcommands.py:695
+msgid "Searching Packages for Dependency:"
+msgstr "Buscando paquetes para la dependencia:"
+
+#: ../yumcommands.py:709
+msgid "Run an interactive yum shell"
+msgstr "Ejecuta una shell de Yum interactiva "
+
+#: ../yumcommands.py:715
+msgid "Setting up Yum Shell"
+msgstr "Configurando la shell de Yum"
+
+#: ../yumcommands.py:733
+msgid "List a package's dependencies"
+msgstr "Muestra las dependencias que necesita un paquete"
+
+#: ../yumcommands.py:739
+msgid "Finding dependencies: "
+msgstr "Buscando dependencias:"
+
+#: ../yumcommands.py:755
+msgid "Display the configured software repositories"
+msgstr "Muestra los repositorios de software configurados"
+
+#: ../yumcommands.py:803
+#: ../yumcommands.py:804
+msgid "enabled"
+msgstr "habilitado"
+
+#: ../yumcommands.py:812
+#: ../yumcommands.py:813
+msgid "disabled"
+msgstr "deshabilitado"
+
+#: ../yumcommands.py:827
+msgid "Repo-id : "
+msgstr "Repo-id : "
+
+#: ../yumcommands.py:828
+msgid "Repo-name : "
+msgstr "Repo-name : "
+
+#: ../yumcommands.py:829
+msgid "Repo-status : "
+msgstr "Repo-status : "
+
+#: ../yumcommands.py:831
+msgid "Repo-revision: "
+msgstr "Repo-revision: "
+
+#: ../yumcommands.py:835
+msgid "Repo-tags : "
+msgstr "Repo-tags : "
+
+#: ../yumcommands.py:841
+msgid "Repo-distro-tags: "
+msgstr "Repo-distro-tags: "
+
+#: ../yumcommands.py:846
+msgid "Repo-updated : "
+msgstr "Repo-updated : "
+
+#: ../yumcommands.py:848
+msgid "Repo-pkgs : "
+msgstr "Repo-pkgs : "
+
+#: ../yumcommands.py:849
+msgid "Repo-size : "
+msgstr "Repo-size : "
+
+#: ../yumcommands.py:856
+msgid "Repo-baseurl : "
+msgstr "Repo-baseurl : "
+
+#: ../yumcommands.py:864
+msgid "Repo-metalink: "
+msgstr "Repo-metalink: "
+
+#: ../yumcommands.py:868
+msgid " Updated : "
+msgstr " Actualizados : "
+
+#: ../yumcommands.py:871
+msgid "Repo-mirrors : "
+msgstr "Repo-mirrors : "
+
+#: ../yumcommands.py:875
+#: ../yummain.py:131
+msgid "Unknown"
+msgstr "Desconocido"
+
+#: ../yumcommands.py:881
+#, python-format
+msgid "Never (last: %s)"
+msgstr "Nunca (último: %s)"
+
+#: ../yumcommands.py:883
+#, python-format
+msgid "Instant (last: %s)"
+msgstr "Instante (último: %s)"
+
+#: ../yumcommands.py:886
+#, python-format
+msgid "%s second(s) (last: %s)"
+msgstr "%s segundo(s) (último: %s)"
+
+#: ../yumcommands.py:888
+msgid "Repo-expire : "
+msgstr "Repo-expire : "
+
+#: ../yumcommands.py:891
+msgid "Repo-exclude : "
+msgstr "Repo-exclude : "
+
+#: ../yumcommands.py:895
+msgid "Repo-include : "
+msgstr "Repo-include : "
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:905
+#: ../yumcommands.py:931
+msgid "repo id"
+msgstr "id del repositorio"
+
+#: ../yumcommands.py:919
+#: ../yumcommands.py:920
+#: ../yumcommands.py:934
+msgid "status"
+msgstr "estado"
+
+#: ../yumcommands.py:932
+msgid "repo name"
+msgstr "nombre del repositorio"
+
+#: ../yumcommands.py:958
+msgid "Display a helpful usage message"
+msgstr "Muestra un mensaje de ayuda del uso"
+
+#: ../yumcommands.py:992
+#, python-format
+msgid "No help available for %s"
+msgstr "No existe asistencia disponible para %s"
+
+#: ../yumcommands.py:997
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr ""
+"\n"
+"\n"
+"apodos: "
+
+#: ../yumcommands.py:999
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr ""
+"\n"
+"\n"
+"apodo: "
+
+#: ../yumcommands.py:1027
+msgid "Setting up Reinstall Process"
+msgstr "Configurando el proceso de reinstalación"
+
+#: ../yumcommands.py:1035
+msgid "reinstall a package"
+msgstr "reinstalar un paquete"
+
+#: ../yumcommands.py:1053
+msgid "Setting up Downgrade Process"
+msgstr "Configurando el proceso de desactualización"
+
+#: ../yumcommands.py:1060
+msgid "downgrade a package"
+msgstr "desactualizar un paquete a una versión anterior"
+
+#: ../yumcommands.py:1074
+msgid "Display a version for the machine and/or available repos."
+msgstr "Muestra una versión para la máquina y/o los repositorios disponibles."
+
+#: ../yumcommands.py:1101
+msgid "Installed:"
+msgstr "Instalado:"
+
+#: ../yumcommands.py:1110
+msgid "Available:"
+msgstr "Disponible:"
+
+#: ../yummain.py:42
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr ""
+"\n"
+"\n"
+"Saliendo por cancelación del usuario"
+
+#: ../yummain.py:48
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr ""
+"\n"
+"\n"
+"Saliendo por tubería rota"
+
+#: ../yummain.py:126
+msgid "Running"
+msgstr "Ejecutando"
+
+#: ../yummain.py:127
+msgid "Sleeping"
+msgstr "Durmiendo"
+
+#: ../yummain.py:128
+msgid "Uninteruptable"
+msgstr "Ininterrumplible"
+
+#: ../yummain.py:129
+msgid "Zombie"
+msgstr "Zombi"
+
+#: ../yummain.py:130
+msgid "Traced/Stopped"
+msgstr "Rastreado/Detenido"
+
+#: ../yummain.py:135
+msgid " The other application is: PackageKit"
+msgstr " La otra aplicación es: PackageKit"
+
+#: ../yummain.py:137
+#, python-format
+msgid " The other application is: %s"
+msgstr " La otra aplicación es: %s"
+
+#: ../yummain.py:140
+#, python-format
+msgid " Memory : %5s RSS (%5sB VSZ)"
+msgstr " Memoria : %5s RSS (%5sB VSZ)"
+
+#: ../yummain.py:144
+#, python-format
+msgid " Started: %s - %s ago"
+msgstr " Iniciado: %s - %s atrás"
+
+#: ../yummain.py:146
+#, python-format
+msgid " State : %s, pid: %d"
+msgstr " Estado : %s, pid: %d"
+
+#: ../yummain.py:171
+msgid "Another app is currently holding the yum lock; waiting for it to exit..."
+msgstr "Otra aplicación tiene retenido el bloqueo de Yum; esperándolo para salir... "
+
+#: ../yummain.py:199
+#: ../yummain.py:238
+#, python-format
+msgid "Error: %s"
+msgstr "Error: %s"
+
+#: ../yummain.py:209
+#: ../yummain.py:251
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "Error(es) desconocido(s): Código de salida: %d:"
+
+#. Depsolve stage
+#: ../yummain.py:216
+msgid "Resolving Dependencies"
+msgstr "Resolviendo dependencias"
+
+#: ../yummain.py:240
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " Podría intentar utilizar el comando --skip-broken para sortear el problema"
+
+#: ../yummain.py:241
+msgid ""
+" You could try running: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+msgstr ""
+" Podría intentar ejecutar: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+
+#: ../yummain.py:257
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr ""
+"\n"
+"Dependencias resueltas"
+
+#: ../yummain.py:271
+msgid "Complete!"
+msgstr "¡Listo!"
+
+#: ../yummain.py:318
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr ""
+"\n"
+"\n"
+"Saliendo por cancelación del usuario."
+
+#: ../yum/depsolve.py:83
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr "doTsSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/depsolve.py:98
+msgid "Setting up TransactionSets before config class is up"
+msgstr "Configurando TransactionSets antes de la activación de clase de configuración"
+
+#: ../yum/depsolve.py:149
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr "tsflag no válido en el archivo de configuración: %s"
+
+#: ../yum/depsolve.py:160
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "Buscando pkgSack para la dependencia: %s"
+
+#: ../yum/depsolve.py:183
+#, python-format
+msgid "Potential match for %s from %s"
+msgstr "Posible correspondencia para %s desde %s"
+
+#: ../yum/depsolve.py:191
+#, python-format
+msgid "Matched %s to require for %s"
+msgstr "Se ha encontrado %s para poder solicitar %s"
+
+#: ../yum/depsolve.py:232
+#, python-format
+msgid "Member: %s"
+msgstr "Miembro: %s"
+
+#: ../yum/depsolve.py:246
+#: ../yum/depsolve.py:756
+#, python-format
+msgid "%s converted to install"
+msgstr "%s convertido para instalar"
+
+#: ../yum/depsolve.py:253
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr "Agregando paquete %s en modo %s"
+
+#: ../yum/depsolve.py:263
+#, python-format
+msgid "Removing Package %s"
+msgstr "Eliminando paquete %s"
+
+#: ../yum/depsolve.py:285
+#, python-format
+msgid "%s requires: %s"
+msgstr "%s necesita: %s"
+
+#: ../yum/depsolve.py:343
+msgid "Needed Require has already been looked up, cheating"
+msgstr "El requerimiento que se necesita ya fue buscado, haciendo trampa"
+
+#: ../yum/depsolve.py:353
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "El requerimiento necesitado no es un nombre de paquete. Buscando: %s"
+
+#: ../yum/depsolve.py:360
+#, python-format
+msgid "Potential Provider: %s"
+msgstr "Proveedor posible: %s"
+
+#: ../yum/depsolve.py:383
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr "El modo es %s para el proveedor de %s: %s"
+
+#: ../yum/depsolve.py:387
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr "Modo para el paquete que ofrece %s: %s"
+
+#: ../yum/depsolve.py:391
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: el paquete %s que necesita %s ha sido marcado para eliminarse"
+
+#: ../yum/depsolve.py:404
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr "TSINFO: Transformando a %s en obsoleto utilizando %s para resolver la dependencia."
+
+#: ../yum/depsolve.py:407
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr "TSINFO: Actualizando %s para resolver la dependencia."
+
+#: ../yum/depsolve.py:415
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr "No es posible encontrar un camino de actualización para la dependencia para: %s"
+
+#: ../yum/depsolve.py:425
+#, python-format
+msgid "Unresolvable requirement %s for %s"
+msgstr "Requerimiento %s irresoluble para %s"
+
+#: ../yum/depsolve.py:448
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr "Rápidamente se ha localizado %s al ser requerido por %s"
+
+#. is it already installed?
+#: ../yum/depsolve.py:490
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr "%s se encuentra entre los paquetes provistos, pero ya está instalado, eliminando. "
+
+#: ../yum/depsolve.py:506
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr "El paquete de solución posible %s posee una nueva instancia en ts."
+
+#: ../yum/depsolve.py:517
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr "El paquete de solución posible %s posee una nueva instancia ya instalada."
+
+#: ../yum/depsolve.py:525
+#: ../yum/depsolve.py:571
+#, python-format
+msgid "Missing Dependency: %s is needed by package %s"
+msgstr "No se encuentra una dependencia: es necesario %s para poder instalar el paquete %s"
+
+#: ../yum/depsolve.py:538
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr "%s ya se encuentra en ts, ignorándolo"
+
+#: ../yum/depsolve.py:581
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr "TSINFO: Seleccionado %s como actualización de %s"
+
+#: ../yum/depsolve.py:589
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr "TSINFO: Seleccionando %s como una instalación para %s"
+
+#: ../yum/depsolve.py:692
+#: ../yum/depsolve.py:774
+msgid "Success - empty transaction"
+msgstr "Exito - transacción vacía"
+
+#: ../yum/depsolve.py:731
+#: ../yum/depsolve.py:746
+msgid "Restarting Loop"
+msgstr "Reiniciando el bucle"
+
+#: ../yum/depsolve.py:762
+msgid "Dependency Process ending"
+msgstr "Finalizando el proceso de dependencias"
+
+#: ../yum/depsolve.py:768
+#, python-format
+msgid "%s from %s has depsolving problems"
+msgstr "%s desde %s tiene problemas de resolución de dependencias"
+
+#: ../yum/depsolve.py:775
+msgid "Success - deps resolved"
+msgstr "Exito - dependencias resueltas"
+
+#: ../yum/depsolve.py:789
+#, python-format
+msgid "Checking deps for %s"
+msgstr "Verificando dependencias para %s"
+
+#: ../yum/depsolve.py:872
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr "localizando a %s como un requerimiento de %s"
+
+#: ../yum/depsolve.py:1014
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr "Ejecutando compare_providers() para %s"
+
+#: ../yum/depsolve.py:1048
+#: ../yum/depsolve.py:1054
+#, python-format
+msgid "better arch in po %s"
+msgstr "mejor arquitectura en po %s"
+
+#: ../yum/depsolve.py:1140
+#, python-format
+msgid "%s obsoletes %s"
+msgstr "%s hace obsoleto a %s"
+
+#: ../yum/depsolve.py:1152
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+" Winner: %s"
+msgstr ""
+"archdist comparó %s con %s en %s\n"
+" Vencedor: %s"
+
+#: ../yum/depsolve.py:1159
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr "sourcerpm común %s y %s"
+
+#: ../yum/depsolve.py:1165
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr "prefijo común de %s entre %s y %s"
+
+#: ../yum/depsolve.py:1173
+#, python-format
+msgid "Best Order: %s"
+msgstr "Mejor orden: %s"
+
+#: ../yum/__init__.py:180
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/__init__.py:401
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr "Al repositorio %r le falta un nombre en su configuración, utilizando el id"
+
+#: ../yum/__init__.py:439
+msgid "plugins already initialised"
+msgstr "los complementos ya se encuentran inicializados"
+
+#: ../yum/__init__.py:446
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr "doRpmDBSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/__init__.py:457
+msgid "Reading Local RPMDB"
+msgstr "Leyendo RPDMDB local"
+
+#: ../yum/__init__.py:478
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr "doRepoSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/__init__.py:498
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr "doSackSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/__init__.py:528
+msgid "Setting up Package Sacks"
+msgstr "Configurando sacos de paquetes"
+
+#: ../yum/__init__.py:573
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr "el objeto del repositorio para el repositorio %s necesita de un método a _resetSack\n"
+
+#: ../yum/__init__.py:574
+msgid "therefore this repo cannot be reset.\n"
+msgstr "por lo tanto, este repositorio no puede ser restaurado.\n"
+
+#: ../yum/__init__.py:579
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr "doUpdateSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/__init__.py:591
+msgid "Building updates object"
+msgstr "Construyendo objeto de actualizaciones"
+
+#: ../yum/__init__.py:626
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr "doGroupSetup() desaparecerá en alguna versión posterior de Yum.\n"
+
+#: ../yum/__init__.py:651
+msgid "Getting group metadata"
+msgstr "Obteniendo metadatos de grupo"
+
+#: ../yum/__init__.py:677
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr "Agregando archivo de grupos desde el repositorio: %s"
+
+#: ../yum/__init__.py:686
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr "Falló al agregarse el archivo de grupos desde el repositorio: %s - %s"
+
+#: ../yum/__init__.py:692
+msgid "No Groups Available in any repository"
+msgstr "No hay grupos disponibles en ningún repositorio"
+
+#: ../yum/__init__.py:742
+msgid "Importing additional filelist information"
+msgstr "Importando información adicional de listas de archivo"
+
+#: ../yum/__init__.py:756
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "El programa %s%s%s se encuentra en el paquete yum-utils."
+
+#: ../yum/__init__.py:764
+msgid "There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them."
+msgstr "Existen transacciones restantes no finalizadas. Podría considerar primero ejecutar el comando yum-complete-transaction, de modo de poder finalizarlas."
+
+#: ../yum/__init__.py:832
+#, python-format
+msgid "Skip-broken round %i"
+msgstr "Etapa %i ignorando dependencias rotas"
+
+#: ../yum/__init__.py:884
+#, python-format
+msgid "Skip-broken took %i rounds "
+msgstr "El proceso de ignorar dependencias rotas llevó %i vueltas"
+
+#: ../yum/__init__.py:885
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr ""
+"\n"
+"Paquetes ignorados por problemas de dependencias:"
+
+#: ../yum/__init__.py:889
+#, python-format
+msgid " %s from %s"
+msgstr " %s de %s"
+
+#: ../yum/__init__.py:1027
+msgid "Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "Aviso: scriptlet o algún otro tipo de error no fatal ha ocurrido durante la transacción."
+
+#: ../yum/__init__.py:1042
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr "Falló al eliminar archivo de transacción %s"
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1071
+#, python-format
+msgid "%s was supposed to be installed but is not!"
+msgstr "¡se suponía que %s estuviera instalado, pero no lo está! "
+
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1110
+#, python-format
+msgid "%s was supposed to be removed but is not!"
+msgstr "¡se suponía que %s estuviera eliminado, pero no lo está! "
+
+#. Whoa. What the heck happened?
+#: ../yum/__init__.py:1225
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr "No es posible verificar si se encuentra activo el PID %s"
+
+#. Another copy seems to be running.
+#: ../yum/__init__.py:1229
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "Bloqueo existente en %s: otra copia se encuentra en ejecución como pid %s."
+
+#: ../yum/__init__.py:1306
+msgid "Package does not match intended download"
+msgstr "El paquete no se corresponde con la descarga pretendida"
+
+#: ../yum/__init__.py:1321
+msgid "Could not perform checksum"
+msgstr "No se pudo realizar una suma de verificación"
+
+#: ../yum/__init__.py:1324
+msgid "Package does not match checksum"
+msgstr "El paquete no se corresponde con la suma de verificación"
+
+#: ../yum/__init__.py:1366
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr "el paquete no ha superado la suma de verificación, pero el caché se encuentra habilitado para %s"
+
+#: ../yum/__init__.py:1369
+#: ../yum/__init__.py:1398
+#, python-format
+msgid "using local copy of %s"
+msgstr "utilizando una copia local de %s"
+
+#: ../yum/__init__.py:1410
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+" * free %s\n"
+" * needed %s"
+msgstr ""
+"Espacio insuficiente en el directorio de descarga %s\n"
+" * libre %s\n"
+" * necesario %s"
+
+#: ../yum/__init__.py:1459
+msgid "Header is not complete."
+msgstr "El encabezado no está completo."
+
+#: ../yum/__init__.py:1496
+#, python-format
+msgid "Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "El encabezado no se encuentra en el caché local, y está habilitado el modo de solo cacheo. No es posible descargar %s"
+
+#: ../yum/__init__.py:1551
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr "No se ha instalado la llave pública de %s "
+
+#: ../yum/__init__.py:1555
+#, python-format
+msgid "Problem opening package %s"
+msgstr "Problemas abriendo el paquete %s"
+
+#: ../yum/__init__.py:1563
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr "La llave pública de %s no es confiable"
+
+#: ../yum/__init__.py:1567
+#, python-format
+msgid "Package %s is not signed"
+msgstr "El paquete %s no está firmado"
+
+#: ../yum/__init__.py:1605
+#, python-format
+msgid "Cannot remove %s"
+msgstr "No es posible eliminar %s"
+
+#: ../yum/__init__.py:1609
+#, python-format
+msgid "%s removed"
+msgstr "%s eliminado"
+
+#: ../yum/__init__.py:1645
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr "No es posible eliminar %s archivo %s"
+
+#: ../yum/__init__.py:1649
+#, python-format
+msgid "%s file %s removed"
+msgstr "%s archivo %s eliminado"
+
+#: ../yum/__init__.py:1651
+#, python-format
+msgid "%d %s files removed"
+msgstr "%d %s archivos eliminados"
+
+#: ../yum/__init__.py:1720
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr "Más de una correspondencia exacta en el saco para %s"
+
+#: ../yum/__init__.py:1726
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr "Nada se corresponde con %s.%s %s:%s-%s desde la actualización"
+
+#: ../yum/__init__.py:1959
+msgid "searchPackages() will go away in a future version of Yum. Use searchGenerator() instead. \n"
+msgstr "searchPackages() desaparecerá en alguna versión próxima de Yum. En su lugar utilice searchGenerator(). \n"
+
+#: ../yum/__init__.py:2001
+#, python-format
+msgid "Searching %d packages"
+msgstr "Buscando %d paquetes"
+
+#: ../yum/__init__.py:2005
+#, python-format
+msgid "searching package %s"
+msgstr "buscando paquete %s"
+
+#: ../yum/__init__.py:2017
+msgid "searching in file entries"
+msgstr "buscando en las entradas de archivo"
+
+#: ../yum/__init__.py:2024
+msgid "searching in provides entries"
+msgstr "buscando en las entradas \"provee\""
+
+#: ../yum/__init__.py:2057
+#, python-format
+msgid "Provides-match: %s"
+msgstr "Lo que se ha indicado combina con: %s"
+
+#: ../yum/__init__.py:2106
+msgid "No group data available for configured repositories"
+msgstr "No existen datos de grupo disponibles en los repositorios configurados"
+
+#: ../yum/__init__.py:2137
+#: ../yum/__init__.py:2156
+#: ../yum/__init__.py:2187
+#: ../yum/__init__.py:2193
+#: ../yum/__init__.py:2272
+#: ../yum/__init__.py:2276
+#: ../yum/__init__.py:2581
+#, python-format
+msgid "No Group named %s exists"
+msgstr "No existe un grupo denominado %s"
+
+#: ../yum/__init__.py:2168
+#: ../yum/__init__.py:2289
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr "el paquete %s no fue marcado en el grupo %s"
+
+#: ../yum/__init__.py:2215
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr "Agregando paquete %s del grupo %s"
+
+#: ../yum/__init__.py:2219
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr "No existe un paquete denominado %s disponible para ser instalado"
+
+#: ../yum/__init__.py:2316
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr "La tupla %s de paquetes no pudo ser encontrada en el saco de paquetes"
+
+#: ../yum/__init__.py:2330
+msgid "getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
+msgstr "getInstalledPackageObject() desaparecerá en alguna versión próxima de Yum, utilice en su lugar self.rpmdb.searchPkgTuple().\n"
+
+#: ../yum/__init__.py:2386
+#: ../yum/__init__.py:2431
+msgid "Invalid version flag"
+msgstr "Marca de versión no válida"
+
+#: ../yum/__init__.py:2401
+#: ../yum/__init__.py:2406
+#, python-format
+msgid "No Package found for %s"
+msgstr "No se ha encontrado ningún paquete para %s"
+
+#: ../yum/__init__.py:2614
+msgid "Package Object was not a package object instance"
+msgstr "El objeto de paquete no era una instancia de objeto de paquete"
+
+#: ../yum/__init__.py:2618
+msgid "Nothing specified to install"
+msgstr "No se ha indicado nada para instalar"
+
+#: ../yum/__init__.py:2634
+#: ../yum/__init__.py:3377
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr "Verificando la provision virtual o provision de archivo de %s"
+
+#: ../yum/__init__.py:2640
+#: ../yum/__init__.py:2938
+#: ../yum/__init__.py:3105
+#: ../yum/__init__.py:3383
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "No hay nada concordante con el argumento: %s"
+
+#: ../yum/__init__.py:2716
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "El paquete %s está instalado y no se encuentra disponible"
+
+#: ../yum/__init__.py:2719
+msgid "No package(s) available to install"
+msgstr "No existe(n) paquete(s) disponible(s) para instalar"
+
+#: ../yum/__init__.py:2731
+#, python-format
+msgid "Package: %s - already in transaction set"
+msgstr "Paquete: %s - ya se encuentra en un conjunto de transacción"
+
+#: ../yum/__init__.py:2757
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "El paquete %s se hace obsoleto con %s, que ya se encuentra instalado"
+
+#: ../yum/__init__.py:2760
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr "El paquete %s se hace obsoleto con %s, en su lugar se está intentando instalar %s"
+
+#: ../yum/__init__.py:2768
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr "El paquete %s ya se encuentra instalado con su versión más reciente"
+
+#: ../yum/__init__.py:2782
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr "El paquete concordante con %s ya se encuentra instalado. Verificando si puede actualizarse."
+
+#. update everything (the easy case)
+#: ../yum/__init__.py:2871
+msgid "Updating Everything"
+msgstr "Actualizando todo"
+
+#: ../yum/__init__.py:2892
+#: ../yum/__init__.py:3003
+#: ../yum/__init__.py:3032
+#: ../yum/__init__.py:3059
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Dejando sin actualizar el paquete que ya es obsoleto: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:2927
+#: ../yum/__init__.py:3102
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: ../yum/__init__.py:2994
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "El paquete ya es obsoleto: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:3027
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Dejando sin actualizar el paquete que ya es obsoleto: %s"
+
+#: ../yum/__init__.py:3036
+#: ../yum/__init__.py:3063
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr "Dejando sin actualizar el paquete que ya se encuentra actualizado: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:3118
+msgid "No package matched to remove"
+msgstr "No hay paquete correspondiente para ser eliminado"
+
+#: ../yum/__init__.py:3152
+#: ../yum/__init__.py:3243
+#: ../yum/__init__.py:3332
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr "No es posible abrir el archivo: %s. Ignorando."
+
+#: ../yum/__init__.py:3155
+#: ../yum/__init__.py:3246
+#: ../yum/__init__.py:3335
+#, python-format
+msgid "Examining %s: %s"
+msgstr "Examinando %s: %s"
+
+#: ../yum/__init__.py:3163
+#: ../yum/__init__.py:3249
+#: ../yum/__init__.py:3338
+#, python-format
+msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr "No es posible añadir el paquete %s a la transacción. La arquitectura no es compatible: %s"
+
+#: ../yum/__init__.py:3171
+#, python-format
+msgid "Package %s not installed, cannot update it. Run yum install to install it instead."
+msgstr "El paquete %s no está instalado, no puede actualizarse. En su lugar, para instalarlo, ejecute el comando yum install."
+
+#: ../yum/__init__.py:3206
+#: ../yum/__init__.py:3260
+#: ../yum/__init__.py:3349
+#, python-format
+msgid "Excluding %s"
+msgstr "Excluyendo %s"
+
+#: ../yum/__init__.py:3211
+#, python-format
+msgid "Marking %s to be installed"
+msgstr "Marcando %s para ser instalado"
+
+#: ../yum/__init__.py:3217
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr "Marcando %s como una actualización de %s"
+
+#: ../yum/__init__.py:3224
+#, python-format
+msgid "%s: does not update installed package."
+msgstr "%s: no actualiza el paquete instalado."
+
+#: ../yum/__init__.py:3279
+msgid "Problem in reinstall: no package matched to remove"
+msgstr "Problema al reinstalar: no existe ningún paquete concordante para eliminar"
+
+#: ../yum/__init__.py:3292
+#: ../yum/__init__.py:3410
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr "El paquete %s permite múltiples instalaciones, ignorando"
+
+#: ../yum/__init__.py:3313
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Problema al reinstalar: no existe ningún paquete concordante con %s para instalar"
+
+#: ../yum/__init__.py:3402
+msgid "No package(s) available to downgrade"
+msgstr "No existe(n) paquete(s) disponible(s) para desactualizar"
+
+#: ../yum/__init__.py:3446
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Ninguna correspondencia disponible para el paquete: %s"
+
+#: ../yum/__init__.py:3452
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Solo existe la posibilidad de actualizar el paquete: %s"
+
+#: ../yum/__init__.py:3511
+#, python-format
+msgid "Retrieving GPG key from %s"
+msgstr "Obteniendo llave GPG desde %s"
+
+#: ../yum/__init__.py:3531
+msgid "GPG key retrieval failed: "
+msgstr "La obtención de la llave GPG ha fallado:"
+
+#: ../yum/__init__.py:3542
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "El análisis de la llave GPG ha fallado: la llave no posee valor %s"
+
+#: ../yum/__init__.py:3574
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr "La llave GPG de %s (0x%s) ya se encuentra instalada"
+
+#. Try installing/updating GPG key
+#: ../yum/__init__.py:3579
+#: ../yum/__init__.py:3641
+#, python-format
+msgid "Importing GPG key 0x%s \"%s\" from %s"
+msgstr "Importando la llave GPG 0x%s \"%s\" desde %s"
+
+#: ../yum/__init__.py:3596
+msgid "Not installing key"
+msgstr "No se está instalando la llave"
+
+#: ../yum/__init__.py:3602
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "La importación de la llave falló (código %d)"
+
+#: ../yum/__init__.py:3603
+#: ../yum/__init__.py:3662
+msgid "Key imported successfully"
+msgstr "La llave ha sido importada exitosamente"
+
+#: ../yum/__init__.py:3608
+#: ../yum/__init__.py:3667
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr ""
+"Las llaves GPG listadas para el repositorio \"%s\" ya se encuentran instaladas, pero con este paquete no son correctas.\n"
+"Verifique que las URLs de la llave para este repositorio estén correctamente configuradas."
+
+#: ../yum/__init__.py:3617
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr "La importación de la(s) llave(s) no funcionó, ¿llave(s) equivocada(s)?"
+
+#: ../yum/__init__.py:3636
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "La llave GPG de %s (0x%s) ya ha sido importada"
+
+#: ../yum/__init__.py:3656
+#, python-format
+msgid "Not installing key for repo %s"
+msgstr "No se está instalando la llave para el repositorio %s"
+
+#: ../yum/__init__.py:3661
+msgid "Key import failed"
+msgstr "Falló la importación de la llave"
+
+#: ../yum/__init__.py:3782
+msgid "Unable to find a suitable mirror."
+msgstr "No es posible encontrar un espejo que funcione."
+
+#: ../yum/__init__.py:3784
+msgid "Errors were encountered while downloading packages."
+msgstr "Fueron encontrados errores mientras los paquetes eran descargados."
+
+#: ../yum/__init__.py:3834
+#, python-format
+msgid "Please report this error at %s"
+msgstr "Por favor, informe este error en %s"
+
+#: ../yum/__init__.py:3858
+msgid "Test Transaction Errors: "
+msgstr "Errores de la prueba de transacción:"
+
+#. Mostly copied from YumOutput._outKeyValFill()
+#: ../yum/plugins.py:202
+msgid "Loaded plugins: "
+msgstr "Complementos cargados:"
+
+#: ../yum/plugins.py:216
+#: ../yum/plugins.py:222
+#, python-format
+msgid "No plugin match for: %s"
+msgstr "No hay un complemento que se corresponda con: %s"
+
+#: ../yum/plugins.py:252
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "El complemento \"%s\" no será cargado, puesto que se encuentra deshabilitado"
+
+#. Give full backtrace:
+#: ../yum/plugins.py:264
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr "El complemento \"%s\" no puede ser importado"
+
+#: ../yum/plugins.py:271
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr "El complemento \"%s\" no especifica la versión de API requerida"
+
+#: ../yum/plugins.py:276
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr "El complemento \"%s\" requiere el API %s. El API soportado es %s."
+
+#: ../yum/plugins.py:309
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr "Cargando el complemento \"%s\""
+
+#: ../yum/plugins.py:316
+#, python-format
+msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr "Existen dos o más complementos con el nombre \"%s\", en la ruta de búsqueda de complementos "
+
+#: ../yum/plugins.py:336
+#, python-format
+msgid "Configuration file %s not found"
+msgstr "No se encuentra el archivo de configuración %s"
+
+#. for
+#. Configuration files for the plugin not found
+#: ../yum/plugins.py:339
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr "No es posible encontrar el archivo de configuración para el complemento %s"
+
+#: ../yum/plugins.py:497
+msgid "registration of commands not supported"
+msgstr "registro de comando no soportado"
+
+#: ../yum/rpmtrans.py:78
+msgid "Repackaging"
+msgstr "Reempaquetando"
+
+#: ../rpmUtils/oldUtils.py:33
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr "El encabezado no puede abrirse, o no se corresponde con %s, %s."
+
+#: ../rpmUtils/oldUtils.py:53
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr "El RPM %s ha fallado la verificación md5"
+
+#: ../rpmUtils/oldUtils.py:151
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr "No es posible abrir la base de datos de RPM para su lectura. ¿Tal vez se encuentre en uso?"
+
+#: ../rpmUtils/oldUtils.py:183
+msgid "Got an empty Header, something has gone wrong"
+msgstr "Se obtuvo un encabezado vacío, algo ha salido mal"
+
+#: ../rpmUtils/oldUtils.py:253
+#: ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263
+#: ../rpmUtils/oldUtils.py:266
+#, python-format
+msgid "Damaged Header %s"
+msgstr "Encabezado %s dañado"
+
+#: ../rpmUtils/oldUtils.py:281
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr "Error al abrir el rpm %s - error %s"
+
diff --git a/po/fr.po b/po/fr.po
index 213b8db..819268f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -162,7 +162,7 @@ msgstr "ERREUR de résolution de dépendance par rpm_check_debug :"
#: ../cli.py:423, python-format
msgid "Please report this error in %s"
-msgstr "Veuillez reporter cette erreur dans %"
+msgstr "Veuillez reporter cette erreur dans %s"
#: ../cli.py:429
msgid "Running Transaction Test"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..6f86fc8
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,2191 @@
+# translation of yum.master.po to ja_JP
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Tadashi Jokagi <elf@elf.no-ip.org>, 2008-2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: yum master\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-07 11:34+0900\n"
+"PO-Revision-Date: 2009-05-20 03:23+0900\n"
+"Last-Translator: Tadashi Jokagi <elf@elf.no-ip.org>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: callback.py:48 output.py:922 yum/rpmtrans.py:71
+msgid "Updating"
+msgstr "更新"
+
+#: callback.py:49 yum/rpmtrans.py:72
+msgid "Erasing"
+msgstr "削除中"
+
+#: callback.py:50 callback.py:51 callback.py:53 output.py:921
+#: yum/rpmtrans.py:73 yum/rpmtrans.py:74 yum/rpmtrans.py:76
+msgid "Installing"
+msgstr "インストールしています"
+
+#: callback.py:52 callback.py:58 yum/rpmtrans.py:75
+msgid "Obsoleted"
+msgstr "不要でした"
+
+#: callback.py:54 output.py:1029
+msgid "Updated"
+msgstr "更新しました"
+
+#: callback.py:55
+msgid "Erased"
+msgstr "削除しました"
+
+#: callback.py:56 callback.py:57 callback.py:59 output.py:1027
+msgid "Installed"
+msgstr "インストールしました"
+
+#: callback.py:130
+msgid "No header - huh?"
+msgstr "ヘッダーがありません - はて?"
+
+#: callback.py:168
+msgid "Repackage"
+msgstr "再パッケージ"
+
+#: callback.py:189
+#, python-format
+msgid "Error: invalid output state: %s for %s"
+msgstr "エラー: 不正な出力状態: %s for %s"
+
+#: callback.py:212
+#, python-format
+msgid "Erased: %s"
+msgstr "削除しました: %s"
+
+#: callback.py:217 output.py:923
+msgid "Removing"
+msgstr "削除"
+
+#: callback.py:219 yum/rpmtrans.py:77
+msgid "Cleanup"
+msgstr "整理中"
+
+#: cli.py:105
+#, python-format
+msgid "Command \"%s\" already defined"
+msgstr "コマンド「%s」はすでに定義済みです"
+
+#: cli.py:117
+msgid "Setting up repositories"
+msgstr "リポジトリーの設定"
+
+#: cli.py:128
+msgid "Reading repository metadata in from local files"
+msgstr "ローカルファイルからリポジトリーのメタデータを読み込んでいます"
+
+#: cli.py:192 utils.py:79
+#, python-format
+msgid "Config Error: %s"
+msgstr "設定エラー: %s"
+
+#: cli.py:195 cli.py:1190 utils.py:82
+#, python-format
+msgid "Options Error: %s"
+msgstr "オプションエラー: %s"
+
+#: cli.py:223
+#, python-format
+msgid " Installed: %s-%s at %s"
+msgstr ""
+
+#: cli.py:225
+#, python-format
+msgid " Built : %s at %s"
+msgstr ""
+
+#: cli.py:227
+#, python-format
+msgid " Committed: %s at %s"
+msgstr ""
+
+#: cli.py:266
+msgid "You need to give some command"
+msgstr "いくつかのコマンドを指定する必要があります"
+
+#: cli.py:309
+msgid "Disk Requirements:\n"
+msgstr "ディスク要求:\n"
+
+#: cli.py:311
+#, python-format
+msgid " At least %dMB needed on the %s filesystem.\n"
+msgstr " 少なくとも %d MB の空き容量がファイルシステム %s で必要です。\n"
+
+#: cli.py:316
+msgid ""
+"Error Summary\n"
+"-------------\n"
+msgstr ""
+"エラーの要約\n"
+"-------------\n"
+
+#: cli.py:359
+msgid "Trying to run the transaction but nothing to do. Exiting."
+msgstr ""
+"トランザクションの実行を試みましたが、何もありませんでした。終了します。"
+
+#: cli.py:395
+msgid "Exiting on user Command"
+msgstr "ユーザーコマンドを終了しています"
+
+#: cli.py:399
+msgid "Downloading Packages:"
+msgstr "パッケージをダウンロードしています:"
+
+#: cli.py:404
+msgid "Error Downloading Packages:\n"
+msgstr "パッケージのダウンロードでエラー:\n"
+
+#: cli.py:418 yum/__init__.py:3362
+msgid "Running rpm_check_debug"
+msgstr "rpm_check_debug を実行しています"
+
+#: cli.py:421 yum/__init__.py:3365
+msgid "ERROR with rpm_check_debug vs depsolve:"
+msgstr ""
+
+#: cli.py:425
+#, python-format
+msgid "Please report this error in %s"
+msgstr "%s にこのエラーを報告してください"
+
+#: cli.py:431
+msgid "Running Transaction Test"
+msgstr "トランザクションのテストを実行しています"
+
+#: cli.py:447
+msgid "Finished Transaction Test"
+msgstr "トランザクションのテストを終了しました"
+
+#: cli.py:449
+msgid "Transaction Check Error:\n"
+msgstr "トランザクションの確認エラー\n"
+
+#: cli.py:456
+msgid "Transaction Test Succeeded"
+msgstr "トランザクションのテストを成功しました"
+
+#: cli.py:477
+msgid "Running Transaction"
+msgstr "トランザクションを実行しています"
+
+#: cli.py:507
+msgid ""
+"Refusing to automatically import keys when running unattended.\n"
+"Use \"-y\" to override."
+msgstr ""
+
+#: cli.py:526 cli.py:560
+msgid " * Maybe you meant: "
+msgstr ""
+
+#: cli.py:543 cli.py:551
+#, python-format
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "パッケージ %s%s%s は利用できますが、インストールしませんでした。"
+
+#: cli.py:557 cli.py:590
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "パッケージ %s%s%s は利用できません。"
+
+#: cli.py:595 cli.py:670 yumcommands.py:1010
+msgid "Package(s) to install"
+msgstr "インストールするパッケージ"
+
+#: cli.py:596 cli.py:671 yumcommands.py:159 yumcommands.py:1011
+msgid "Nothing to do"
+msgstr "何もしません"
+
+#: cli.py:629
+#, python-format
+msgid "%d packages marked for Update"
+msgstr "%d 個のパッケージが更新の設定しました"
+
+#: cli.py:632
+msgid "No Packages marked for Update"
+msgstr "更新と設定されたパッケージがありません"
+
+#: cli.py:646
+#, python-format
+msgid "%d packages marked for removal"
+msgstr "%d 個のパッケージが削除の設定しました"
+
+#: cli.py:649
+msgid "No Packages marked for removal"
+msgstr "削除と設定されたパッケージがありません"
+
+#: cli.py:661
+msgid "No Packages Provided"
+msgstr "パッケージが提供されていません"
+
+#: cli.py:716
+msgid "Matching packages for package list to user args"
+msgstr "ユーザーの引数にパッケージ一覧のパッケージを一致させています"
+
+#: cli.py:765
+#, python-format
+msgid "Warning: No matches found for: %s"
+msgstr "警告: 一致するものが見つかりません: %s"
+
+#: cli.py:768
+msgid "No Matches found"
+msgstr "見つかりませんでした"
+
+#: cli.py:807
+#, python-format
+msgid ""
+"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
+" You can use \"%s*/%s%s\" and/or \"%s*bin/%s%s\" to get that behaviour"
+msgstr ""
+
+#: cli.py:823
+#, python-format
+msgid "No Package Found for %s"
+msgstr "%s のパッケージが見つかりません"
+
+#: cli.py:835
+msgid "Cleaning up Everything"
+msgstr "すべて掃除しています"
+
+#: cli.py:849
+msgid "Cleaning up Headers"
+msgstr "ヘッダーを掃除しています"
+
+#: cli.py:852
+msgid "Cleaning up Packages"
+msgstr "パッケージを掃除しています"
+
+#: cli.py:855
+msgid "Cleaning up xml metadata"
+msgstr "XML メタデータを掃除しています"
+
+#: cli.py:858
+msgid "Cleaning up database cache"
+msgstr "データベースキャッシュを掃除しています"
+
+#: cli.py:861
+msgid "Cleaning up expire-cache metadata"
+msgstr "期限切れのメタデータキャッシュを掃除しています"
+
+#: cli.py:864
+msgid "Cleaning up plugins"
+msgstr "プラグインを掃除しています"
+
+#: cli.py:889
+msgid "Installed Groups:"
+msgstr "インストール済みグループ:"
+
+#: cli.py:896
+msgid "Available Groups:"
+msgstr "利用可能なグループ"
+
+#: cli.py:902
+msgid "Done"
+msgstr "完了"
+
+#: cli.py:913 cli.py:931 cli.py:937 yum/__init__.py:2410
+#, python-format
+msgid "Warning: Group %s does not exist."
+msgstr "警告: グループ %s が存在しません。"
+
+#: cli.py:941
+msgid "No packages in any requested group available to install or update"
+msgstr ""
+
+#: cli.py:943
+#, python-format
+msgid "%d Package(s) to Install"
+msgstr "%d 個のパッケージをインストールします"
+
+#: cli.py:953 yum/__init__.py:2422
+#, python-format
+msgid "No group named %s exists"
+msgstr "グループ名 %s が存在しません"
+
+#: cli.py:959
+msgid "No packages to remove from groups"
+msgstr "グループから削除するパッケージがありません"
+
+#: cli.py:961
+#, python-format
+msgid "%d Package(s) to remove"
+msgstr "%d 個のパッケージを削除します"
+
+#: cli.py:1003
+#, python-format
+msgid "Package %s is already installed, skipping"
+msgstr "パッケージ %s は既にインストールされているので飛ばします"
+
+#: cli.py:1014
+#, python-format
+msgid "Discarding non-comparable pkg %s.%s"
+msgstr "非互換のパッケージ %s.%s を破棄しています"
+
+#: cli.py:1040
+#, python-format
+msgid "No other %s installed, adding to list for potential install"
+msgstr ""
+
+#: cli.py:1059
+#, python-format
+msgid "Command line error: %s"
+msgstr "コマンドラインエラー: %s"
+
+#: cli.py:1072
+#, python-format
+msgid ""
+"\n"
+"\n"
+"%s: %s option requires an argument"
+msgstr ""
+"\n"
+"\n"
+"%s: オプション %sは引数が必要です "
+
+#: cli.py:1130
+msgid "--color takes one of: auto, always, never"
+msgstr "--color がとることができる値な次のうちひとつです: auto、always、never"
+
+#: cli.py:1232
+msgid "show this help message and exit"
+msgstr "このヘルプメッセージを表示して終了する"
+
+#: cli.py:1236
+msgid "be tolerant of errors"
+msgstr ""
+
+#: cli.py:1238
+msgid "run entirely from cache, don't update cache"
+msgstr "キャッシュから完全に実行します。キャッシュを更新しません"
+
+#: cli.py:1240
+msgid "config file location"
+msgstr "構成ファイルの場所"
+
+#: cli.py:1242
+msgid "maximum command wait time"
+msgstr "コマンドの最大待ち時間"
+
+#: cli.py:1244
+msgid "debugging output level"
+msgstr "デバッグ情報の出力レベル"
+
+#: cli.py:1248
+msgid "show duplicates, in repos, in list/search commands"
+msgstr "一覧/検索コマンドのリポジトリーの重複の表示"
+
+#: cli.py:1250
+msgid "error output level"
+msgstr "エラー出力レベル"
+
+#: cli.py:1253
+msgid "quiet operation"
+msgstr "静かに処理をする"
+
+#: cli.py:1255
+msgid "verbose operation"
+msgstr "冗長に処理をする"
+
+#: cli.py:1257
+msgid "answer yes for all questions"
+msgstr "すべての問い合わせに「yes」で答える"
+
+#: cli.py:1259
+msgid "show Yum version and exit"
+msgstr "Yum のバージョンを表示して終了する"
+
+#: cli.py:1260
+msgid "set install root"
+msgstr "インストールのベースディレクトリを設定する"
+
+#: cli.py:1264
+msgid "enable one or more repositories (wildcards allowed)"
+msgstr "ひとつ以上のリポジトリーを有効にする (ワイルドカード許可)"
+
+#: cli.py:1268
+msgid "disable one or more repositories (wildcards allowed)"
+msgstr "ひとつ以上のリポジトリーを無効にする (ワイルドカード許可)"
+
+#: cli.py:1271
+msgid "exclude package(s) by name or glob"
+msgstr "名前かワイルドカードでパッケージを除外する"
+
+#: cli.py:1273
+msgid "disable exclude from main, for a repo or for everything"
+msgstr ""
+
+#: cli.py:1276
+msgid "enable obsoletes processing during updates"
+msgstr "更新中に不要な処理を有効にします"
+
+#: cli.py:1278
+msgid "disable Yum plugins"
+msgstr "Yum プラグインを無効にする"
+
+#: cli.py:1280
+msgid "disable gpg signature checking"
+msgstr "GPG 署名の確認を無効にする"
+
+#: cli.py:1282
+msgid "disable plugins by name"
+msgstr "名前でプラグインを無効にする"
+
+#: cli.py:1285
+msgid "enable plugins by name"
+msgstr "名前でプラグインを有効にする"
+
+#: cli.py:1288
+msgid "skip packages with depsolving problems"
+msgstr "依存性に問題があるパッケージを飛ばす"
+
+#: cli.py:1290
+msgid "control whether color is used"
+msgstr ""
+
+#: output.py:298
+msgid "Jan"
+msgstr "1 月"
+
+#: output.py:298
+msgid "Feb"
+msgstr "2 月"
+
+#: output.py:298
+msgid "Mar"
+msgstr "3 月"
+
+#: output.py:298
+msgid "Apr"
+msgstr "4 月"
+
+#: output.py:298
+msgid "May"
+msgstr "5 月"
+
+#: output.py:298
+msgid "Jun"
+msgstr "6 月"
+
+#: output.py:299
+msgid "Jul"
+msgstr "7 月"
+
+#: output.py:299
+msgid "Aug"
+msgstr "8 月"
+
+#: output.py:299
+msgid "Sep"
+msgstr "9 月"
+
+#: output.py:299
+msgid "Oct"
+msgstr "10 月"
+
+#: output.py:299
+msgid "Nov"
+msgstr "11 月"
+
+#: output.py:299
+msgid "Dec"
+msgstr "12 月"
+
+#: output.py:309
+msgid "Trying other mirror."
+msgstr "他のミラーを試します。"
+
+#: output.py:525
+#, python-format
+msgid "Name : %s%s%s"
+msgstr "名前 : %s%s%s"
+
+#: output.py:526
+#, python-format
+msgid "Arch : %s"
+msgstr "アーキテクチャ: %s"
+
+#: output.py:528
+#, python-format
+msgid "Epoch : %s"
+msgstr "エポック : %s"
+
+#: output.py:529
+#, python-format
+msgid "Version : %s"
+msgstr "バージョン : %s"
+
+#: output.py:530
+#, python-format
+msgid "Release : %s"
+msgstr "リリース : %s"
+
+#: output.py:531
+#, python-format
+msgid "Size : %s"
+msgstr "容量 : %s"
+
+#: output.py:532
+#, python-format
+msgid "Repo : %s"
+msgstr "リポジトリー : %s"
+
+#: output.py:534
+#, python-format
+msgid "Committer : %s"
+msgstr "コミット者 : %s"
+
+#: output.py:535
+#, python-format
+msgid "Committime : %s"
+msgstr "コミット日時 : %s"
+
+#: output.py:536
+#, python-format
+msgid "Buildtime : %s"
+msgstr "ビルド日時 : %s"
+
+#: output.py:538
+#, python-format
+msgid "Installtime: %s"
+msgstr "インストール日時 : %s "
+
+#: output.py:539
+msgid "Summary : "
+msgstr "要約 : "
+
+#: output.py:541
+#, python-format
+msgid "URL : %s"
+msgstr "URL : %s"
+
+#: output.py:542
+#, python-format
+msgid "License : %s"
+msgstr "ライセンス : %s"
+
+#: output.py:543
+msgid "Description: "
+msgstr "説明 : "
+
+#: output.py:611
+msgid "y"
+msgstr "y"
+
+#: output.py:611
+msgid "yes"
+msgstr "はい"
+
+#: output.py:612
+msgid "n"
+msgstr "n"
+
+#: output.py:612
+msgid "no"
+msgstr "いいえ"
+
+# REMEMBER to Translate [Y/N] to the current locale
+#: output.py:616
+msgid "Is this ok [y/N]: "
+msgstr "これでいいですか? [y/N]"
+
+#: output.py:704
+#, python-format
+msgid ""
+"\n"
+"Group: %s"
+msgstr ""
+"\n"
+"グループ: %s"
+
+#: output.py:708
+#, python-format
+msgid " Group-Id: %s"
+msgstr " グループ ID: %s"
+
+#: output.py:713
+#, python-format
+msgid " Description: %s"
+msgstr " 説明: %s"
+
+#: output.py:715
+msgid " Mandatory Packages:"
+msgstr " 強制的なパッケージ:"
+
+#: output.py:716
+msgid " Default Packages:"
+msgstr " 標準パッケージ:"
+
+#: output.py:717
+msgid " Optional Packages:"
+msgstr " オプションパッケージ:"
+
+#: output.py:718
+msgid " Conditional Packages:"
+msgstr " 条件付パッケージ:"
+
+#: output.py:738
+#, python-format
+msgid "package: %s"
+msgstr "パッケージ : %s"
+
+#: output.py:740
+msgid " No dependencies for this package"
+msgstr " このパッケージの依存はありません"
+
+#: output.py:745
+#, python-format
+msgid " dependency: %s"
+msgstr " 依存性 : %s"
+
+#: output.py:747
+msgid " Unsatisfied dependency"
+msgstr " 満たされていない依存性"
+
+#: output.py:819
+#, python-format
+msgid "Repo : %s"
+msgstr "リポジトリー : %s"
+
+#: output.py:820
+msgid "Matched from:"
+msgstr ""
+
+#: output.py:828
+msgid "Description : "
+msgstr "説明 : "
+
+#: output.py:831
+#, python-format
+msgid "URL : %s"
+msgstr "URL : %s"
+
+#: output.py:834
+#, python-format
+msgid "License : %s"
+msgstr "ライセンス : %s"
+
+#: output.py:837
+#, python-format
+msgid "Filename : %s"
+msgstr "リリース : %s"
+
+#: output.py:841
+msgid "Other : "
+msgstr "その他 : "
+
+#: output.py:874
+msgid "There was an error calculating total download size"
+msgstr "総ダウンロード容量の計算中にエラーです"
+
+#: output.py:879
+#, python-format
+msgid "Total size: %s"
+msgstr "合計容量: %s"
+
+#: output.py:882
+#, python-format
+msgid "Total download size: %s"
+msgstr "総ダウンロード容量: %s"
+
+#: output.py:924
+msgid "Installing for dependencies"
+msgstr "依存性関連でのインストールをします"
+
+#: output.py:925
+msgid "Updating for dependencies"
+msgstr "依存性関連での更新をします"
+
+#: output.py:926
+msgid "Removing for dependencies"
+msgstr "依存性関連での削除をします"
+
+#: output.py:933 output.py:1031
+msgid "Skipped (dependency problems)"
+msgstr "飛ばしました (依存性の問題)"
+
+#: output.py:954
+msgid "Package"
+msgstr ""
+
+#: output.py:954
+msgid "Arch"
+msgstr ""
+
+#: output.py:955
+msgid "Version"
+msgstr ""
+
+#: output.py:955
+msgid "Repository"
+msgstr ""
+
+#: output.py:956
+msgid "Size"
+msgstr ""
+
+#: output.py:968
+#, python-format
+msgid ""
+" replacing %s%s%s.%s %s\n"
+"\n"
+msgstr " 置き換えています %s%s%s.%s %s\n\n"
+
+#: output.py:977
+#, python-format
+msgid ""
+"\n"
+"Transaction Summary\n"
+"%s\n"
+"Install %5.5s Package(s) \n"
+"Update %5.5s Package(s) \n"
+"Remove %5.5s Package(s) \n"
+msgstr ""
+"\n"
+"トランザクションの要約\n"
+"%s\n"
+"インストール %5.5s パッケージ \n"
+"更新 %5.5s パッケージ \n"
+"削除 %5.5s パッケージ \n"
+
+#: output.py:1025
+msgid "Removed"
+msgstr "削除しました"
+
+#: output.py:1026
+msgid "Dependency Removed"
+msgstr "依存性の削除をしました"
+
+#: output.py:1028
+msgid "Dependency Installed"
+msgstr "依存性関連をインストールしました"
+
+#: output.py:1030
+msgid "Dependency Updated"
+msgstr "依存性を更新しました"
+
+#: output.py:1032
+msgid "Replaced"
+msgstr "置換しました"
+
+#: output.py:1033
+msgid "Failed"
+msgstr "失敗しました"
+
+#: output.py:1099
+msgid "two"
+msgstr ""
+
+#: output.py:1106
+#, python-format
+msgid ""
+"\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s "
+"seconds to exit.\n"
+msgstr ""
+
+#: output.py:1116
+msgid "user interrupt"
+msgstr "ユーザーの割り込み"
+
+#: output.py:1132
+msgid "Total"
+msgstr "合計"
+
+#: output.py:1146
+msgid "installed"
+msgstr "インストール"
+
+#: output.py:1147
+msgid "updated"
+msgstr "更新"
+
+#: output.py:1148
+msgid "obsoleted"
+msgstr "不要"
+
+#: output.py:1149
+msgid "erased"
+msgstr "削除"
+
+#: output.py:1153
+#, python-format
+msgid "---> Package %s.%s %s:%s-%s set to be %s"
+msgstr "---> パッケージ %s.%s %s:%s-%s を%sに設定しました"
+
+#: output.py:1160
+msgid "--> Running transaction check"
+msgstr "--> トランザクションの確認を実行しています"
+
+#: output.py:1165
+msgid "--> Restarting Dependency Resolution with new changes."
+msgstr "--> 新しい変更と依存性の解決を再開しています。"
+
+#: output.py:1170
+msgid "--> Finished Dependency Resolution"
+msgstr "--> 依存性解決を終了しました"
+
+#: output.py:1175
+#, python-format
+msgid "--> Processing Dependency: %s for package: %s"
+msgstr "--> 依存性の処理をしています: %s のパッケージ: %s"
+
+#: output.py:1180
+#, python-format
+msgid "--> Unresolved Dependency: %s"
+msgstr "--> 未解決の依存性: %s"
+
+#: output.py:1186
+#, python-format
+msgid "--> Processing Conflict: %s conflicts %s"
+msgstr "--> 衝突を処理しています: %s は %s と衝突しています"
+
+#: output.py:1189
+msgid "--> Populating transaction set with selected packages. Please wait."
+msgstr ""
+
+#: output.py:1193
+#, python-format
+msgid "---> Downloading header for %s to pack into transaction set."
+msgstr ""
+"---> トランザクションセットに束ねるために %s のヘッダーをダウンロードしていま"
+"す"
+
+#: yumcommands.py:41
+msgid "You need to be root to perform this command."
+msgstr "このコマンドを実行するには root である必要があります。"
+
+#: yumcommands.py:48
+msgid ""
+"\n"
+"You have enabled checking of packages via GPG keys. This is a good thing. \n"
+"However, you do not have any GPG public keys installed. You need to "
+"download\n"
+"the keys for packages you wish to install and install them.\n"
+"You can do that by running the command:\n"
+" rpm --import public.gpg.key\n"
+"\n"
+"\n"
+"Alternatively you can specify the url to the key you would like to use\n"
+"for a repository in the 'gpgkey' option in a repository section and yum \n"
+"will install it for you.\n"
+"\n"
+"For more information contact your distribution or package provider.\n"
+msgstr ""
+
+#: yumcommands.py:68
+#, python-format
+msgid "Error: Need to pass a list of pkgs to %s"
+msgstr "エラー: パッケージの一覧を %s に渡す必要があります"
+
+#: yumcommands.py:74
+msgid "Error: Need an item to match"
+msgstr "エラー: 一致する項目が必要です"
+
+#: yumcommands.py:80
+msgid "Error: Need a group or list of groups"
+msgstr "エラー: グループ化グループの一覧が必要です"
+
+#: yumcommands.py:89
+#, python-format
+msgid "Error: clean requires an option: %s"
+msgstr "エラー: clean は引数をひとつ要求します: %s"
+
+#: yumcommands.py:94
+#, python-format
+msgid "Error: invalid clean argument: %r"
+msgstr "エラー: 不正な clean の引数です: %r"
+
+#: yumcommands.py:107
+msgid "No argument to shell"
+msgstr "シェルへの引数がありません"
+
+#: yumcommands.py:110
+#, python-format
+msgid "Filename passed to shell: %s"
+msgstr "シェルに渡すファイル名: %s"
+
+#: yumcommands.py:114
+#, python-format
+msgid "File %s given as argument to shell does not exist."
+msgstr "シェルへの引数として渡したファイル %s は存在しません。"
+
+#: yumcommands.py:120
+msgid "Error: more than one file given as argument to shell."
+msgstr "エラー: シェルへの引数としてひとつ以上のファイルを渡しました。"
+
+#: yumcommands.py:169
+msgid "PACKAGE..."
+msgstr "パッケージ..."
+
+#: yumcommands.py:172
+msgid "Install a package or packages on your system"
+msgstr "システムにパッケージをインストールする"
+
+#: yumcommands.py:180
+msgid "Setting up Install Process"
+msgstr "インストール処理の設定をしています"
+
+#: yumcommands.py:191
+msgid "[PACKAGE...]"
+msgstr "[パッケージ...]"
+
+#: yumcommands.py:194
+msgid "Update a package or packages on your system"
+msgstr "システムのパッケージを更新する"
+
+#: yumcommands.py:201
+msgid "Setting up Update Process"
+msgstr "更新処理の設定をしています"
+
+#: yumcommands.py:243
+msgid "Display details about a package or group of packages"
+msgstr "パッケージもしくはパッケージのグループについての詳細を表示する"
+
+#: yumcommands.py:292
+msgid "Installed Packages"
+msgstr "インストール済みパッケージ"
+
+#: yumcommands.py:300
+msgid "Available Packages"
+msgstr "利用可能なパッケージ"
+
+#: yumcommands.py:304
+msgid "Extra Packages"
+msgstr "外部パッケージ"
+
+#: yumcommands.py:308
+msgid "Updated Packages"
+msgstr "更新したパッケージ"
+
+#: yumcommands.py:316 yumcommands.py:323 yumcommands.py:600
+msgid "Obsoleting Packages"
+msgstr "パッケージを不要にしています"
+
+#: yumcommands.py:325
+msgid "Recently Added Packages"
+msgstr "最近追加したパッケージ"
+
+#: yumcommands.py:332
+msgid "No matching Packages to list"
+msgstr "表示するパッケージはありません"
+
+#: yumcommands.py:346
+msgid "List a package or groups of packages"
+msgstr "パッケージグループの一覧を表示する"
+
+#: yumcommands.py:358
+msgid "Remove a package or packages from your system"
+msgstr "システムから削除するパッケージ"
+
+#: yumcommands.py:365
+msgid "Setting up Remove Process"
+msgstr "削除処理の設定をしています"
+
+#: yumcommands.py:379
+msgid "Setting up Group Process"
+msgstr "グループ処理の設定をしています"
+
+#: yumcommands.py:385
+msgid "No Groups on which to run command"
+msgstr ""
+
+#: yumcommands.py:398
+msgid "List available package groups"
+msgstr "利用できるパッケージグループの一覧"
+
+#: yumcommands.py:415
+msgid "Install the packages in a group on your system"
+msgstr "システムのグループのパッケージをインストールする"
+
+#: yumcommands.py:437
+msgid "Remove the packages in a group from your system"
+msgstr "システムからグループのパッケージを削除する"
+
+#: yumcommands.py:464
+msgid "Display details about a package group"
+msgstr "パッケージグループについての詳細を表示する"
+
+#: yumcommands.py:488
+msgid "Generate the metadata cache"
+msgstr "メタデータキャッシュを生成する"
+
+#: yumcommands.py:494
+msgid "Making cache files for all metadata files."
+msgstr "すべて飲めたデータファイルのキャッシュを作成します。"
+
+#: yumcommands.py:495
+msgid "This may take a while depending on the speed of this computer"
+msgstr ""
+
+#: yumcommands.py:516
+msgid "Metadata Cache Created"
+msgstr "メタデータのキャッシュを作成しました"
+
+#: yumcommands.py:530
+msgid "Remove cached data"
+msgstr "キャッシュデータを削除する"
+
+#: yumcommands.py:551
+msgid "Find what package provides the given value"
+msgstr ""
+
+#: yumcommands.py:571
+msgid "Check for available package updates"
+msgstr "更新に利用できるパッケージを確認する"
+
+#: yumcommands.py:620
+msgid "Search package details for the given string"
+msgstr "指定した文字列でパッケージの詳細を検索する"
+
+#: yumcommands.py:626
+msgid "Searching Packages: "
+msgstr "パッケージの検索中: "
+
+#: yumcommands.py:643
+msgid "Update packages taking obsoletes into account"
+msgstr ""
+
+#: yumcommands.py:651
+msgid "Setting up Upgrade Process"
+msgstr "更新処理の設定をしています"
+
+#: yumcommands.py:665
+msgid "Install a local RPM"
+msgstr "ローカル RPM のインストール"
+
+#: yumcommands.py:673
+msgid "Setting up Local Package Process"
+msgstr "ローカルパッケージ処理の設定をしています"
+
+#: yumcommands.py:692
+msgid "Determine which package provides the given dependency"
+msgstr ""
+
+#: yumcommands.py:695
+msgid "Searching Packages for Dependency:"
+msgstr "依存性のパッケージ検索:"
+
+#: yumcommands.py:709
+msgid "Run an interactive yum shell"
+msgstr "対話型の yum シェルを実行する"
+
+#: yumcommands.py:715
+msgid "Setting up Yum Shell"
+msgstr "Yum シェルの設定をしています"
+
+#: yumcommands.py:733
+msgid "List a package's dependencies"
+msgstr "パッケージの依存性の一覧を表示する"
+
+#: yumcommands.py:739
+msgid "Finding dependencies: "
+msgstr "依存性の検索中: "
+
+#: yumcommands.py:755
+msgid "Display the configured software repositories"
+msgstr "ソフトウェアリポジトリーの構成を表示する"
+
+#: yumcommands.py:803 yumcommands.py:804
+msgid "enabled"
+msgstr "有効"
+
+#: yumcommands.py:812 yumcommands.py:813
+msgid "disabled"
+msgstr "無効"
+
+#: yumcommands.py:827
+msgid "Repo-id : "
+msgstr "リポジトリーID : "
+
+#: yumcommands.py:828
+msgid "Repo-name : "
+msgstr "リポジトリー名 : "
+
+#: yumcommands.py:829
+msgid "Repo-status : "
+msgstr "リポジトリーの状態: "
+
+#: yumcommands.py:831
+msgid "Repo-revision: "
+msgstr "リポジトリーのリビジョン: "
+
+#: yumcommands.py:835
+msgid "Repo-tags : "
+msgstr "リポジトリータグ : "
+
+#: yumcommands.py:841
+msgid "Repo-distro-tags: "
+msgstr ""
+
+#: yumcommands.py:846
+msgid "Repo-updated: "
+msgstr ""
+
+#: yumcommands.py:848
+msgid "Repo-pkgs : "
+msgstr ""
+
+#: yumcommands.py:849
+msgid "Repo-size : "
+msgstr "リポジトリー容量 : %s"
+
+#: yumcommands.py:856
+msgid "Repo-baseurl: "
+msgstr ""
+
+#: yumcommands.py:860
+msgid "Repo-metalink: "
+msgstr ""
+
+#: yumcommands.py:863
+msgid "Repo-mirrors: "
+msgstr ""
+
+#: yumcommands.py:867
+msgid "Repo-exclude: "
+msgstr ""
+
+#: yumcommands.py:871
+msgid "Repo-include: "
+msgstr ""
+
+#: yumcommands.py:881 yumcommands.py:907
+msgid "repo id"
+msgstr ""
+
+#: yumcommands.py:895 yumcommands.py:896 yumcommands.py:910
+msgid "status"
+msgstr ""
+
+#: yumcommands.py:908
+msgid "repo name"
+msgstr ""
+
+#: yumcommands.py:934
+msgid "Display a helpful usage message"
+msgstr "役立つ使い方のメッセージを表示する"
+
+#: yumcommands.py:968
+#, python-format
+msgid "No help available for %s"
+msgstr "%s のヘルプは利用できません"
+
+#: yumcommands.py:973
+msgid ""
+"\n"
+"\n"
+"aliases: "
+msgstr ""
+"\n"
+"\n"
+"別名: "
+
+#: yumcommands.py:975
+msgid ""
+"\n"
+"\n"
+"alias: "
+msgstr ""
+"\n"
+"\n"
+"別名: "
+
+#: yumcommands.py:1003
+msgid "Setting up Reinstall Process"
+msgstr "再インストール処理の設定をしています"
+
+#: yumcommands.py:1017
+msgid "reinstall a package"
+msgstr "パッケージの再インストール"
+
+#: yummain.py:42
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel"
+msgstr ""
+"\n"
+"\n"
+"ユーザーの取り消しで終了しています"
+
+#: yummain.py:48
+msgid ""
+"\n"
+"\n"
+"Exiting on Broken Pipe"
+msgstr ""
+"\n"
+"\n"
+"パイプが壊れたため終了しています"
+
+#: yummain.py:126
+msgid "Running"
+msgstr "実行中"
+
+#: yummain.py:127
+msgid "Sleeping"
+msgstr "スリープ中"
+
+#: yummain.py:128
+msgid "Uninteruptable"
+msgstr ""
+
+#: yummain.py:129
+msgid "Zombie"
+msgstr "ゾンビ"
+
+#: yummain.py:130
+msgid "Traced/Stopped"
+msgstr ""
+
+#: yummain.py:131
+msgid "Unknown"
+msgstr "不明"
+
+#: yummain.py:135
+msgid " The other application is: PackageKit"
+msgstr " 他のアプリケーション: PackageKit"
+
+#: yummain.py:137
+#, python-format
+msgid " The other application is: %s"
+msgstr " 他のアプリケーション: %s"
+
+#: yummain.py:140
+#, python-format
+msgid " Memory : %5s RSS (%5sB VSZ)"
+msgstr " メモリー: %5s RSS (%5sB VSZ)"
+
+#: yummain.py:144
+#, python-format
+msgid " Started: %s - %s ago"
+msgstr " 開始 : %s - %s 秒経過"
+
+#: yummain.py:146
+#, python-format
+msgid " State : %s, pid: %d"
+msgstr " 状態 : %s、PID: %d"
+
+#: yummain.py:171
+msgid ""
+"Another app is currently holding the yum lock; waiting for it to exit..."
+msgstr ""
+"別のアプリケーションが現在 yum のロックを持っています。終了するまで待っていま"
+"す..."
+
+#: yummain.py:199 yummain.py:238
+#, python-format
+msgid "Error: %s"
+msgstr "エラー: %s"
+
+#: yummain.py:209 yummain.py:250
+#, python-format
+msgid "Unknown Error(s): Exit Code: %d:"
+msgstr "不明なエラー: 終了コード: %d:"
+
+#: yummain.py:216
+msgid "Resolving Dependencies"
+msgstr "依存性の解決をしています"
+
+#: yummain.py:240
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " 問題を回避するために --skip-broken を用いることができません"
+
+#: yummain.py:241
+msgid ""
+" You could try running: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+msgstr ""
+" 実行を試せません: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+
+#: yummain.py:256
+msgid ""
+"\n"
+"Dependencies Resolved"
+msgstr ""
+"\n"
+"依存性を解決しました"
+
+#: yummain.py:270
+msgid "Complete!"
+msgstr "完了しました!"
+
+#: yummain.py:325
+msgid ""
+"\n"
+"\n"
+"Exiting on user cancel."
+msgstr "\n\n\nユーザーによる取り消しで終了しています。"
+
+#: yum/depsolve.py:84
+msgid "doTsSetup() will go away in a future version of Yum.\n"
+msgstr "doTsSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/depsolve.py:99
+msgid "Setting up TransactionSets before config class is up"
+msgstr "構成クラスが終わる前にトランザクションセットを設定しています"
+
+#: yum/depsolve.py:150
+#, python-format
+msgid "Invalid tsflag in config file: %s"
+msgstr "構成ファイルの tsflag が不正です: %s"
+
+#: yum/depsolve.py:161
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "依存性の pkgSack を検索しています: %s"
+
+#: yum/depsolve.py:184
+#, python-format
+msgid "Potential match for %s from %s"
+msgstr ""
+
+#: yum/depsolve.py:192
+#, python-format
+msgid "Matched %s to require for %s"
+msgstr ""
+
+#: yum/depsolve.py:233
+#, python-format
+msgid "Member: %s"
+msgstr "メンバー: %s"
+
+#: yum/depsolve.py:247 yum/depsolve.py:738
+#, python-format
+msgid "%s converted to install"
+msgstr "%s をインストールに変更しました"
+
+#: yum/depsolve.py:254
+#, python-format
+msgid "Adding Package %s in mode %s"
+msgstr "モード %s にパッケージ %s を追加しています"
+
+#: yum/depsolve.py:264
+#, python-format
+msgid "Removing Package %s"
+msgstr "パッケージ %s の削除をしています"
+
+#: yum/depsolve.py:275
+#, python-format
+msgid "%s requires: %s"
+msgstr "%s の要求: %s"
+
+#: yum/depsolve.py:333
+msgid "Needed Require has already been looked up, cheating"
+msgstr "必要な要求は既に調べましたが不正をしています"
+
+#: yum/depsolve.py:343
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "必要な要求はパッケージ名ではありません。調べています: %s"
+
+#: yum/depsolve.py:350
+#, python-format
+msgid "Potential Provider: %s"
+msgstr ""
+
+#: yum/depsolve.py:373
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr ""
+
+#: yum/depsolve.py:377
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr ""
+
+#: yum/depsolve.py:381
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr ""
+
+#: yum/depsolve.py:394
+#, python-format
+msgid "TSINFO: Obsoleting %s with %s to resolve dep."
+msgstr ""
+
+#: yum/depsolve.py:397
+#, python-format
+msgid "TSINFO: Updating %s to resolve dep."
+msgstr ""
+
+#: yum/depsolve.py:405
+#, python-format
+msgid "Cannot find an update path for dep for: %s"
+msgstr ""
+
+#: yum/depsolve.py:415
+#, python-format
+msgid "Unresolvable requirement %s for %s"
+msgstr "要求された %s は %s で解決しませんでした"
+
+#: yum/depsolve.py:438
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr ""
+
+#: yum/depsolve.py:480
+#, python-format
+msgid "%s is in providing packages but it is already installed, removing."
+msgstr ""
+"%s を提供するパッケージはすでにインストールされています。削除しています。"
+
+#: yum/depsolve.py:496
+#, python-format
+msgid "Potential resolving package %s has newer instance in ts."
+msgstr ""
+
+#: yum/depsolve.py:507
+#, python-format
+msgid "Potential resolving package %s has newer instance installed."
+msgstr ""
+
+#: yum/depsolve.py:515 yum/depsolve.py:564
+#, python-format
+msgid "Missing Dependency: %s is needed by package %s"
+msgstr "依存性の欠落: %s はパッケージ %s が必要としています"
+
+#: yum/depsolve.py:528
+#, python-format
+msgid "%s already in ts, skipping this one"
+msgstr ""
+
+#: yum/depsolve.py:574
+#, python-format
+msgid "TSINFO: Marking %s as update for %s"
+msgstr "TSINFO: %s を更新として %s で設定しています"
+
+#: yum/depsolve.py:582
+#, python-format
+msgid "TSINFO: Marking %s as install for %s"
+msgstr "TSINFO: %s をインストールとして %s で設定しています"
+
+#: yum/depsolve.py:675 yum/depsolve.py:756
+msgid "Success - empty transaction"
+msgstr "成功 - 空のトランザクション"
+
+#: yum/depsolve.py:713 yum/depsolve.py:728
+msgid "Restarting Loop"
+msgstr "ループを再開しています"
+
+#: yum/depsolve.py:744
+msgid "Dependency Process ending"
+msgstr "依存性の処理を終了しています"
+
+#: yum/depsolve.py:750
+#, python-format
+msgid "%s from %s has depsolving problems"
+msgstr "%s(%s) は依存性に問題があります"
+
+#: yum/depsolve.py:757
+msgid "Success - deps resolved"
+msgstr "成功 - 依存性を解決しました"
+
+#: yum/depsolve.py:771
+#, python-format
+msgid "Checking deps for %s"
+msgstr "%s の依存性を確認しています"
+
+#: yum/depsolve.py:854
+#, python-format
+msgid "looking for %s as a requirement of %s"
+msgstr ""
+
+#: yum/depsolve.py:996
+#, python-format
+msgid "Running compare_providers() for %s"
+msgstr "%s の compare_providers() を実行しています"
+
+#: yum/depsolve.py:1024 yum/depsolve.py:1030
+#, python-format
+msgid "better arch in po %s"
+msgstr ""
+
+#: yum/depsolve.py:1091
+#, python-format
+msgid "%s obsoletes %s"
+msgstr ""
+
+#: yum/depsolve.py:1107
+#, python-format
+msgid ""
+"archdist compared %s to %s on %s\n"
+" Winner: %s"
+msgstr ""
+
+#: yum/depsolve.py:1114
+#, python-format
+msgid "common sourcerpm %s and %s"
+msgstr "%s と %s の共通ソース RPM(SRPM)"
+
+#: yum/depsolve.py:1120
+#, python-format
+msgid "common prefix of %s between %s and %s"
+msgstr "%s から %s と %s の共通接頭辞"
+
+#: yum/depsolve.py:1128
+#, python-format
+msgid "Best Order: %s"
+msgstr "最適の順序: %s"
+
+#: yum/__init__.py:176
+msgid "doConfigSetup() will go away in a future version of Yum.\n"
+msgstr "doConfigSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/__init__.py:386
+#, python-format
+msgid "Repository %r is missing name in configuration, using id"
+msgstr "リポジトリー %r は構成中に名前がありませんので ID を使います"
+
+#: yum/__init__.py:424
+msgid "plugins already initialised"
+msgstr "プラグインは既に初期化されています"
+
+#: yum/__init__.py:431
+msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
+msgstr "dbRpmDBSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/__init__.py:441
+msgid "Reading Local RPMDB"
+msgstr "ローカルの RPMDB を読み込んでいます"
+
+#: yum/__init__.py:459
+msgid "doRepoSetup() will go away in a future version of Yum.\n"
+msgstr "doRepoSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/__init__.py:479
+msgid "doSackSetup() will go away in a future version of Yum.\n"
+msgstr "doSackSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/__init__.py:496
+msgid "Setting up Package Sacks"
+msgstr ""
+
+#: yum/__init__.py:539
+#, python-format
+msgid "repo object for repo %s lacks a _resetSack method\n"
+msgstr ""
+
+#: yum/__init__.py:540
+msgid "therefore this repo cannot be reset.\n"
+msgstr ""
+
+#: yum/__init__.py:545
+msgid "doUpdateSetup() will go away in a future version of Yum.\n"
+msgstr "doUpdateSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/__init__.py:557
+msgid "Building updates object"
+msgstr "オブジェクトの更新を構築しています"
+
+#: yum/__init__.py:588
+msgid "doGroupSetup() will go away in a future version of Yum.\n"
+msgstr "doGroupSetup() は Yum の将来のバージョンでなくなります。\n"
+
+#: yum/__init__.py:612
+msgid "Getting group metadata"
+msgstr "グループメタデータを取得しています"
+
+#: yum/__init__.py:637
+#, python-format
+msgid "Adding group file from repository: %s"
+msgstr "リポジトリーからグループファイルを追加しています: %s"
+
+#: yum/__init__.py:642
+#, python-format
+msgid "Failed to add groups file for repository: %s - %s"
+msgstr "リポジトリーのグループファイルに追加できませんでした: %s - %s"
+
+#: yum/__init__.py:648
+msgid "No Groups Available in any repository"
+msgstr "いずれかのリポジトリーに利用できるグループはありません"
+
+#: yum/__init__.py:698
+msgid "Importing additional filelist information"
+msgstr "追加ファイル一覧情報にインポートしています"
+
+#: yum/__init__.py:706
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr "終了していない残作業があります。それらを終了するためにはじめに yum-complete-transaction の実行を検討するかもしれません。"
+
+#: yum/__init__.py:772
+#, python-format
+msgid "Skip-broken round %i"
+msgstr ""
+
+#: yum/__init__.py:824
+#, python-format
+msgid "Skip-broken took %i rounds "
+msgstr ""
+
+#: yum/__init__.py:825
+msgid ""
+"\n"
+"Packages skipped because of dependency problems:"
+msgstr ""
+"\n"
+"パッケージは依存関係に問題があるため、飛ばします:"
+
+#: yum/__init__.py:829
+#, python-format
+msgid " %s from %s"
+msgstr ""
+
+#: yum/__init__.py:968
+msgid ""
+"Warning: scriptlet or other non-fatal errors occurred during transaction."
+msgstr "警告: スクリプト、もしくはその他で処理の間に致命的ではないエラーが発生しました。"
+
+#: yum/__init__.py:983
+#, python-format
+msgid "Failed to remove transaction file %s"
+msgstr "トランザクションファイル %s の削除に失敗しました"
+
+#: yum/__init__.py:1025
+#, python-format
+msgid "excluding for cost: %s from %s"
+msgstr ""
+
+#: yum/__init__.py:1056
+msgid "Excluding Packages in global exclude list"
+msgstr "全体の除外一覧でパッケージを除外します"
+
+#: yum/__init__.py:1058
+#, python-format
+msgid "Excluding Packages from %s"
+msgstr "%s からパッケージを除外しています"
+
+#: yum/__init__.py:1085
+#, python-format
+msgid "Reducing %s to included packages only"
+msgstr ""
+
+#: yum/__init__.py:1091
+#, python-format
+msgid "Keeping included package %s"
+msgstr ""
+
+#: yum/__init__.py:1097
+#, python-format
+msgid "Removing unmatched package %s"
+msgstr ""
+
+#: yum/__init__.py:1100
+msgid "Finished"
+msgstr "完了しました"
+
+#: yum/__init__.py:1130
+#, python-format
+msgid "Unable to check if PID %s is active"
+msgstr ""
+
+#: yum/__init__.py:1134
+#, python-format
+msgid "Existing lock %s: another copy is running as pid %s."
+msgstr "ロックファイル %s が存在します: PID %s として別に実行されています。"
+
+#: yum/__init__.py:1204
+msgid "Package does not match intended download"
+msgstr "パッケージは意図したダウンロードと一致しません"
+
+#: yum/__init__.py:1219
+msgid "Could not perform checksum"
+msgstr "チェックサムの実行ができません"
+
+#: yum/__init__.py:1222
+msgid "Package does not match checksum"
+msgstr "パッケージのチェックサムが一致しません"
+
+#: yum/__init__.py:1265
+#, python-format
+msgid "package fails checksum but caching is enabled for %s"
+msgstr "%s のためにキャッシュを有効にしていますが、パッケージのチェックサム演算に失敗します。"
+
+#: yum/__init__.py:1268 yum/__init__.py:1297
+#, python-format
+msgid "using local copy of %s"
+msgstr "%s のローカルコピーを使う"
+
+#: yum/__init__.py:1309
+#, python-format
+msgid ""
+"Insufficient space in download directory %s\n"
+" * free %s\n"
+" * needed %s"
+msgstr ""
+"ダウンロードディレクトリー %s の空きが不十分です\n"
+" * 空き容量 %s\n"
+" * 必要容量 %s"
+
+#: yum/__init__.py:1356
+msgid "Header is not complete."
+msgstr "ヘッダーが完了していません。"
+
+#: yum/__init__.py:1393
+#, python-format
+msgid ""
+"Header not in local cache and caching-only mode enabled. Cannot download %s"
+msgstr "ヘッダーはキャッシュのみのモードが有効で、ローカルにありません。%s のダウンロードができません"
+
+#: yum/__init__.py:1448
+#, python-format
+msgid "Public key for %s is not installed"
+msgstr "%s の公開鍵がインストールされていません"
+
+#: yum/__init__.py:1452
+#, python-format
+msgid "Problem opening package %s"
+msgstr "パッケージ %s を開いている最中に問題です"
+
+#: yum/__init__.py:1460
+#, python-format
+msgid "Public key for %s is not trusted"
+msgstr "%s の公開鍵が信頼されません"
+
+#: yum/__init__.py:1464
+#, python-format
+msgid "Package %s is not signed"
+msgstr "パッケージ %s は署名されていません"
+
+#: yum/__init__.py:1502
+#, python-format
+msgid "Cannot remove %s"
+msgstr "%s を削除できません"
+
+#: yum/__init__.py:1505
+#, python-format
+msgid "%s removed"
+msgstr "%s を削除しました"
+
+#: yum/__init__.py:1541
+#, python-format
+msgid "Cannot remove %s file %s"
+msgstr "%s のファイル %s を削除できませんでした"
+
+#: yum/__init__.py:1544
+#, python-format
+msgid "%s file %s removed"
+msgstr "%s のファイル %s を削除しました"
+
+#: yum/__init__.py:1546
+#, python-format
+msgid "%d %s files removed"
+msgstr "%d %sファイルを削除しました"
+
+#: yum/__init__.py:1614
+#, python-format
+msgid "More than one identical match in sack for %s"
+msgstr ""
+
+#: yum/__init__.py:1619
+#, python-format
+msgid "Nothing matches %s.%s %s:%s-%s from update"
+msgstr "更新から %s.%s %s:%s-%s に一致しません"
+
+#: yum/__init__.py:1838
+msgid ""
+"searchPackages() will go away in a future version of "
+"Yum. Use searchGenerator() instead. \n"
+msgstr ""
+"searchPackages() は Yum の将来のバージョンでなくなりま"
+"す。 代わりに searchGenerator() を使います。\n"
+
+#: yum/__init__.py:1876
+#, python-format
+msgid "Searching %d packages"
+msgstr "%d 個のパッケージを検索しています"
+
+#: yum/__init__.py:1879
+#, python-format
+msgid "searching package %s"
+msgstr "パッケージ %s を検索しています"
+
+#: yum/__init__.py:1890
+msgid "searching in file entries"
+msgstr "ファイルのエントリーから検索しています"
+
+#: yum/__init__.py:1896
+msgid "searching in provides entries"
+msgstr "提供されたエントリーを検索しています"
+
+#: yum/__init__.py:1929
+#, python-format
+msgid "Provides-match: %s"
+msgstr ""
+
+#: yum/__init__.py:1978
+msgid "No group data available for configured repositories"
+msgstr "構成されたリポジトリーに利用できるグループはありません"
+
+#: yum/__init__.py:2009 yum/__init__.py:2028 yum/__init__.py:2058
+#: yum/__init__.py:2064 yum/__init__.py:2143 yum/__init__.py:2147
+#, python-format
+msgid "No Group named %s exists"
+msgstr "グループ名 %s が存在しません"
+
+#: yum/__init__.py:2039 yum/__init__.py:2159
+#, python-format
+msgid "package %s was not marked in group %s"
+msgstr "パッケージ%s はグループ %s で設定されていません"
+
+#: yum/__init__.py:2085
+#, python-format
+msgid "Adding package %s from group %s"
+msgstr "パッケージ %s をグループ %s から追加しています"
+
+#: yum/__init__.py:2090
+#, python-format
+msgid "No package named %s available to be installed"
+msgstr ""
+
+#: yum/__init__.py:2186
+#, python-format
+msgid "Package tuple %s could not be found in packagesack"
+msgstr ""
+
+#: yum/__init__.py:2201
+msgid ""
+"getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
+msgstr ""
+
+#: yum/__init__.py:2253 yum/__init__.py:2294
+msgid "Invalid version flag"
+msgstr "不正なバージョンフラグ"
+
+#: yum/__init__.py:2268 yum/__init__.py:2272
+#, python-format
+msgid "No Package found for %s"
+msgstr "%s のパッケージが見つかりません"
+
+#: yum/__init__.py:2449
+msgid "Package Object was not a package object instance"
+msgstr ""
+
+#: yum/__init__.py:2453
+msgid "Nothing specified to install"
+msgstr "インストールへの指定がありません"
+
+#: yum/__init__.py:2469
+#, python-format
+msgid "Checking for virtual provide or file-provide for %s"
+msgstr ""
+
+#: yum/__init__.py:2475 yum/__init__.py:2740 yum/__init__.py:2900
+#, python-format
+msgid "No Match for argument: %s"
+msgstr "引数に一致しません: %s"
+
+#: yum/__init__.py:2548
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "パッケージ %s はインストール済みか利用できません"
+
+#: yum/__init__.py:2551
+msgid "No package(s) available to install"
+msgstr "インストールに利用できるパッケージはありません"
+
+#: yum/__init__.py:2564
+#, python-format
+msgid "Package: %s - already in transaction set"
+msgstr "パッケージ: %s - すでにトランザクション設定をしています"
+
+#: yum/__init__.py:2580
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr ""
+"パッケージ %s は %s に不要です。代わりに %s のインストールを試みています"
+
+#: yum/__init__.py:2588
+#, python-format
+msgid "Package %s already installed and latest version"
+msgstr "パッケージ %s はインストール済みか最新バージョンです"
+
+#: yum/__init__.py:2595
+#, python-format
+msgid "Package matching %s already installed. Checking for update."
+msgstr ""
+"一致したパッケージ %s はすでにインストールされています。更新を確認していま"
+"す。"
+
+#: yum/__init__.py:2675
+msgid "Updating Everything"
+msgstr "すべて更新しています"
+
+#: yum/__init__.py:2693 yum/__init__.py:2802 yum/__init__.py:2823
+#: yum/__init__.py:2849
+#, python-format
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
+msgstr "既に不要なパッケージの更新はありません: %s.%s %s:%s-%s"
+
+#: yum/__init__.py:2728 yum/__init__.py:2897
+#, python-format
+msgid "%s"
+msgstr "%s"
+
+#: yum/__init__.py:2793
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "パッケージは既に不要です: %s.%s %s:%s-%s"
+
+#: yum/__init__.py:2826 yum/__init__.py:2852
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr ""
+"既にアップデートされているのでパッケージをアップデートしません: %s.%s %s:%s-%"
+"s"
+
+#: yum/__init__.py:2913
+msgid "No package matched to remove"
+msgstr "削除に一致するパッケージはありません"
+
+#: yum/__init__.py:2947
+#, python-format
+msgid "Cannot open file: %s. Skipping."
+msgstr "ファイル %s が開けません。飛ばします。"
+
+#: yum/__init__.py:2949
+#, python-format
+msgid "Examining %s: %s"
+msgstr "%s を調べています: %s"
+
+#: yum/__init__.py:2957
+#, python-format
+msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
+msgstr ""
+"トランザクションにパッケージ %s を追加できません。アーキテクチャに互換性があ"
+"りません: %s"
+
+#: yum/__init__.py:2965
+#, python-format
+msgid ""
+"Package %s not installed, cannot update it. Run yum install to install it "
+"instead."
+msgstr ""
+"パッケージ %s はインストールされていないので更新できません。代わりに「yum "
+"install」を実行してインストールしてください。"
+
+#: yum/__init__.py:2998
+#, python-format
+msgid "Excluding %s"
+msgstr "%s の除外中"
+
+#: yum/__init__.py:3002
+#, python-format
+msgid "Marking %s to be installed"
+msgstr "%s をインストール済みとして設定しています"
+
+#: yum/__init__.py:3007
+#, python-format
+msgid "Marking %s as an update to %s"
+msgstr "次のリポジトリーへの更新として %s を設定します: %s"
+
+#: yum/__init__.py:3012
+#, python-format
+msgid "%s: does not update installed package."
+msgstr "%s: インストールされたパッケージを更新しません。"
+
+#: yum/__init__.py:3029
+msgid "Problem in reinstall: no package matched to remove"
+msgstr "再インストール中に問題: 削除するパッケージがありません"
+
+#: yum/__init__.py:3040
+#, python-format
+msgid "Package %s is allowed multiple installs, skipping"
+msgstr "パッケージ %s は複数インストールが許可されています。飛ばします"
+
+#: yum/__init__.py:3050
+msgid "Problem in reinstall: no package matched to install"
+msgstr "再インストール中に問題: インストールするパッケージがありません"
+
+#: yum/__init__.py:3085
+#, python-format
+msgid "Retrieving GPG key from %s"
+msgstr "%s から GPG 鍵を取得しています"
+
+#: yum/__init__.py:3105
+msgid "GPG key retrieval failed: "
+msgstr "GPG 鍵の取得に失敗しました: "
+
+#: yum/__init__.py:3116
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "GPG 鍵の解析に失敗しました: 鍵は値 %s を持っていません"
+
+#: yum/__init__.py:3148
+#, python-format
+msgid "GPG key at %s (0x%s) is already installed"
+msgstr "GPG 鍵 %s (0x%s) はすでにインストールしています"
+
+#: yum/__init__.py:3153 yum/__init__.py:3214
+#, python-format
+msgid "Importing GPG key 0x%s \"%s\" from %s"
+msgstr "GPG 公開鍵 0x%s 「%s」を %s からインポートしています"
+
+#: yum/__init__.py:3169
+msgid "Not installing key"
+msgstr "インストールする鍵がありません"
+
+#: yum/__init__.py:3175
+#, python-format
+msgid "Key import failed (code %d)"
+msgstr "鍵のインポートに失敗しました (コード: %d)"
+
+#: yum/__init__.py:3176 yum/__init__.py:3236
+msgid "Key imported successfully"
+msgstr "鍵のインポートに成功しました"
+
+#: yum/__init__.py:3181 yum/__init__.py:3241
+#, python-format
+msgid ""
+"The GPG keys listed for the \"%s\" repository are already installed but they "
+"are not correct for this package.\n"
+"Check that the correct key URLs are configured for this repository."
+msgstr ""
+
+#: yum/__init__.py:3190
+msgid "Import of key(s) didn't help, wrong key(s)?"
+msgstr ""
+
+#: yum/__init__.py:3209
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "GPG 鍵 %s (0x%s) はすでにインポートしています"
+
+#: yum/__init__.py:3228
+#, python-format
+msgid "Not installing key for repo %s"
+msgstr "リポジトリー %s の鍵がインストールされていません"
+
+#: yum/__init__.py:3235
+msgid "Key import failed"
+msgstr "鍵のインポートに失敗しました"
+
+#: yum/__init__.py:3325
+msgid "Unable to find a suitable mirror."
+msgstr "適当なミラーを見つけることができませんでした。"
+
+#: yum/__init__.py:3327
+msgid "Errors were encountered while downloading packages."
+msgstr "パッケージのダウンロード中にエラーに遭遇しました。"
+
+#: yum/__init__.py:3367
+#, python-format
+msgid "Please report this error at %s"
+msgstr "%s にこのエラーを報告してください"
+
+#: yum/__init__.py:3391
+msgid "Test Transaction Errors: "
+msgstr "テストトランザクションでエラー: "
+
+#: yum/plugins.py:204
+msgid "Loaded plugins: "
+msgstr "読み込んだプラグイン:"
+
+#: yum/plugins.py:218 yum/plugins.py:224
+#, python-format
+msgid "No plugin match for: %s"
+msgstr "プラグインが一致しません: %s"
+
+#: yum/plugins.py:254
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "無効になっているため、プラグイン「%s」は読み込みません"
+
+#: yum/plugins.py:266
+#, python-format
+msgid "Plugin \"%s\" can't be imported"
+msgstr "プラグイン「%s」はインポートできませんでした"
+
+#: yum/plugins.py:273
+#, python-format
+msgid "Plugin \"%s\" doesn't specify required API version"
+msgstr "プラグイン「%s」は要求された API バージョンを明記していません"
+
+#: yum/plugins.py:278
+#, python-format
+msgid "Plugin \"%s\" requires API %s. Supported API is %s."
+msgstr ""
+"プラグイン「%s」は API %s を要求しています。サポートした API は %s です。"
+
+#: yum/plugins.py:311
+#, python-format
+msgid "Loading \"%s\" plugin"
+msgstr "プラグイン「%s」を読み込んでいます"
+
+#: yum/plugins.py:318
+#, python-format
+msgid ""
+"Two or more plugins with the name \"%s\" exist in the plugin search path"
+msgstr ""
+
+#: yum/plugins.py:338
+#, python-format
+msgid "Configuration file %s not found"
+msgstr "構成ファイル %s が見つかりません"
+
+#: yum/plugins.py:341
+#, python-format
+msgid "Unable to find configuration file for plugin %s"
+msgstr "プラグイン %s の構成ファイルの検索に失敗しました"
+
+#: yum/plugins.py:495
+msgid "registration of commands not supported"
+msgstr "コマンドの登録をサポートしていません"
+
+#: yum/rpmtrans.py:78
+msgid "Repackaging"
+msgstr "再パッケージをしています"
+
+#: rpmUtils/oldUtils.py:26
+#, python-format
+msgid "Header cannot be opened or does not match %s, %s."
+msgstr "%s (%s) が一致しないかヘッダーが開けません"
+
+#: rpmUtils/oldUtils.py:46
+#, python-format
+msgid "RPM %s fails md5 check"
+msgstr "RPM %s は MD5 検査に失敗しました"
+
+#: rpmUtils/oldUtils.py:144
+msgid "Could not open RPM database for reading. Perhaps it is already in use?"
+msgstr ""
+"読み込みのために RPM データベースを開くことができません。おそらく既に使用して"
+"いませんか?"
+
+#: rpmUtils/oldUtils.py:174
+msgid "Got an empty Header, something has gone wrong"
+msgstr "空のヘッダーを取得しました。何かがうまくいっていません"
+
+#: rpmUtils/oldUtils.py:244 rpmUtils/oldUtils.py:251 rpmUtils/oldUtils.py:254
+#: rpmUtils/oldUtils.py:257
+#, python-format
+msgid "Damaged Header %s"
+msgstr "ヘッダー %s は損傷があります"
+
+#: rpmUtils/oldUtils.py:272
+#, python-format
+msgid "Error opening rpm %s - error %s"
+msgstr "RPM %s へのアクセスでエラー - %s エラー"
+
+#~ msgid "Parsing package install arguments"
+#~ msgstr "パッケージインストールの引数を解析しています"
+
+#~ msgid "Could not find update match for %s"
+#~ msgstr "%s に一致する更新を見つけることができません"
diff --git a/po/nb.po b/po/nb.po
index 512a227..583a57e 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -4,21 +4,20 @@
# This file is distributed under the same license as the yum package.
# Terje Røsten <terje.rosten@ntnu.no>, 2008.
# Kjartan Maraas <kmaraas@broadpark.no>, 2008.
-#
-
+# Sindre Wetjen <sindre.w@gmail.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: yum 3.2.10\n"
+"Project-Id-Version: yum 3.2.23\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-10-31 13:29+0000\n"
-"PO-Revision-Date: 2008-10-31 20:25+0100\n"
-"Last-Translator: Kjartan Maraas <kmaraas@broadpark.no>\n"
+"POT-Creation-Date: 2009-07-08 03:17+0000\n"
+"PO-Revision-Date: 2009-07-10 15:03+0200\n"
+"Last-Translator: Sindre Wetjen <sindre.w@gmail.com>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../callback.py:48 ../output.py:516 ../yum/rpmtrans.py:71
+#: ../callback.py:48 ../output.py:939 ../yum/rpmtrans.py:71
msgid "Updating"
msgstr "Oppdaterer"
@@ -26,16 +25,16 @@ msgstr "Oppdaterer"
msgid "Erasing"
msgstr "Fjerner"
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:515
+#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:938
#: ../yum/rpmtrans.py:73 ../yum/rpmtrans.py:74 ../yum/rpmtrans.py:76
msgid "Installing"
-msgstr "Legger inn"
+msgstr "Installerer"
#: ../callback.py:52 ../callback.py:58 ../yum/rpmtrans.py:75
msgid "Obsoleted"
-msgstr "Er utgått"
+msgstr "Utgått"
-#: ../callback.py:54 ../output.py:562
+#: ../callback.py:54 ../output.py:1060
msgid "Updated"
msgstr "Oppdatert"
@@ -43,9 +42,9 @@ msgstr "Oppdatert"
msgid "Erased"
msgstr "Fjernet"
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:560
+#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1058
msgid "Installed"
-msgstr "Lagt inn"
+msgstr "Installert"
#: ../callback.py:130
msgid "No header - huh?"
@@ -65,7 +64,7 @@ msgstr "Feil: ugyldig tilstand ut: %s for %s"
msgid "Erased: %s"
msgstr "Fjernet: %s"
-#: ../callback.py:217 ../output.py:517
+#: ../callback.py:217 ../output.py:940
msgid "Removing"
msgstr "Fjerner"
@@ -73,45 +72,60 @@ msgstr "Fjerner"
msgid "Cleanup"
msgstr "Rydder opp"
-#: ../cli.py:105
+#: ../cli.py:107
#, python-format
msgid "Command \"%s\" already defined"
msgstr "Kommando «%s» er allerede definert"
-#: ../cli.py:117
+#: ../cli.py:119
msgid "Setting up repositories"
msgstr "Konfigurerer lagre"
-#: ../cli.py:128
+#: ../cli.py:130
msgid "Reading repository metadata in from local files"
msgstr "Leser inn data om lager fra lokale filer"
-#: ../cli.py:186 ../utils.py:71
+#: ../cli.py:193 ../utils.py:87
#, python-format
msgid "Config Error: %s"
msgstr "Feil i konfigurasjon: %s"
-#: ../cli.py:189 ../cli.py:1081 ../utils.py:74
+#: ../cli.py:196 ../cli.py:1242 ../utils.py:90
#, python-format
msgid "Options Error: %s"
msgstr "Feil i flagg: %s"
-#: ../cli.py:232
+#: ../cli.py:225
+#, python-format
+msgid " Installed: %s-%s at %s"
+msgstr "Installert: %s-%s til %s"
+
+#: ../cli.py:227
+#, python-format
+msgid " Built : %s at %s"
+msgstr " Bygd : %s til %s"
+
+#: ../cli.py:229
+#, python-format
+msgid " Committed: %s at %s"
+msgstr "Sendt inn: %s til %s"
+
+#: ../cli.py:268
msgid "You need to give some command"
msgstr "Du må oppgi en kommando"
-#: ../cli.py:274
+#: ../cli.py:311
msgid "Disk Requirements:\n"
-msgstr "Krav til ledig diskplass:\n"
+msgstr "Krav til disk:\n"
-#: ../cli.py:276
+#: ../cli.py:313
#, python-format
msgid " At least %dMB needed on the %s filesystem.\n"
msgstr "Minst %dMB kreves på filsystem %s.\n"
#. TODO: simplify the dependency errors?
#. Fixup the summary
-#: ../cli.py:281
+#: ../cli.py:318
msgid ""
"Error Summary\n"
"-------------\n"
@@ -119,55 +133,56 @@ msgstr ""
"Sammendrag for feil\n"
"---------------------\n"
-#: ../cli.py:320
+#: ../cli.py:361
msgid "Trying to run the transaction but nothing to do. Exiting."
msgstr "Prøver å kjøre transaksjonen, men den er tom. Avslutter."
-#: ../cli.py:350
+#: ../cli.py:397
msgid "Exiting on user Command"
msgstr "Avslutter på grunn av kommando fra bruker"
-#: ../cli.py:354
+#: ../cli.py:401
msgid "Downloading Packages:"
msgstr "Laster ned pakker:"
-#: ../cli.py:359
+#: ../cli.py:406
msgid "Error Downloading Packages:\n"
msgstr "Kunne ikke laste ned pakkene:\n"
-#: ../cli.py:373 ../yum/__init__.py:2826
+#: ../cli.py:420 ../yum/__init__.py:3776
msgid "Running rpm_check_debug"
msgstr "Kjører rpm_check_debug"
-#: ../cli.py:376 ../yum/__init__.py:2829
+#: ../cli.py:423 ../yum/__init__.py:3779
msgid "ERROR with rpm_check_debug vs depsolve:"
msgstr "FEIL med rpm_check_debug i forhold til løsing av avhengigheter:"
-#: ../cli.py:380 ../yum/__init__.py:2831
-msgid "Please report this error in bugzilla"
-msgstr "Vennligst send en feilrapport til bugzilla"
+#: ../cli.py:427
+#, python-format
+msgid "Please report this error in %s"
+msgstr "Vennligst rapporter denne feilen i %s"
-#: ../cli.py:386
+#: ../cli.py:433
msgid "Running Transaction Test"
-msgstr "Gjennomfører test av transaksjonen"
+msgstr "Kjører test på transaksjonen"
-#: ../cli.py:402
+#: ../cli.py:449
msgid "Finished Transaction Test"
msgstr "Transaksjonstesten er fullført"
-#: ../cli.py:404
+#: ../cli.py:451
msgid "Transaction Check Error:\n"
msgstr "Feil ved test av transaksjonen:\n"
-#: ../cli.py:411
+#: ../cli.py:458
msgid "Transaction Test Succeeded"
msgstr "Test av transaksjonen var vellykket"
-#: ../cli.py:432
+#: ../cli.py:480
msgid "Running Transaction"
msgstr "Utfører transaksjonen"
-#: ../cli.py:462
+#: ../cli.py:510
msgid ""
"Refusing to automatically import keys when running unattended.\n"
"Use \"-y\" to override."
@@ -175,168 +190,190 @@ msgstr ""
"Nekter å importere nøkler automatisk ved kjøring uten oppsyn.\n"
"Bruk «-y» for å overstyre."
-#: ../cli.py:494
-msgid "Parsing package install arguments"
-msgstr "Analyserer argumentene for pakkeinstallasjon"
+#: ../cli.py:529 ../cli.py:563
+msgid " * Maybe you meant: "
+msgstr " * Du mente kanskje:"
-#: ../cli.py:504
+#: ../cli.py:546 ../cli.py:554
#, python-format
-msgid "No package %s available."
-msgstr "Pakke: %s er ikke tilgjengelig."
+msgid "Package(s) %s%s%s available, but not installed."
+msgstr "Pakken(e) %s%s%s er tilgjengelig, men ikke installert."
-#: ../cli.py:508 ../cli.py:626 ../yumcommands.py:790
+#: ../cli.py:560 ../cli.py:591 ../cli.py:669
+#, python-format
+msgid "No package %s%s%s available."
+msgstr "Pakke %s%s%s er ikke tilgjengelig."
+
+#: ../cli.py:596 ../cli.py:729
msgid "Package(s) to install"
-msgstr "Pakke(r) som skal legges inn"
+msgstr "Pakke(r) som skal installeres"
-#: ../cli.py:509 ../cli.py:627 ../yumcommands.py:147 ../yumcommands.py:791
+#: ../cli.py:597 ../cli.py:675 ../cli.py:708 ../cli.py:730
+#: ../yumcommands.py:157
msgid "Nothing to do"
msgstr "Ingenting å gjøre"
-#: ../cli.py:539 ../yum/__init__.py:2275 ../yum/__init__.py:2375
-#: ../yum/__init__.py:2387
-#, python-format
-msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
-msgstr "Vil ikke oppdatere pakke som allerede er foreldet: %s.%s %s:%s-%s"
-
-#: ../cli.py:571
-#, python-format
-msgid "Could not find update match for %s"
-msgstr "Kunne ikke finne oppdatering som passet for %s"
-
-#: ../cli.py:583
+#: ../cli.py:630
#, python-format
msgid "%d packages marked for Update"
msgstr "%d pakker merket for oppdatering"
-#: ../cli.py:586
+#: ../cli.py:633
msgid "No Packages marked for Update"
msgstr "Ingen pakker merket for oppdatering"
-#: ../cli.py:602
+#: ../cli.py:647
#, python-format
msgid "%d packages marked for removal"
msgstr "%d pakker merket for fjerning"
-#: ../cli.py:605
+#: ../cli.py:650
msgid "No Packages marked for removal"
msgstr "Ingen pakker merket for fjerning"
-#: ../cli.py:617
+#: ../cli.py:674
+msgid "Package(s) to downgrade"
+msgstr "Pakke(r) som skal nedgraderes"
+
+#: ../cli.py:698
+#, python-format
+msgid " (from %s)"
+msgstr " (fra %s)"
+
+#: ../cli.py:700
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Den installerte pakken %s%s%s%s er ikke tilgjengelig."
+
+#: ../cli.py:707
+msgid "Package(s) to reinstall"
+msgstr "Pakke(r) som skal ominstalleres"
+
+#: ../cli.py:720
msgid "No Packages Provided"
msgstr "Ingen pakker ble tilbudt"
-#: ../cli.py:657
-msgid "Matching packages for package list to user args"
-msgstr "Tilpasser pakkeliste etter brukers ønske"
-
-#: ../cli.py:705
+#: ../cli.py:804
#, python-format
msgid "Warning: No matches found for: %s"
msgstr "Advarsel: Ingen treff funnet for: %s"
-#: ../cli.py:708
+#: ../cli.py:807
msgid "No Matches found"
msgstr "Fant ingen treff"
-#: ../cli.py:749
+#: ../cli.py:846
+#, python-format
+msgid ""
+"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
+" You can use \"%s*/%s%s\" and/or \"%s*bin/%s%s\" to get that behaviour"
+msgstr ""
+"Advarsel: 3.0.x versjonen av yum vil feilaktig samsvare mot filnavnene.\n"
+" Du kan bruke \"%s*/%s%s\" og/eller \"%s*bin/%s%s\" for å få den oppførselen."
+
+#: ../cli.py:862
#, python-format
msgid "No Package Found for %s"
msgstr "Ingen pakke ble funnet for %s"
-#: ../cli.py:761
+#: ../cli.py:874
msgid "Cleaning up Everything"
msgstr "Rydder opp alt"
-#: ../cli.py:775
+#: ../cli.py:888
msgid "Cleaning up Headers"
msgstr "Rydder opp pakkehoder"
-#: ../cli.py:778
+#: ../cli.py:891
msgid "Cleaning up Packages"
msgstr "Rydder opp pakker"
-#: ../cli.py:781
+#: ../cli.py:894
msgid "Cleaning up xml metadata"
msgstr "Rydder opp i XML-metadata"
-#: ../cli.py:784
+#: ../cli.py:897
msgid "Cleaning up database cache"
msgstr "Rydder opp i mellomlager for database"
-#: ../cli.py:787
+#: ../cli.py:900
msgid "Cleaning up expire-cache metadata"
msgstr "Rydder opp i metadata for expire-cache"
-#: ../cli.py:790
+#: ../cli.py:903
msgid "Cleaning up plugins"
-msgstr "Rydder opp i tillegg"
+msgstr "Rydder opp i programtillegg"
-#: ../cli.py:812
+#: ../cli.py:928
msgid "Installed Groups:"
msgstr "Installerte grupper:"
-#: ../cli.py:819
+#: ../cli.py:940
msgid "Available Groups:"
msgstr "Tilgjengelig grupper:"
-#: ../cli.py:825
+#: ../cli.py:950
msgid "Done"
msgstr "Ferdig"
-#: ../cli.py:836 ../cli.py:854 ../cli.py:860
+#: ../cli.py:961 ../cli.py:979 ../cli.py:985 ../yum/__init__.py:2525
#, python-format
msgid "Warning: Group %s does not exist."
msgstr "Advarsel: Gruppe %s eksisterer ikke."
-#: ../cli.py:864
+#: ../cli.py:989
msgid "No packages in any requested group available to install or update"
msgstr ""
"Ingen pakker tilgjengelig for installering eller oppdatering i aktuelle "
"grupper"
-#: ../cli.py:866
+#: ../cli.py:991
#, python-format
msgid "%d Package(s) to Install"
msgstr "%d pakke(r) vil bli installert"
-#: ../cli.py:876
+#: ../cli.py:1001 ../yum/__init__.py:2537
#, python-format
msgid "No group named %s exists"
msgstr "Det finnes ingen gruppe med navn %s"
-#: ../cli.py:882
+#: ../cli.py:1007
msgid "No packages to remove from groups"
msgstr "Ingen pakker å fjerne fra grupper"
-#: ../cli.py:884
+#: ../cli.py:1009
#, python-format
msgid "%d Package(s) to remove"
msgstr "%d pakker vil bli fjernet"
-#: ../cli.py:926
+#: ../cli.py:1051
#, python-format
msgid "Package %s is already installed, skipping"
msgstr "Pakke %s er allerede lagt inn, hopper over"
-#: ../cli.py:937
+#: ../cli.py:1062
#, python-format
msgid "Discarding non-comparable pkg %s.%s"
msgstr "Vraker pakke som ikke kan sammenlignes %s.%s"
#. we've not got any installed that match n or n+a
-#: ../cli.py:963
+#: ../cli.py:1088
#, python-format
msgid "No other %s installed, adding to list for potential install"
msgstr ""
"Ingen annen %s er lagt inn, legger til pakke til liste over potensielle "
"pakker"
-#: ../cli.py:982
+#: ../cli.py:1108
+msgid "Plugin Options"
+msgstr "Programtilleggs valg"
+
+#: ../cli.py:1116
#, python-format
msgid "Command line error: %s"
msgstr "Feil med kommandolinje: %s"
-#: ../cli.py:994
+#: ../cli.py:1129
#, python-format
msgid ""
"\n"
@@ -347,225 +384,257 @@ msgstr ""
"\n"
"%s: flagg %s krever et argument"
-#: ../cli.py:1123
+#: ../cli.py:1182
+msgid "--color takes one of: auto, always, never"
+msgstr "--color tar et av: auto, alltid, aldri"
+
+#: ../cli.py:1289
msgid "show this help message and exit"
msgstr "vis denne hjelpteksten og avslutt"
-#: ../cli.py:1127
+#: ../cli.py:1293
msgid "be tolerant of errors"
msgstr "vær tolerant ved feil"
-#: ../cli.py:1129
+#: ../cli.py:1295
msgid "run entirely from cache, don't update cache"
msgstr "bruk kun lagrede filer ved kjøring, ikke oppdater lagrede filer"
-#: ../cli.py:1131
+#: ../cli.py:1297
msgid "config file location"
msgstr "plassering av konfigurasjonsfil"
-#: ../cli.py:1133
+#: ../cli.py:1299
msgid "maximum command wait time"
msgstr "maksimaltid for å vente på kommando"
-#: ../cli.py:1135
+#: ../cli.py:1301
msgid "debugging output level"
msgstr "nivå for tilbakemeldinger ved avlusing"
-#: ../cli.py:1139
+#: ../cli.py:1305
msgid "show duplicates, in repos, in list/search commands"
msgstr "vis duplikater i lager og i kommandoer for å liste/søke i pakker"
-#: ../cli.py:1141
+#: ../cli.py:1307
msgid "error output level"
msgstr "mengde tilbakemelding ved feil"
-#: ../cli.py:1144
+#: ../cli.py:1310
msgid "quiet operation"
msgstr "stille operasjon"
-#: ../cli.py:1146
+#: ../cli.py:1312
msgid "verbose operation"
msgstr "vis ekstra informasjon"
-#: ../cli.py:1148
+#: ../cli.py:1314
msgid "answer yes for all questions"
msgstr "svar Ja til alle spørsmål"
-#: ../cli.py:1150
+#: ../cli.py:1316
msgid "show Yum version and exit"
msgstr "vis Yum-versjon og avslutt"
-#: ../cli.py:1151
+#: ../cli.py:1317
msgid "set install root"
msgstr "sett rot for installasjonen"
-#: ../cli.py:1155
+#: ../cli.py:1321
msgid "enable one or more repositories (wildcards allowed)"
msgstr "legger til et eller flere lager (jokertegn er tillatt)"
-#: ../cli.py:1159
+#: ../cli.py:1325
msgid "disable one or more repositories (wildcards allowed)"
msgstr "slå av et eller flere lager (jokertegn er tillatt)"
-#: ../cli.py:1162
+#: ../cli.py:1328
msgid "exclude package(s) by name or glob"
msgstr "overse pakke(r) ved navn eller mønster"
-#: ../cli.py:1164
+#: ../cli.py:1330
msgid "disable exclude from main, for a repo or for everything"
msgstr "fjerner ekskludering av pakker, for et lager eller alle pakker"
-#: ../cli.py:1167
+#: ../cli.py:1333
msgid "enable obsoletes processing during updates"
msgstr "ta med foreldede pakker i beregningen ved oppdatering"
-#: ../cli.py:1169
+#: ../cli.py:1335
msgid "disable Yum plugins"
-msgstr "ikke bruk tillegg til Yum"
+msgstr "ikke bruk programtilleggene til Yum"
-#: ../cli.py:1171
+#: ../cli.py:1337
msgid "disable gpg signature checking"
msgstr "ikke sjekk GPG-signaturer"
-#: ../cli.py:1173
+#: ../cli.py:1339
msgid "disable plugins by name"
msgstr "slå av tillegg til yum etter navn"
-#: ../cli.py:1176
+#: ../cli.py:1342
+msgid "enable plugins by name"
+msgstr "slå av programtillegg til yum etter navn"
+
+#: ../cli.py:1345
msgid "skip packages with depsolving problems"
msgstr "hopp over pakker som har problemer med avhengigheter"
-#: ../output.py:228
+#: ../cli.py:1347
+msgid "control whether color is used"
+msgstr "kontroller om farger er brukt"
+
+#: ../output.py:303
msgid "Jan"
msgstr "jan"
-#: ../output.py:228
+#: ../output.py:303
msgid "Feb"
msgstr "feb"
-#: ../output.py:228
+#: ../output.py:303
msgid "Mar"
msgstr "mar"
-#: ../output.py:228
+#: ../output.py:303
msgid "Apr"
msgstr "apr"
-#: ../output.py:228
+#: ../output.py:303
msgid "May"
msgstr "mai"
-#: ../output.py:228
+#: ../output.py:303
msgid "Jun"
msgstr "jun"
-#: ../output.py:229
+#: ../output.py:304
msgid "Jul"
msgstr "jul"
-#: ../output.py:229
+#: ../output.py:304
msgid "Aug"
msgstr "aug"
-#: ../output.py:229
+#: ../output.py:304
msgid "Sep"
msgstr "sep"
-#: ../output.py:229
+#: ../output.py:304
msgid "Oct"
msgstr "okt"
-#: ../output.py:229
+#: ../output.py:304
msgid "Nov"
msgstr "nov"
-#: ../output.py:229
+#: ../output.py:304
msgid "Dec"
msgstr "des"
-#: ../output.py:239
+#: ../output.py:314
msgid "Trying other mirror."
msgstr "Prøver et annet speil."
-#: ../output.py:293
+#: ../output.py:536
#, python-format
-msgid "Name : %s"
-msgstr "Navn : %s"
+msgid "Name : %s%s%s"
+msgstr "Navn : %s%s%s"
-#: ../output.py:294
+#: ../output.py:537
#, python-format
msgid "Arch : %s"
msgstr "Arkitektur : %s"
-#: ../output.py:296
+#: ../output.py:539
#, python-format
msgid "Epoch : %s"
msgstr "Epoch :%s"
-#: ../output.py:297
+#: ../output.py:540
#, python-format
msgid "Version : %s"
msgstr "Versjon : %s"
-#: ../output.py:298
+#: ../output.py:541
#, python-format
msgid "Release : %s"
msgstr "Utgave : %s"
-#: ../output.py:299
+#: ../output.py:542
#, python-format
msgid "Size : %s"
msgstr "Størrelse : %s"
-#: ../output.py:300
+#: ../output.py:543
#, python-format
msgid "Repo : %s"
msgstr "Kilde : %s"
-#: ../output.py:302
+#: ../output.py:545
+#, python-format
+msgid "From repo : %s"
+msgstr "Fra arkiv : %s"
+
+#: ../output.py:547
#, python-format
msgid "Committer : %s"
msgstr "Ansvarlig : %s"
-#: ../output.py:303
+#: ../output.py:548
+#, python-format
+msgid "Committime : %s"
+msgstr "Utførelsestid : %s"
+
+#: ../output.py:549
+#, python-format
+msgid "Buildtime : %s"
+msgstr "Byggetid : %s"
+
+#: ../output.py:551
+#, python-format
+msgid "Installtime: %s"
+msgstr "Installasjonstid: %s"
+
+#: ../output.py:552
msgid "Summary : "
-msgstr "Oversikt :"
+msgstr "Sammendrag :"
-#: ../output.py:305
+#: ../output.py:554
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:306
+#: ../output.py:555
#, python-format
msgid "License : %s"
msgstr "Lisens : %s"
-#: ../output.py:307
+#: ../output.py:556
msgid "Description: "
msgstr "Beskrivelse:"
-#: ../output.py:351
-msgid "Is this ok [y/N]: "
-msgstr "Er dette ok [j/N]:"
-
-#: ../output.py:359 ../output.py:362
+#: ../output.py:624
msgid "y"
msgstr "j"
-#: ../output.py:359
-msgid "n"
-msgstr "n"
-
-#: ../output.py:359 ../output.py:362
+#: ../output.py:624
msgid "yes"
msgstr "ja"
-#: ../output.py:359
+#: ../output.py:625
+msgid "n"
+msgstr "n"
+
+#: ../output.py:625
msgid "no"
msgstr "nei"
-#: ../output.py:370
+#: ../output.py:629
+msgid "Is this ok [y/N]: "
+msgstr "Er dette ok [j/N]:"
+
+#: ../output.py:720
#, python-format
msgid ""
"\n"
@@ -574,218 +643,296 @@ msgstr ""
"\n"
"Gruppe:%s"
-#: ../output.py:372
+#: ../output.py:724
+#, python-format
+msgid " Group-Id: %s"
+msgstr "GruppeId:%s"
+
+#: ../output.py:729
#, python-format
msgid " Description: %s"
msgstr " Beskrivelse: %s"
-#: ../output.py:374
+#: ../output.py:731
msgid " Mandatory Packages:"
msgstr "Obligatoriske pakker:"
-#: ../output.py:379
+#: ../output.py:732
msgid " Default Packages:"
msgstr "Standard pakker:"
-#: ../output.py:384
+#: ../output.py:733
msgid " Optional Packages:"
msgstr "Valgfrie pakker:"
-#: ../output.py:389
+#: ../output.py:734
msgid " Conditional Packages:"
msgstr "Betingede pakker:"
-#: ../output.py:398
+#: ../output.py:754
#, python-format
msgid "package: %s"
msgstr "pakke: %s"
-#: ../output.py:400
+#: ../output.py:756
msgid " No dependencies for this package"
msgstr " Ingen avhengigheter for denne pakka"
-#: ../output.py:405
+#: ../output.py:761
#, python-format
msgid " dependency: %s"
msgstr " avhengighet: %s"
-#: ../output.py:407
+#: ../output.py:763
msgid " Unsatisfied dependency"
msgstr " avhengighet som ikke kunne tilfredstilles"
-#: ../output.py:465
+#: ../output.py:835
+#, python-format
+msgid "Repo : %s"
+msgstr "Arkiv : %s"
+
+#: ../output.py:836
msgid "Matched from:"
msgstr "Treff fra:"
-#: ../output.py:491
+#: ../output.py:845
+msgid "Description : "
+msgstr "Beskrivelse : "
+
+#: ../output.py:848
+#, python-format
+msgid "URL : %s"
+msgstr "Nettadresse : %s"
+
+#: ../output.py:851
+#, python-format
+msgid "License : %s"
+msgstr "Lisens : %s"
+
+#: ../output.py:854
+#, python-format
+msgid "Filename : %s"
+msgstr "Filnavn : %s"
+
+#: ../output.py:858
+msgid "Other : "
+msgstr "Andre ting : %s"
+
+#: ../output.py:891
msgid "There was an error calculating total download size"
msgstr "Kunne ikke finne ut størrelse på det som skal hentes ned"
-#: ../output.py:496
+#: ../output.py:896
#, python-format
msgid "Total size: %s"
msgstr "Totale størrelse: %s"
-#: ../output.py:499
+#: ../output.py:899
#, python-format
msgid "Total download size: %s"
msgstr "Totale størrelse på pakker som hentes: %s"
-#: ../output.py:511
+#: ../output.py:941
+msgid "Reinstalling"
+msgstr "Ominstallerer"
+
+#: ../output.py:942
+msgid "Downgrading"
+msgstr "Nedgraderer"
+
+#: ../output.py:943
+msgid "Installing for dependencies"
+msgstr "Legges inn på grunn avhengigheter"
+
+#: ../output.py:944
+msgid "Updating for dependencies"
+msgstr "Oppdateres på grunn avhengigheter"
+
+#: ../output.py:945
+msgid "Removing for dependencies"
+msgstr "Fjernes på grunn avhengigheter"
+
+#: ../output.py:952 ../output.py:1062
+msgid "Skipped (dependency problems)"
+msgstr "Hoppet over (problemer med avhengigheter)"
+
+#: ../output.py:973
msgid "Package"
msgstr "Pakke"
-#: ../output.py:511
+#: ../output.py:973
msgid "Arch"
msgstr "Arkitektur"
-#: ../output.py:511
+#: ../output.py:974
msgid "Version"
msgstr "Versjon"
-#: ../output.py:511
+#: ../output.py:974
msgid "Repository"
msgstr "Pakkeoversikt"
-#: ../output.py:511
+#: ../output.py:975
msgid "Size"
msgstr "Størrelse"
-#: ../output.py:518
-msgid "Installing for dependencies"
-msgstr "Legges inn på grunn avhengigheter"
-
-#: ../output.py:519
-msgid "Updating for dependencies"
-msgstr "Oppdateres på grunn avhengigheter"
-
-#: ../output.py:520
-msgid "Removing for dependencies"
-msgstr "Fjernes på grunn avhengigheter"
-
-#: ../output.py:532
+#: ../output.py:987
#, python-format
msgid ""
-" replacing %s.%s %s\n"
+" replacing %s%s%s.%s %s\n"
"\n"
msgstr ""
-" erstatter %s.%s %s\"\n"
+" erstatter %s%s%s.%s %s\"\n"
"\n"
-#: ../output.py:540
+#: ../output.py:996
#, python-format
msgid ""
"\n"
"Transaction Summary\n"
-"=============================================================================\n"
-"Install %5.5s Package(s) \n"
-"Update %5.5s Package(s) \n"
-"Remove %5.5s Package(s) \n"
+"%s\n"
msgstr ""
"\n"
-"Oversikt over transaksjon\n"
-"=============================================================================\n"
-"Legger inn %5.5s pakker\n"
-"Oppdaterer %5.5s pakker\n"
-"Fjerner %5.5s pakker\n"
+"Transaksjonsammendrag\n"
+"%s\n"
+
+#: ../output.py:1003
+#, python-format
+msgid ""
+"Install %5.5s Package(s)\n"
+"Upgrade %5.5s Package(s)\n"
+msgstr ""
+"Installer %5.5s Pakke(r)\n"
+"Oppgradere %5.5s Pakke(r)\n"
+
+#: ../output.py:1012
+#, python-format
+msgid ""
+"Remove %5.5s Package(s)\n"
+"Reinstall %5.5s Package(s)\n"
+"Downgrade %5.5s Package(s)\n"
+msgstr ""
+"Fjern %5.5s Pakke(r)\n"
+"Ominstaller %5.5s Pakke(r)\n"
+"Nedgrader %5.5s Pakke(r)\n"
-#: ../output.py:558
+#: ../output.py:1056
msgid "Removed"
msgstr "Fjernet"
-#: ../output.py:559
+#: ../output.py:1057
msgid "Dependency Removed"
msgstr "Fjernet på grunn avhengighet"
-#: ../output.py:561
+#: ../output.py:1059
msgid "Dependency Installed"
msgstr "Lagt inn på grunn av avhengighet"
-#: ../output.py:563
+#: ../output.py:1061
msgid "Dependency Updated"
msgstr "Oppdatert på grunn avhengighet"
-#: ../output.py:564
+#: ../output.py:1063
msgid "Replaced"
msgstr "Erstattet"
-#: ../output.py:622
+#: ../output.py:1064
+msgid "Failed"
+msgstr "Feilet"
+
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1130
+msgid "two"
+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.
+#: ../output.py:1141
#, python-format
msgid ""
"\n"
" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s "
-"seconds to exit.\n"
+"seconds\n"
+"to exit.\n"
msgstr ""
"\n"
" Pågående nedlastning er avbrutt, %s avbryt (ved å trykke Ctrl-C) %s ganger "
-"til innen %s%s%s sekunder for å avslutte helt.\n"
+"til innen %s%s%s sekunder\n"
+"for å avslutte.\n"
-#: ../output.py:632
+#: ../output.py:1152
msgid "user interrupt"
msgstr "avbrutt av bruker"
-#: ../output.py:643
+#: ../output.py:1168
+msgid "Total"
+msgstr "Totalt"
+
+#: ../output.py:1183
msgid "installed"
-msgstr "lagt inn"
+msgstr "installert"
-#: ../output.py:644
+#: ../output.py:1184
msgid "updated"
msgstr "oppdatert"
-#: ../output.py:645
+#: ../output.py:1185
msgid "obsoleted"
msgstr "foreldet"
-#: ../output.py:646
+#: ../output.py:1186
msgid "erased"
msgstr "fjernet"
-#: ../output.py:650
+#: ../output.py:1190
#, python-format
msgid "---> Package %s.%s %s:%s-%s set to be %s"
msgstr "---> pakke %s.%s %s:%s-%s er satt til %s"
-#: ../output.py:657
+#: ../output.py:1197
msgid "--> Running transaction check"
msgstr "--> Utfører sjekk av transaksjonen"
-#: ../output.py:662
+#: ../output.py:1202
msgid "--> Restarting Dependency Resolution with new changes."
msgstr "--> Starter løsing av avhengigheter på nytt med endringer"
-#: ../output.py:667
+#: ../output.py:1207
msgid "--> Finished Dependency Resolution"
msgstr "--> Alle avhengigheter er løst"
-#: ../output.py:672
+#: ../output.py:1212 ../output.py:1217
#, python-format
msgid "--> Processing Dependency: %s for package: %s"
msgstr "--> Beregner avhengighet: %s for pakke: %s"
-#: ../output.py:677
+#: ../output.py:1221
#, python-format
msgid "--> Unresolved Dependency: %s"
msgstr "--> Avhengigheter som ikke kunne bli tilfredstilt: %s"
-#: ../output.py:683
+#: ../output.py:1227 ../output.py:1232
#, python-format
msgid "--> Processing Conflict: %s conflicts %s"
msgstr "--> Beregner konflikter: %s er i konflikt med %s"
-#: ../output.py:686
+#: ../output.py:1236
msgid "--> Populating transaction set with selected packages. Please wait."
msgstr "--> Fyller transaksjonen med valgte pakker. Vennligst vent."
-#: ../output.py:690
+#: ../output.py:1240
#, python-format
msgid "---> Downloading header for %s to pack into transaction set."
msgstr "---> Henter ned filhode for pakke %s for å fylle transaksjonen."
-#: ../yumcommands.py:37
+#: ../yumcommands.py:40
msgid "You need to be root to perform this command."
msgstr "Du må være rootbruker for å utføre denne kommandoen."
-#: ../yumcommands.py:44
+#: ../yumcommands.py:47
msgid ""
"\n"
"You have enabled checking of packages via GPG keys. This is a good thing. \n"
@@ -814,266 +961,314 @@ msgstr ""
"\n"
"Kontakt din distribusjon eller pakkeansvarlig for mer informasjon.\n"
-#: ../yumcommands.py:64
+#: ../yumcommands.py:67
#, python-format
msgid "Error: Need to pass a list of pkgs to %s"
msgstr "Feil: du må oppgi en liste med pakker som skal %s"
-#: ../yumcommands.py:70
+#: ../yumcommands.py:73
msgid "Error: Need an item to match"
msgstr "Feil: trenger noe å sammenligne med"
-#: ../yumcommands.py:76
+#: ../yumcommands.py:79
msgid "Error: Need a group or list of groups"
msgstr "Feil: trenger en gruppe eller en liste med grupper"
-#: ../yumcommands.py:85
+#: ../yumcommands.py:88
#, python-format
msgid "Error: clean requires an option: %s"
msgstr "Feil: clean trenger minst et argument: %s"
-#: ../yumcommands.py:90
+#: ../yumcommands.py:93
#, python-format
msgid "Error: invalid clean argument: %r"
msgstr "Feil: ugyldig argument gitt til kommandoen clean: %r"
-#: ../yumcommands.py:103
+#: ../yumcommands.py:106
msgid "No argument to shell"
msgstr "Ingen argumenter ble gitt til kommandoen shell"
-#: ../yumcommands.py:106
+#: ../yumcommands.py:108
#, python-format
msgid "Filename passed to shell: %s"
msgstr "Følgende filnavn ble sendt til skallet: %s"
-#: ../yumcommands.py:110
+#: ../yumcommands.py:112
#, python-format
msgid "File %s given as argument to shell does not exist."
msgstr ""
"Filen %s som ble gitt som argument til kommandoen shell eksisterer ikke."
-#: ../yumcommands.py:116
+#: ../yumcommands.py:118
msgid "Error: more than one file given as argument to shell."
msgstr "Feil: mer enn en fil ble gitt som argument til kommandoen shell."
-#: ../yumcommands.py:157
+#: ../yumcommands.py:167
msgid "PACKAGE..."
msgstr "PAKKE..."
-#: ../yumcommands.py:160
+#: ../yumcommands.py:170
msgid "Install a package or packages on your system"
msgstr "Legg inn en eller flere pakker på systemet"
-#: ../yumcommands.py:169
+#: ../yumcommands.py:178
msgid "Setting up Install Process"
msgstr "Forberedelser for installasjon"
-#: ../yumcommands.py:180
+#: ../yumcommands.py:189
msgid "[PACKAGE...]"
msgstr "[PAKKE...]"
-#: ../yumcommands.py:183
+#: ../yumcommands.py:192
msgid "Update a package or packages on your system"
msgstr "Oppdater en eller flere pakker på systemet"
-#: ../yumcommands.py:191
+#: ../yumcommands.py:199
msgid "Setting up Update Process"
msgstr "Forberedelser for oppdatering"
-#: ../yumcommands.py:205
+#: ../yumcommands.py:244
msgid "Display details about a package or group of packages"
msgstr "Viser detaljer om en pakke eller en gruppe av grupper"
-#: ../yumcommands.py:213
+#: ../yumcommands.py:293
msgid "Installed Packages"
msgstr "Pakker som er installert"
-#: ../yumcommands.py:214
+#: ../yumcommands.py:301
msgid "Available Packages"
msgstr "Tilgjengelige pakker"
-#: ../yumcommands.py:215
+#: ../yumcommands.py:305
msgid "Extra Packages"
msgstr "Tilleggspakker"
-#: ../yumcommands.py:216
+#: ../yumcommands.py:309
msgid "Updated Packages"
msgstr "Oppdaterte pakker"
-#: ../yumcommands.py:222 ../yumcommands.py:228
+#. This only happens in verbose mode
+#: ../yumcommands.py:317 ../yumcommands.py:324 ../yumcommands.py:600
msgid "Obsoleting Packages"
msgstr "Utdaterte pakker"
-#: ../yumcommands.py:229
+#: ../yumcommands.py:326
msgid "Recently Added Packages"
msgstr "Pakker som nylig er lagt til"
-#: ../yumcommands.py:235
+#: ../yumcommands.py:333
msgid "No matching Packages to list"
msgstr "Ingen passende pakker å liste opp"
-#: ../yumcommands.py:249
+#: ../yumcommands.py:347
msgid "List a package or groups of packages"
msgstr "Lag en liste med pakker eller grupper av pakker"
-#: ../yumcommands.py:261
+#: ../yumcommands.py:359
msgid "Remove a package or packages from your system"
msgstr "Fjern en eller flere pakker fra systemet"
-#: ../yumcommands.py:269
+#: ../yumcommands.py:366
msgid "Setting up Remove Process"
msgstr "Klargjør for fjerning av pakker"
-#: ../yumcommands.py:281
+#: ../yumcommands.py:380
msgid "Setting up Group Process"
msgstr "Klargjør grupper med pakker"
-#: ../yumcommands.py:287
+#: ../yumcommands.py:386
msgid "No Groups on which to run command"
msgstr "Ingen gruppe er valgt for aktuell kommando"
-#: ../yumcommands.py:300
+#: ../yumcommands.py:399
msgid "List available package groups"
msgstr "Lag liste over tilgjengelige pakkegrupper"
-#: ../yumcommands.py:317
+#: ../yumcommands.py:416
msgid "Install the packages in a group on your system"
msgstr "Legger inn pakkene i en gruppe på systemet"
-#: ../yumcommands.py:339
+#: ../yumcommands.py:438
msgid "Remove the packages in a group from your system"
msgstr "Fjern pakkene i en gruppe fra systemet"
-#: ../yumcommands.py:363
+#: ../yumcommands.py:465
msgid "Display details about a package group"
msgstr "Viser detaljer om en gruppe av pakker"
-#: ../yumcommands.py:387
+#: ../yumcommands.py:489
msgid "Generate the metadata cache"
msgstr "Lag mellomlager med metadata"
-#: ../yumcommands.py:393
+#: ../yumcommands.py:495
msgid "Making cache files for all metadata files."
msgstr "Lager mellomlager for samtlige filer med metadata."
-#: ../yumcommands.py:394
+#: ../yumcommands.py:496
msgid "This may take a while depending on the speed of this computer"
msgstr "Dette kan en stund avhengig av hvor rask datamaskinen er"
-#: ../yumcommands.py:415
+#: ../yumcommands.py:517
msgid "Metadata Cache Created"
msgstr "Mellomlager er ferdig lagd"
-#: ../yumcommands.py:429
+#: ../yumcommands.py:531
msgid "Remove cached data"
msgstr "Fjern mellomlager med metadata"
-#: ../yumcommands.py:450
+#: ../yumcommands.py:551
msgid "Find what package provides the given value"
msgstr "Finn hvilken pakke som inneholder etterspurt verdi"
-#: ../yumcommands.py:470
+#: ../yumcommands.py:571
msgid "Check for available package updates"
msgstr "Se etter tilgjengelige pakkeoppdateringer"
-#: ../yumcommands.py:493
+#: ../yumcommands.py:620
msgid "Search package details for the given string"
msgstr "Søker etter oppgitt streng i pakkedetaljene"
-#: ../yumcommands.py:499
+#: ../yumcommands.py:626
msgid "Searching Packages: "
msgstr "Søker i pakker: "
-#: ../yumcommands.py:516
+#: ../yumcommands.py:643
msgid "Update packages taking obsoletes into account"
msgstr "Oppdater pakker og ta hensyn til pakker som blir utdatert"
-#: ../yumcommands.py:525
+#: ../yumcommands.py:651
msgid "Setting up Upgrade Process"
msgstr "Klargjør for oppdatering"
-#: ../yumcommands.py:539
+#: ../yumcommands.py:665
msgid "Install a local RPM"
msgstr "Legger inn en RPM fra filsystemet"
-#: ../yumcommands.py:548
+#: ../yumcommands.py:673
msgid "Setting up Local Package Process"
msgstr "Klargjøring for pakker på lokalt filsystem"
-#: ../yumcommands.py:567
+#: ../yumcommands.py:692
msgid "Determine which package provides the given dependency"
msgstr "Finner hvilken pakke som tilbyr den gitte avhengigheten"
-#: ../yumcommands.py:570
+#: ../yumcommands.py:695
msgid "Searching Packages for Dependency:"
msgstr "Søker i pakker etter avhengighet:"
-#: ../yumcommands.py:584
+#: ../yumcommands.py:709
msgid "Run an interactive yum shell"
msgstr "Kjører det interaktive Yum-skallet"
-#: ../yumcommands.py:590
+#: ../yumcommands.py:715
msgid "Setting up Yum Shell"
msgstr "Klargjør Yum-skallet"
-#: ../yumcommands.py:608
+#: ../yumcommands.py:733
msgid "List a package's dependencies"
msgstr "Vis avhengigheter for en pakke"
-#: ../yumcommands.py:614
+#: ../yumcommands.py:739
msgid "Finding dependencies: "
msgstr "Finner avhengigheter: "
-#: ../yumcommands.py:630
+#: ../yumcommands.py:755
msgid "Display the configured software repositories"
msgstr "Viser de pakkeoversiktene som er satt opp"
-#: ../yumcommands.py:666
+#: ../yumcommands.py:803 ../yumcommands.py:804
msgid "enabled"
msgstr "aktiv"
-#: ../yumcommands.py:673
+#: ../yumcommands.py:812 ../yumcommands.py:813
msgid "disabled"
msgstr "inaktiv"
-#: ../yumcommands.py:682
-msgid "repo id"
-msgstr "id"
+#: ../yumcommands.py:827
+msgid "Repo-id : "
+msgstr "ID for arkiv: "
-#: ../yumcommands.py:683
-msgid "repo name"
-msgstr "navn"
+#: ../yumcommands.py:828
+msgid "Repo-name : "
+msgstr "Navn på arkiv : "
-#: ../yumcommands.py:683
-msgid "status"
-msgstr "status"
+#: ../yumcommands.py:829
+msgid "Repo-status : "
+msgstr "Arkivstatus : "
-#: ../yumcommands.py:686
-msgid "Repo-id : "
-msgstr "ID for lager: "
+#: ../yumcommands.py:831
+msgid "Repo-revision: "
+msgstr "Arkivrevisjon: "
-#: ../yumcommands.py:687
-msgid "Repo-name : "
-msgstr "Navn på lager : "
+#: ../yumcommands.py:835
+msgid "Repo-tags : "
+msgstr "Arkivmerkelapper : "
+
+# Har noen et bedre forslag? Dette ser bare stygt ut.
+#: ../yumcommands.py:841
+msgid "Repo-distro-tags: "
+msgstr "Arkivdistribusjonsmerkelapper:"
-#: ../yumcommands.py:688
-msgid "Repo-enabled: "
-msgstr "Lager aktivt: "
+#: ../yumcommands.py:846
+msgid "Repo-updated: "
+msgstr "Arkivaktivitet:"
-#: ../yumcommands.py:689
+#: ../yumcommands.py:848
+msgid "Repo-pkgs : "
+msgstr "Arkivpakker : "
+
+#: ../yumcommands.py:849
msgid "Repo-size : "
-msgstr "Størrelse på lager : "
+msgstr "Størrelse på arkiv : "
+
+#: ../yumcommands.py:856
+msgid "Repo-baseurl: "
+msgstr "Arkivets basisurl : "
+
+#: ../yumcommands.py:864
+msgid "Repo-metalink: "
+msgstr "Arkivmetalink: "
+
+#: ../yumcommands.py:868
+msgid " Updated : "
+msgstr " Oppdatert : "
+
+#: ../yumcommands.py:871
+msgid "Repo-mirrors: "
+msgstr "Arkivspeil: "
+
+#: ../yumcommands.py:875
+msgid "Repo-exclude: "
+msgstr "Arkivekskludert: "
-#: ../yumcommands.py:713
+#: ../yumcommands.py:879
+msgid "Repo-include: "
+msgstr "Arkivinkludert: "
+
+#. Work out the first (id) and last (enabled/disalbed/count),
+#. then chop the middle (name)...
+#: ../yumcommands.py:889 ../yumcommands.py:915
+msgid "repo id"
+msgstr "arkiv id"
+
+#: ../yumcommands.py:903 ../yumcommands.py:904 ../yumcommands.py:918
+msgid "status"
+msgstr "status"
+
+#: ../yumcommands.py:916
+msgid "repo name"
+msgstr "arkiv navn"
+
+#: ../yumcommands.py:942
msgid "Display a helpful usage message"
msgstr "Viser en hjelpetekst"
-#: ../yumcommands.py:747
+#: ../yumcommands.py:976
#, python-format
msgid "No help available for %s"
msgstr "Ingen hjelp er tilgjengelig for %s"
-#: ../yumcommands.py:752
+#: ../yumcommands.py:981
msgid ""
"\n"
"\n"
@@ -1083,7 +1278,7 @@ msgstr ""
"\n"
"alias:"
-#: ../yumcommands.py:754
+#: ../yumcommands.py:983
msgid ""
"\n"
"\n"
@@ -1093,15 +1288,35 @@ msgstr ""
"\n"
"alias:"
-#: ../yumcommands.py:783
+#: ../yumcommands.py:1011
msgid "Setting up Reinstall Process"
msgstr "Klargjør for å legge inn pakke(r) på nytt"
-#: ../yumcommands.py:797
+#: ../yumcommands.py:1019
msgid "reinstall a package"
-msgstr "legg inn en pakke på nytt"
+msgstr "ominstaller en pakke "
-#: ../yummain.py:55
+#: ../yumcommands.py:1037
+msgid "Setting up Downgrade Process"
+msgstr "Klargjør for oppdatering"
+
+#: ../yumcommands.py:1044
+msgid "downgrade a package"
+msgstr "nedgrader en pakke"
+
+#: ../yumcommands.py:1058
+msgid "Display a version for the machine and/or available repos."
+msgstr "Vi sen versjon for maskinen og/eller tilgjengelige arkiver"
+
+#: ../yumcommands.py:1085
+msgid "Installed:"
+msgstr "Installert:"
+
+#: ../yumcommands.py:1094
+msgid "Available:"
+msgstr "Tilgjengelig:"
+
+#: ../yummain.py:42
msgid ""
"\n"
"\n"
@@ -1111,7 +1326,7 @@ msgstr ""
"\n"
"Avslutter etter ønske"
-#: ../yummain.py:61
+#: ../yummain.py:48
msgid ""
"\n"
"\n"
@@ -1121,28 +1336,90 @@ msgstr ""
"\n"
"Avslutter på grunn av brutt rør"
-#: ../yummain.py:112
+#: ../yummain.py:126
+msgid "Running"
+msgstr "Kjører"
+
+#: ../yummain.py:127
+msgid "Sleeping"
+msgstr "Sover"
+
+#: ../yummain.py:128
+msgid "Uninteruptable"
+msgstr "Ikke mulig å avbryte"
+
+#: ../yummain.py:129
+msgid "Zombie"
+msgstr "Zombie"
+
+#: ../yummain.py:130
+msgid "Traced/Stopped"
+msgstr "Sporet/Stoppet"
+
+#: ../yummain.py:131
+msgid "Unknown"
+msgstr "Ukjent"
+
+#: ../yummain.py:135
+msgid " The other application is: PackageKit"
+msgstr " Det andre programmet er: PackageKit"
+
+#: ../yummain.py:137
+#, python-format
+msgid " The other application is: %s"
+msgstr " Det andre programmet er: %s"
+
+#: ../yummain.py:140
+#, python-format
+msgid " Memory : %5s RSS (%5sB VSZ)"
+msgstr " Minne : %5s RSS (%5sB VSZ)"
+
+#: ../yummain.py:144
+#, python-format
+msgid " Started: %s - %s ago"
+msgstr " Startet for %s - %s siden"
+
+#: ../yummain.py:146
+#, python-format
+msgid " State : %s, pid: %d"
+msgstr " Status : %s, pid: %d"
+
+#: ../yummain.py:171
msgid ""
"Another app is currently holding the yum lock; waiting for it to exit..."
msgstr ""
"Et annet program holder en fillås for Yum, venter til fillåsen frigjøres..."
-#: ../yummain.py:139 ../yummain.py:178
+#: ../yummain.py:199 ../yummain.py:238
#, python-format
msgid "Error: %s"
msgstr "Feil: %s"
-#: ../yummain.py:149 ../yummain.py:185
+#: ../yummain.py:209 ../yummain.py:251
#, python-format
msgid "Unknown Error(s): Exit Code: %d:"
msgstr "Ukjent feil: feilkode: %d:"
#. Depsolve stage
-#: ../yummain.py:156
+#: ../yummain.py:216
msgid "Resolving Dependencies"
msgstr "Løser avhengigheter"
-#: ../yummain.py:191
+#: ../yummain.py:240
+msgid " You could try using --skip-broken to work around the problem"
+msgstr "Du kan prøve å bruke --skip-broken for å jobbe deg rundt problem"
+
+#: ../yummain.py:241
+msgid ""
+" You could try running: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+msgstr ""
+" Du kan prøve å kjøre: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+
+#: ../yummain.py:257
msgid ""
"\n"
"Dependencies Resolved"
@@ -1150,11 +1427,11 @@ msgstr ""
"\n"
"Alle avhengigheter er løst"
-#: ../yummain.py:205
+#: ../yummain.py:271
msgid "Complete!"
msgstr "Ferdig!"
-#: ../yummain.py:252
+#: ../yummain.py:318
msgid ""
"\n"
"\n"
@@ -1164,147 +1441,196 @@ msgstr ""
"\n"
"Avslutter etter ønske"
-#: ../yum/depsolve.py:78
+#: ../yum/depsolve.py:83
msgid "doTsSetup() will go away in a future version of Yum.\n"
msgstr "doTsSetup() vil forsvinne i en kommende utgave av Yum.\n"
-#: ../yum/depsolve.py:91
+#: ../yum/depsolve.py:98
msgid "Setting up TransactionSets before config class is up"
msgstr "Setter opp transaksjons-sett før config klassen er klar"
-#: ../yum/depsolve.py:132
+#: ../yum/depsolve.py:149
#, python-format
msgid "Invalid tsflag in config file: %s"
msgstr "Ugyldig tsflag in konfigurasjonsfil: %s"
-#: ../yum/depsolve.py:176
+#: ../yum/depsolve.py:160
+#, python-format
+msgid "Searching pkgSack for dep: %s"
+msgstr "Søker i pkgSack etter avhengighet: %s"
+
+#: ../yum/depsolve.py:183
+#, python-format
+msgid "Potential match for %s from %s"
+msgstr "Potensielt treff for %s i %s"
+
+#: ../yum/depsolve.py:191
+#, python-format
+msgid "Matched %s to require for %s"
+msgstr "Passende %s for å tilfredstille %s"
+
+#: ../yum/depsolve.py:232
#, python-format
msgid "Member: %s"
msgstr "Medlem: %s"
-#: ../yum/depsolve.py:190 ../yum/depsolve.py:592
+#: ../yum/depsolve.py:246 ../yum/depsolve.py:759
#, python-format
msgid "%s converted to install"
msgstr "%s ble omdannet til installering"
-#: ../yum/depsolve.py:197
+#: ../yum/depsolve.py:253
#, python-format
msgid "Adding Package %s in mode %s"
msgstr "Legger til pakke %s in modus %s"
-#: ../yum/depsolve.py:207
+#: ../yum/depsolve.py:263
#, python-format
msgid "Removing Package %s"
msgstr "Fjerner pakke %s"
-#: ../yum/depsolve.py:218
+#: ../yum/depsolve.py:285
#, python-format
msgid "%s requires: %s"
msgstr "%s krever: %s"
-#: ../yum/depsolve.py:273
+#: ../yum/depsolve.py:343
+msgid "Needed Require has already been looked up, cheating"
+msgstr "Nødvendig avhengighet har allerede blitt plukket opp, jukser"
+
+#: ../yum/depsolve.py:353
+#, python-format
+msgid "Needed Require is not a package name. Looking up: %s"
+msgstr "Nødvendig avhengighet er ikke et navn på pakke. Ser etter: %s"
+
+#: ../yum/depsolve.py:360
+#, python-format
+msgid "Potential Provider: %s"
+msgstr "Potensiell tilbyder: %s"
+
+#: ../yum/depsolve.py:383
+#, python-format
+msgid "Mode is %s for provider of %s: %s"
+msgstr "Modus er %s for tilbyder av %s: %s"
+
+#: ../yum/depsolve.py:387
+#, python-format
+msgid "Mode for pkg providing %s: %s"
+msgstr "Modus for pakke som tilbyr %s: %s"
+
+#: ../yum/depsolve.py:391
+#, python-format
+msgid "TSINFO: %s package requiring %s marked as erase"
+msgstr "TSINFO: pakke %s som er nødvendig for %s vil bli fjernet"
+
+#: ../yum/depsolve.py:404
#, python-format
msgid "TSINFO: Obsoleting %s with %s to resolve dep."
msgstr "TSINFO: Bytter ut %s med %s for å løse opp i avhengighet."
-#: ../yum/depsolve.py:276
+#: ../yum/depsolve.py:407
#, python-format
msgid "TSINFO: Updating %s to resolve dep."
msgstr "TSINFO: Oppdaterer %s for å løse opp i avhengighet."
-#: ../yum/depsolve.py:279
+#: ../yum/depsolve.py:415
#, python-format
msgid "Cannot find an update path for dep for: %s"
msgstr "Kunne ikke finne måte å oppdatere sti for avhengighet: %s."
-#: ../yum/depsolve.py:283
+#: ../yum/depsolve.py:425
#, python-format
-msgid "TSINFO: %s package requiring %s marked as erase"
-msgstr "TSINFO: pakke %s som er nødvendig for %s vil bli fjernet"
+msgid "Unresolvable requirement %s for %s"
+msgstr "Avhengighet %s kan ikke løses opp: %s"
+
+#: ../yum/depsolve.py:448
+#, python-format
+msgid "Quick matched %s to require for %s"
+msgstr "Hurtigpasset %s for å tilfredstille %s"
#. is it already installed?
-#: ../yum/depsolve.py:329
+#: ../yum/depsolve.py:490
#, python-format
msgid "%s is in providing packages but it is already installed, removing."
msgstr "%s tilbyr pakker, men er allerede installert, fjerner denne."
-#: ../yum/depsolve.py:344
+#: ../yum/depsolve.py:506
#, python-format
msgid "Potential resolving package %s has newer instance in ts."
msgstr "Pakke %s som potensielt løser opp avhengighet har nyere instans in ts."
-#: ../yum/depsolve.py:355
+#: ../yum/depsolve.py:517
#, python-format
msgid "Potential resolving package %s has newer instance installed."
msgstr "Pakke %s som potensielt løser opp avhengighet er allerde installert."
-#: ../yum/depsolve.py:363 ../yum/depsolve.py:410
+#: ../yum/depsolve.py:525 ../yum/depsolve.py:574
#, python-format
msgid "Missing Dependency: %s is needed by package %s"
msgstr "Uløst avhengighet: %s trengs av pakke %s"
-#: ../yum/depsolve.py:376
+#: ../yum/depsolve.py:538
#, python-format
msgid "%s already in ts, skipping this one"
msgstr "%s er allerde i ts, hopper over denne"
-#: ../yum/depsolve.py:420
+#: ../yum/depsolve.py:584
#, python-format
msgid "TSINFO: Marking %s as update for %s"
msgstr "TSINFO: Setter opp %s som oppdatering av %s"
-#: ../yum/depsolve.py:427
+#: ../yum/depsolve.py:592
#, python-format
msgid "TSINFO: Marking %s as install for %s"
msgstr "TSINFO: Setter opp %s som pakke for installering av %s"
-#: ../yum/depsolve.py:518 ../yum/depsolve.py:610
+#: ../yum/depsolve.py:695 ../yum/depsolve.py:777
msgid "Success - empty transaction"
msgstr "Suksess - transaksjonen er tom"
-#: ../yum/depsolve.py:562 ../yum/depsolve.py:582
+#: ../yum/depsolve.py:734 ../yum/depsolve.py:749
msgid "Restarting Loop"
msgstr "Starter sløyfe på nytt"
-#: ../yum/depsolve.py:598
+#: ../yum/depsolve.py:765
msgid "Dependency Process ending"
msgstr "Beregning av avhengighet avsluttes"
-#: ../yum/depsolve.py:604
+#: ../yum/depsolve.py:771
#, python-format
msgid "%s from %s has depsolving problems"
msgstr "%s fra %s har problemer med avhengigheter"
-#: ../yum/depsolve.py:611
+#: ../yum/depsolve.py:778
msgid "Success - deps resolved"
msgstr "Suksess - alle avhengigheter er tilfredstilt"
-#: ../yum/depsolve.py:625
+#: ../yum/depsolve.py:792
#, python-format
msgid "Checking deps for %s"
msgstr "Sjekker avhengigheter for %s"
-#: ../yum/depsolve.py:687
+#: ../yum/depsolve.py:875
#, python-format
msgid "looking for %s as a requirement of %s"
msgstr "leter etter %s som kreves av %s"
-#: ../yum/depsolve.py:814
+#: ../yum/depsolve.py:1017
#, python-format
msgid "Running compare_providers() for %s"
msgstr "Kjører compare_providers() for %s"
-#: ../yum/depsolve.py:842 ../yum/depsolve.py:848
+#: ../yum/depsolve.py:1051 ../yum/depsolve.py:1057
#, python-format
msgid "better arch in po %s"
msgstr "bedre arch i po %s"
-#: ../yum/depsolve.py:887
+#: ../yum/depsolve.py:1132
#, python-format
msgid "%s obsoletes %s"
msgstr "%s faser ut %s"
-#: ../yum/depsolve.py:898
+#: ../yum/depsolve.py:1144
#, python-format
msgid ""
"archdist compared %s to %s on %s\n"
@@ -1313,109 +1639,121 @@ msgstr ""
"archdist sammenlignet %s med %s på %s\n"
" Vinner: %s"
-#: ../yum/depsolve.py:905
+#: ../yum/depsolve.py:1151
#, python-format
msgid "common sourcerpm %s and %s"
-msgstr ""
+msgstr "felles kilderpm %s og %s"
-#: ../yum/depsolve.py:911
+#: ../yum/depsolve.py:1157
#, python-format
msgid "common prefix of %s between %s and %s"
-msgstr ""
+msgstr "felles prefiks fra %s mellom %s og %s"
-#: ../yum/depsolve.py:919
+#: ../yum/depsolve.py:1165
#, python-format
msgid "Best Order: %s"
msgstr "Beste rekkefølge: %s"
-#: ../yum/__init__.py:148
+#: ../yum/__init__.py:156
msgid "doConfigSetup() will go away in a future version of Yum.\n"
msgstr "doConfigSetup() vil forsvinne i en kommende utgave av Yum.\n"
-#. FIXME: Use critical? or exception?
-#: ../yum/__init__.py:323
+#: ../yum/__init__.py:377
#, python-format
msgid "Repository %r is missing name in configuration, using id"
msgstr "Pakkelager %r mangler navn i konfigurasjonsfilen(e), bruker id"
-#: ../yum/__init__.py:359
+#: ../yum/__init__.py:415
msgid "plugins already initialised"
msgstr "tillegg til yum er allerede initiert"
-#: ../yum/__init__.py:366
+#: ../yum/__init__.py:422
msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() vil forsvinne i en kommende utgave av Yum.\n"
-#: ../yum/__init__.py:376
+#: ../yum/__init__.py:433
msgid "Reading Local RPMDB"
msgstr "Leser inn lokal RPM-database"
-#: ../yum/__init__.py:394
+#: ../yum/__init__.py:454
msgid "doRepoSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() vil forsvinne i en kommende utgave av Yum\n"
-#: ../yum/__init__.py:414
+#: ../yum/__init__.py:474
msgid "doSackSetup() will go away in a future version of Yum.\n"
msgstr "doSackSetup() vil forsvinne i en kommende utgave av Yum\n"
-#: ../yum/__init__.py:431
+#: ../yum/__init__.py:504
msgid "Setting up Package Sacks"
msgstr "Lager sekker med pakker"
-#: ../yum/__init__.py:474
+#: ../yum/__init__.py:549
#, python-format
msgid "repo object for repo %s lacks a _resetSack method\n"
msgstr "objekt for pakkelager %s mangler metoden _resetSack\n"
-#: ../yum/__init__.py:475
+#: ../yum/__init__.py:550
msgid "therefore this repo cannot be reset.\n"
msgstr "derfor kan ikke denne pakkeoversikten nullstilles\n"
-#: ../yum/__init__.py:480
+#: ../yum/__init__.py:555
msgid "doUpdateSetup() will go away in a future version of Yum.\n"
msgstr "doUpdateSetup() vil forsvinne i en kommende utgave av Yum.\n"
-#: ../yum/__init__.py:492
+#: ../yum/__init__.py:567
msgid "Building updates object"
msgstr "Bygger opp oppdateringsobjekt"
-#: ../yum/__init__.py:523
+#: ../yum/__init__.py:602
msgid "doGroupSetup() will go away in a future version of Yum.\n"
msgstr "doGroupSetup() vil forsvinne i en kommende utgave av Yum.\n"
-#: ../yum/__init__.py:547
+#: ../yum/__init__.py:627
msgid "Getting group metadata"
msgstr "Henter metadata for grupper"
-#: ../yum/__init__.py:572
+#: ../yum/__init__.py:653
#, python-format
msgid "Adding group file from repository: %s"
msgstr "Legger til gruppefil fra pakkeoversikt: %s"
-#: ../yum/__init__.py:577
+#: ../yum/__init__.py:662
#, python-format
msgid "Failed to add groups file for repository: %s - %s"
msgstr "Kunne ikke legge til gruppefil for pakkeoversikt: %s - %s"
-#: ../yum/__init__.py:583
+#: ../yum/__init__.py:668
msgid "No Groups Available in any repository"
msgstr "Ingen grupper tilgjengelig fra noen lagre"
-#: ../yum/__init__.py:633
+#: ../yum/__init__.py:718
msgid "Importing additional filelist information"
msgstr "Henter mer informasjon om fil-lister"
-#: ../yum/__init__.py:684
+#: ../yum/__init__.py:732
+#, python-format
+msgid "The program %s%s%s is found in the yum-utils package."
+msgstr "Programmet %s%s%s er funnet i yum-utils pakken."
+
+#: ../yum/__init__.py:740
+msgid ""
+"There are unfinished transactions remaining. You might consider running yum-"
+"complete-transaction first to finish them."
+msgstr ""
+"Det er uferdige transaksjoner igjen. Du vil kanskje vurdere å kjøre yum-"
+"complete-transaction først for å gjøre dem ferdig."
+
+#: ../yum/__init__.py:808
#, python-format
msgid "Skip-broken round %i"
msgstr "Runde %i for å hoppe over feil avhengighet"
-#: ../yum/__init__.py:707
+#: ../yum/__init__.py:860
#, python-format
msgid "Skip-broken took %i rounds "
msgstr "På grunn feil i avhengigheter ble det gjennomført %i runder "
-#: ../yum/__init__.py:708
+#: ../yum/__init__.py:861
msgid ""
"\n"
"Packages skipped because of dependency problems:"
@@ -1423,98 +1761,92 @@ msgstr ""
"\n"
"Pakker som ble oversett på grunn av problemer med avhengigheter:"
-#: ../yum/__init__.py:712
+#: ../yum/__init__.py:865
#, python-format
msgid " %s from %s"
msgstr " %s fra %s"
-#: ../yum/__init__.py:792
+#: ../yum/__init__.py:1003
msgid ""
"Warning: scriptlet or other non-fatal errors occurred during transaction."
msgstr ""
+"Advarsel: et scriptlet eller andre ikkekritiske feil oppstod under "
+"transaksjonen."
-#: ../yum/__init__.py:807
+#: ../yum/__init__.py:1018
#, python-format
msgid "Failed to remove transaction file %s"
msgstr "Kunne ikke fjerne transaksjonsfil %s"
-#: ../yum/__init__.py:847
-#, python-format
-msgid "excluding for cost: %s from %s"
-msgstr "ekskluderer på grunn av kostnad: %s fra %s"
-
-#: ../yum/__init__.py:878
-msgid "Excluding Packages in global exclude list"
-msgstr "Ekskluderer pakker som er i global liste med ekskluderte pakker"
-
-#: ../yum/__init__.py:880
-#, python-format
-msgid "Excluding Packages from %s"
-msgstr "Ekskluderer pakker fra %s"
-
-#: ../yum/__init__.py:906
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1047
#, python-format
-msgid "Reducing %s to included packages only"
-msgstr "Reduserer %s til kun inkluderte pakker"
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s var ment til å bli installert men er ikke!"
-#: ../yum/__init__.py:911
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1086
#, python-format
-msgid "Keeping included package %s"
-msgstr "Tar vare på inkludert pakke %s"
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s var ment til å bli fjernet men er ikke!"
-#: ../yum/__init__.py:917
+#: ../yum/__init__.py:1132
#, python-format
-msgid "Removing unmatched package %s"
-msgstr "Fjerner upassende pakke: %s"
-
-#: ../yum/__init__.py:920
-msgid "Finished"
-msgstr "Ferdig"
+msgid "excluding for cost: %s from %s"
+msgstr "ekskluderer på grunn av kostnad: %s fra %s"
#. Whoa. What the heck happened?
-#: ../yum/__init__.py:950
+#: ../yum/__init__.py:1203
#, python-format
msgid "Unable to check if PID %s is active"
msgstr "Kunne ikke sjekke om PID %s er aktiv"
#. Another copy seems to be running.
-#: ../yum/__init__.py:954
+#: ../yum/__init__.py:1207
#, python-format
msgid "Existing lock %s: another copy is running as pid %s."
msgstr "Det fins allerede en låsfil %s: en annen Yum kjører med PID %s."
-#: ../yum/__init__.py:1017
+#: ../yum/__init__.py:1284
msgid "Package does not match intended download"
msgstr "Det er forskjell mellom nedlastet og forventet størrelse"
-#: ../yum/__init__.py:1032
+#: ../yum/__init__.py:1299
msgid "Could not perform checksum"
msgstr "Kunne ikke beregne sjekksum"
-#: ../yum/__init__.py:1035
+#: ../yum/__init__.py:1302
msgid "Package does not match checksum"
msgstr "Pakken har ikke korrekt sjekksum"
-#: ../yum/__init__.py:1079
+#: ../yum/__init__.py:1344
#, python-format
msgid "package fails checksum but caching is enabled for %s"
msgstr "sjekksummen til pakken er feil, men mellomlagring er satt på for %s"
-#: ../yum/__init__.py:1082
+#: ../yum/__init__.py:1347 ../yum/__init__.py:1376
#, python-format
msgid "using local copy of %s"
msgstr "bruker lokal kopi av %s"
-#: ../yum/__init__.py:1107
+#: ../yum/__init__.py:1388
#, python-format
-msgid "Insufficient space in download directory %s to download"
-msgstr "Det er ikke nok ledig plass i katalogen %s hvor pakkene blir lagret"
+msgid ""
+"Insufficient space in download directory %s\n"
+" * free %s\n"
+" * needed %s"
+msgstr ""
+"Det er ikke nok ledig plass i nedlastingskatalogen %s\n"
+" * ledig %s \n"
+" * trenger %s"
-#: ../yum/__init__.py:1140
+#: ../yum/__init__.py:1437
msgid "Header is not complete."
msgstr "Filhode er ikke fullstendig."
-#: ../yum/__init__.py:1180
+#: ../yum/__init__.py:1474
#, python-format
msgid ""
"Header not in local cache and caching-only mode enabled. Cannot download %s"
@@ -1522,62 +1854,62 @@ msgstr ""
"Filhode er ikke tilgjengelig lokalt og mellomlager-modus er aktivert Kan "
"ikke hente ned %s"
-#: ../yum/__init__.py:1235
+#: ../yum/__init__.py:1529
#, python-format
msgid "Public key for %s is not installed"
msgstr "Offentlig nøkkel for %s er ikke lagt inn"
-#: ../yum/__init__.py:1239
+#: ../yum/__init__.py:1533
#, python-format
msgid "Problem opening package %s"
msgstr "Problem ved åpning av pakke %s"
-#: ../yum/__init__.py:1247
+#: ../yum/__init__.py:1541
#, python-format
msgid "Public key for %s is not trusted"
msgstr "Offentlig nøkkel %s er ikke til å stole på"
-#: ../yum/__init__.py:1251
+#: ../yum/__init__.py:1545
#, python-format
msgid "Package %s is not signed"
msgstr "Pakken %s er ikke signert"
-#: ../yum/__init__.py:1289
+#: ../yum/__init__.py:1583
#, python-format
msgid "Cannot remove %s"
msgstr "Kan ikke fjerne %s"
-#: ../yum/__init__.py:1292
+#: ../yum/__init__.py:1587
#, python-format
msgid "%s removed"
msgstr "%s fjernet"
-#: ../yum/__init__.py:1328
+#: ../yum/__init__.py:1623
#, python-format
msgid "Cannot remove %s file %s"
msgstr "Kan ikke fjerne %s fra fil %s"
-#: ../yum/__init__.py:1331
+#: ../yum/__init__.py:1627
#, python-format
msgid "%s file %s removed"
msgstr "%s fil %s er fjernet"
-#: ../yum/__init__.py:1333
+#: ../yum/__init__.py:1629
#, python-format
msgid "%d %s files removed"
msgstr "%d %s filer fjernet"
-#: ../yum/__init__.py:1386
+#: ../yum/__init__.py:1698
#, python-format
msgid "More than one identical match in sack for %s"
msgstr "Mer enn ett identisk passende treff i sekken %s"
-#: ../yum/__init__.py:1391
+#: ../yum/__init__.py:1704
#, python-format
msgid "Nothing matches %s.%s %s:%s-%s from update"
msgstr "Ingenting passer %s.%s %s:%s-%s fra oppdatering"
-#: ../yum/__init__.py:1585
+#: ../yum/__init__.py:1937
msgid ""
"searchPackages() will go away in a future version of "
"Yum. Use searchGenerator() instead. \n"
@@ -1585,165 +1917,177 @@ msgstr ""
"searchPackages() vil forsvinne i en kommende utgave av Yum.\n"
"Bruk heller searchGenerator()\n"
-#: ../yum/__init__.py:1621
+#: ../yum/__init__.py:1979
#, python-format
msgid "Searching %d packages"
msgstr "Søker etter %d pakker"
-#: ../yum/__init__.py:1624
+#: ../yum/__init__.py:1983
#, python-format
msgid "searching package %s"
msgstr "søker etter pakke %s"
-#: ../yum/__init__.py:1635
+#: ../yum/__init__.py:1995
msgid "searching in file entries"
msgstr "søker i filoversikt"
-#: ../yum/__init__.py:1641
+#: ../yum/__init__.py:2002
msgid "searching in provides entries"
msgstr "søker i oppføringer av tilbud"
-#: ../yum/__init__.py:1671
+#: ../yum/__init__.py:2035
#, python-format
msgid "Provides-match: %s"
msgstr "Tilbyder-treff: %s"
-#: ../yum/__init__.py:1717
+#: ../yum/__init__.py:2084
msgid "No group data available for configured repositories"
msgstr "Ingen gruppedata tilgjengelig for konfigurerte pakkelager"
-#: ../yum/__init__.py:1743 ../yum/__init__.py:1762 ../yum/__init__.py:1788
-#: ../yum/__init__.py:1794 ../yum/__init__.py:1850 ../yum/__init__.py:1854
+#: ../yum/__init__.py:2115 ../yum/__init__.py:2134 ../yum/__init__.py:2165
+#: ../yum/__init__.py:2171 ../yum/__init__.py:2250 ../yum/__init__.py:2254
+#: ../yum/__init__.py:2551
#, python-format
msgid "No Group named %s exists"
msgstr "Det eksisterer ingen gruppe med navn %s "
-#: ../yum/__init__.py:1773 ../yum/__init__.py:1866
+#: ../yum/__init__.py:2146 ../yum/__init__.py:2267
#, python-format
msgid "package %s was not marked in group %s"
msgstr "pakke %s var ikke med i gruppe %s"
-#: ../yum/__init__.py:1811
+#: ../yum/__init__.py:2193
#, python-format
msgid "Adding package %s from group %s"
msgstr "Legger til pakke %s fra gruppe %s"
-#: ../yum/__init__.py:1816
+#: ../yum/__init__.py:2197
#, python-format
msgid "No package named %s available to be installed"
msgstr "Ingen pakke med navn %s er tilgjendelig for installering"
-#: ../yum/__init__.py:1891
+#: ../yum/__init__.py:2294
#, python-format
msgid "Package tuple %s could not be found in packagesack"
msgstr "Pakke tuppel %s ble ikke funnet i sekken med pakker"
-#: ../yum/__init__.py:1959 ../yum/__init__.py:1999
-msgid "Invalid versioned dependency string, try quoting it."
+#: ../yum/__init__.py:2308
+msgid ""
+"getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
msgstr ""
-"Den versjonerte strengen med avhengigheter er ugyldig, prøv å sette den i "
-"anførelsestegn."
+"getInstalledPackageObject() vil bli borte, bruk self.rpmdb.searchPkgTuple"
+"().\n"
-#: ../yum/__init__.py:1961 ../yum/__init__.py:2001
+#: ../yum/__init__.py:2364 ../yum/__init__.py:2409
msgid "Invalid version flag"
msgstr "Ugyldig versjonsflagg"
-#: ../yum/__init__.py:1973 ../yum/__init__.py:1977
+#: ../yum/__init__.py:2379 ../yum/__init__.py:2384
#, python-format
msgid "No Package found for %s"
msgstr "Ingen pakke for %s er funnet"
-#: ../yum/__init__.py:2105
+#: ../yum/__init__.py:2584
msgid "Package Object was not a package object instance"
msgstr "Pakkeobjekt var ikke en pakkeobjektinstans"
-#: ../yum/__init__.py:2109
+#: ../yum/__init__.py:2588
msgid "Nothing specified to install"
msgstr "Ingenting oppgitt for installasjon"
-#. only one in there
-#: ../yum/__init__.py:2124
+#: ../yum/__init__.py:2604 ../yum/__init__.py:3333
#, python-format
msgid "Checking for virtual provide or file-provide for %s"
msgstr "Sjekker for virtuelle tilbydere eller tilbydere av filer for %s"
-#: ../yum/__init__.py:2130 ../yum/__init__.py:2446
+#: ../yum/__init__.py:2610 ../yum/__init__.py:2900 ../yum/__init__.py:3063
+#: ../yum/__init__.py:3339
#, python-format
msgid "No Match for argument: %s"
msgstr "Ingen treff for argument: %s"
-#. FIXME - this is where we could check to see if it already installed
-#. for returning better errors
-#: ../yum/__init__.py:2185
+#: ../yum/__init__.py:2684
+#, python-format
+msgid "Package %s installed and not available"
+msgstr "Pakke %s er installert og ikke tilgjengelig"
+
+#: ../yum/__init__.py:2687
msgid "No package(s) available to install"
msgstr "Ingen pakke(r) er tilgjengelig for installering"
-#: ../yum/__init__.py:2198
+#: ../yum/__init__.py:2699
#, python-format
msgid "Package: %s - already in transaction set"
msgstr "Pakke: %s - allerede i transaksjonensettet"
-#: ../yum/__init__.py:2212
+#: ../yum/__init__.py:2725
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "Pakke %s er foreldet av %s som allerede er installert"
+
+#: ../yum/__init__.py:2728
+#, python-format
+msgid "Package %s is obsoleted by %s, trying to install %s instead"
+msgstr "Pakke %s er foreldet av %s, prøver å installere %s isteden."
+
+#: ../yum/__init__.py:2736
#, python-format
msgid "Package %s already installed and latest version"
msgstr "Pakke %s er allerede installert i siste versjon"
-#: ../yum/__init__.py:2219
+#: ../yum/__init__.py:2750
#, python-format
msgid "Package matching %s already installed. Checking for update."
msgstr "Pakke med treff på %s er allerede lagt inn. Ser etter oppdatering"
-#: ../yum/__init__.py:2230
-#, fuzzy, python-format
-msgid "Package %s is obsoleted by %s, trying to install %s instead"
-msgstr ""
-"Pakka %s er ikke installert, så den kan ikke oppdateres. Bruk kommandoen yum "
-"install for å legge den inn."
-
#. update everything (the easy case)
-#: ../yum/__init__.py:2263
+#: ../yum/__init__.py:2836
msgid "Updating Everything"
msgstr "Oppdaterer alt"
-#: ../yum/__init__.py:2366
+#: ../yum/__init__.py:2854 ../yum/__init__.py:2965 ../yum/__init__.py:2986
+#: ../yum/__init__.py:3012
#, python-format
-msgid "Package is already obsoleted: %s.%s %s:%s-%s"
-msgstr "Pakka er allerede foreldet: %s.%s %s:%s-%s"
-
-#: ../yum/__init__.py:2390
-#, fuzzy, python-format
-msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
msgstr "Vil ikke oppdatere pakke som allerede er foreldet: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2443
+#: ../yum/__init__.py:2889 ../yum/__init__.py:3060
#, python-format
msgid "%s"
msgstr "%s"
-#. FIXME we should give the caller some nice way to hush this warning
-#. probably just a kwarg of 'silence_warnings' or something
-#. b/c when this is called from groupRemove() it makes a lot of
-#. garbage noise
-#: ../yum/__init__.py:2462
+#: ../yum/__init__.py:2956
+#, python-format
+msgid "Package is already obsoleted: %s.%s %s:%s-%s"
+msgstr "Pakka er allerede foreldet: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:2989 ../yum/__init__.py:3015
+#, python-format
+msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
+msgstr "Oppdatere ikke pakken som allerede er oppdatert: %s.%s %s:%s-%s"
+
+#: ../yum/__init__.py:3076
msgid "No package matched to remove"
msgstr "Kunne ikke finne noen passende pakke for fjerning"
-#: ../yum/__init__.py:2496
+#: ../yum/__init__.py:3110 ../yum/__init__.py:3201 ../yum/__init__.py:3288
#, python-format
msgid "Cannot open file: %s. Skipping."
msgstr "Kunne ikke åpne fil: %s. Hopper over."
-#: ../yum/__init__.py:2498
+#: ../yum/__init__.py:3113 ../yum/__init__.py:3204 ../yum/__init__.py:3291
#, python-format
msgid "Examining %s: %s"
msgstr "Undersøker: %s: %s"
-#: ../yum/__init__.py:2504
+#: ../yum/__init__.py:3121 ../yum/__init__.py:3207 ../yum/__init__.py:3294
#, python-format
msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
msgstr ""
+"Kan ikke legge til pakke %s til transaksjonen. Det er ikke en kompatibel "
+"arkitektur: %s"
-#: ../yum/__init__.py:2512
+#: ../yum/__init__.py:3129
#, python-format
msgid ""
"Package %s not installed, cannot update it. Run yum install to install it "
@@ -1752,77 +2096,93 @@ msgstr ""
"Pakka %s er ikke installert, så den kan ikke oppdateres. Bruk kommandoen yum "
"install for å legge den inn."
-#: ../yum/__init__.py:2545
+#: ../yum/__init__.py:3164 ../yum/__init__.py:3218 ../yum/__init__.py:3305
#, python-format
msgid "Excluding %s"
msgstr "Ekskluderer %s"
-#: ../yum/__init__.py:2549
+#: ../yum/__init__.py:3169
#, python-format
msgid "Marking %s to be installed"
msgstr "Setter av %s for kommende installering"
-#: ../yum/__init__.py:2554
+#: ../yum/__init__.py:3175
#, python-format
msgid "Marking %s as an update to %s"
msgstr "Setter av %s som en oppdatering av %s"
-#: ../yum/__init__.py:2559
+#: ../yum/__init__.py:3182
#, python-format
msgid "%s: does not update installed package."
msgstr "%s: vil ikke oppdatere installert pakke."
-#: ../yum/__init__.py:2576
+#: ../yum/__init__.py:3237
msgid "Problem in reinstall: no package matched to remove"
msgstr "Problem ved reinstall: kunne ikke finne passende pakke og fjerne"
-#: ../yum/__init__.py:2587
-#, fuzzy, python-format
+#: ../yum/__init__.py:3249 ../yum/__init__.py:3366
+#, python-format
msgid "Package %s is allowed multiple installs, skipping"
-msgstr "Pakke %s er allerede lagt inn, hopper over"
+msgstr "Pakke %s er tillatt flere installeringer, hopper over."
+
+#: ../yum/__init__.py:3267
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Problem i ominstalleringen: ingen pakke %s funnet for installering."
-#: ../yum/__init__.py:2594
-msgid "Problem in reinstall: no package matched to install"
-msgstr "Problem ved reinstall: kunne ikke finne passende pakke og installere "
+#: ../yum/__init__.py:3358
+msgid "No package(s) available to downgrade"
+msgstr "Ingen pakke(r) er tilgjengelig for nedgradering"
+
+#: ../yum/__init__.py:3402
+#, python-format
+msgid "No Match for available package: %s"
+msgstr "Ingen treff for tilgjengelig pakke: %s"
+
+#: ../yum/__init__.py:3408
+#, python-format
+msgid "Only Upgrade available on package: %s"
+msgstr "Bare oppgraderinger tilgjengelig på pakke: %s"
-#: ../yum/__init__.py:2641
+#: ../yum/__init__.py:3467
#, python-format
msgid "Retrieving GPG key from %s"
msgstr "Henter GPG-nøkkel fra %s"
-#: ../yum/__init__.py:2647
+#: ../yum/__init__.py:3487
msgid "GPG key retrieval failed: "
msgstr "Henting av GPG-nøkkel feilet: "
-#: ../yum/__init__.py:2663
-msgid "GPG key parsing failed: "
-msgstr "Analyse av GPG-nøkkel feilet: "
+#: ../yum/__init__.py:3498
+#, python-format
+msgid "GPG key parsing failed: key does not have value %s"
+msgstr "Analyse av GPG-nøkkel feilet: nøkkelen har ikke verdi %s"
-#: ../yum/__init__.py:2667
+#: ../yum/__init__.py:3530
#, python-format
msgid "GPG key at %s (0x%s) is already installed"
msgstr "GPG-nøkkel ved %s (0x%s) er allerede lagt inn"
#. Try installing/updating GPG key
-#: ../yum/__init__.py:2672
+#: ../yum/__init__.py:3535 ../yum/__init__.py:3597
#, python-format
msgid "Importing GPG key 0x%s \"%s\" from %s"
msgstr "Legger inn GPG-nøkkel 0x%s \"%s\" fra %s"
-#: ../yum/__init__.py:2685
+#: ../yum/__init__.py:3552
msgid "Not installing key"
msgstr "Legger ikke inn nøkkel"
-#: ../yum/__init__.py:2691
+#: ../yum/__init__.py:3558
#, python-format
msgid "Key import failed (code %d)"
msgstr "Import av nøkkel feilet (kode %d)"
-#: ../yum/__init__.py:2694
+#: ../yum/__init__.py:3559 ../yum/__init__.py:3618
msgid "Key imported successfully"
msgstr "Nøkler ble lagt inn med suksess"
-#: ../yum/__init__.py:2699
+#: ../yum/__init__.py:3564 ../yum/__init__.py:3623
#, python-format
msgid ""
"The GPG keys listed for the \"%s\" repository are already installed but they "
@@ -1834,134 +2194,178 @@ msgstr ""
"Sjekk at korrekt URL (gpgkey opsjonen) er oppgitt for denne\n"
"pakkeoversikten."
-#: ../yum/__init__.py:2708
+#: ../yum/__init__.py:3573
msgid "Import of key(s) didn't help, wrong key(s)?"
msgstr "Import av nøkler hjalp ikke, feil nøkler?"
-#: ../yum/__init__.py:2789
+#: ../yum/__init__.py:3592
+#, python-format
+msgid "GPG key at %s (0x%s) is already imported"
+msgstr "GPG-nøkkel ved %s (0x%s) er allerede importert"
+
+#: ../yum/__init__.py:3612
+#, python-format
+msgid "Not installing key for repo %s"
+msgstr "Legger ikke inn nøkkel for arkiv %s"
+
+#: ../yum/__init__.py:3617
+msgid "Key import failed"
+msgstr "Import av nøkkel feilet"
+
+#: ../yum/__init__.py:3738
msgid "Unable to find a suitable mirror."
msgstr "Kunne ikke finne passende filspeil"
-#: ../yum/__init__.py:2791
+#: ../yum/__init__.py:3740
msgid "Errors were encountered while downloading packages."
msgstr "Det oppstod feil ved nedlastning av pakker."
-#: ../yum/__init__.py:2854
+#: ../yum/__init__.py:3781
+#, python-format
+msgid "Please report this error at %s"
+msgstr "Vennligst send en feilrapport til %s"
+
+#: ../yum/__init__.py:3805
msgid "Test Transaction Errors: "
msgstr "Feil ved testtransaksjon: "
#. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:197
+#: ../yum/plugins.py:202
msgid "Loaded plugins: "
msgstr "Tillegg som er i bruk:"
-#: ../yum/plugins.py:208
-#, fuzzy, python-format
+#: ../yum/plugins.py:216 ../yum/plugins.py:222
+#, python-format
msgid "No plugin match for: %s"
-msgstr "Intet treff for argument: %s"
+msgstr "Intet programtilleggs treff for: %s"
+
+#: ../yum/plugins.py:252
+#, python-format
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "Laster ikke programtillegg \"%s\", siden den er deaktivert"
-#: ../yum/plugins.py:221
+#. Give full backtrace:
+#: ../yum/plugins.py:264
#, python-format
-msgid "\"%s\" plugin is disabled"
-msgstr "Tillegg: %s er ikke aktiv."
+msgid "Plugin \"%s\" can't be imported"
+msgstr "Programtillegg \"%s\" kan ikke bli importert"
-#: ../yum/plugins.py:233
+#: ../yum/plugins.py:271
#, python-format
msgid "Plugin \"%s\" doesn't specify required API version"
msgstr "Tillegg \"%s\" tilfredstiller ikke versjonskravene fra Yum."
-#: ../yum/plugins.py:237
+#: ../yum/plugins.py:276
#, python-format
msgid "Plugin \"%s\" requires API %s. Supported API is %s."
msgstr "Tillegg \"%s\" krever API versjon: %s. Men støttet API versjon er %s."
-#: ../yum/plugins.py:266
+#: ../yum/plugins.py:309
#, python-format
msgid "Loading \"%s\" plugin"
msgstr "Laster tillegg \"%s\""
-#: ../yum/plugins.py:273
+#: ../yum/plugins.py:316
#, python-format
msgid ""
"Two or more plugins with the name \"%s\" exist in the plugin search path"
msgstr "Det finnes to eller flere tillegg med navn «%s» i søkestien for tillegg"
-#: ../yum/plugins.py:293
+#: ../yum/plugins.py:336
#, python-format
msgid "Configuration file %s not found"
msgstr "Konfigurasjonsfila %s ble ikke funnet"
#. for
#. Configuration files for the plugin not found
-#: ../yum/plugins.py:296
+#: ../yum/plugins.py:339
#, python-format
msgid "Unable to find configuration file for plugin %s"
msgstr "Kunne ikke finne konfigurasjon for tillegg %s"
-#: ../yum/plugins.py:450
+#: ../yum/plugins.py:497
msgid "registration of commands not supported"
msgstr "registering av kommandoer er ikke støttet"
#: ../yum/rpmtrans.py:78
-#, fuzzy
msgid "Repackaging"
msgstr "Pakker på nytt"
-#: ../rpmUtils/oldUtils.py:26
+#: ../rpmUtils/oldUtils.py:33
#, python-format
msgid "Header cannot be opened or does not match %s, %s."
msgstr "Kunne ikke åpne filhode eller filhode %s passet ikke til %s."
-#: ../rpmUtils/oldUtils.py:46
+#: ../rpmUtils/oldUtils.py:53
#, python-format
msgid "RPM %s fails md5 check"
msgstr "RPM pakke %s feilet i sjekk av md5-sum"
-#: ../rpmUtils/oldUtils.py:144
+#: ../rpmUtils/oldUtils.py:151
msgid "Could not open RPM database for reading. Perhaps it is already in use?"
msgstr "Kunne ikk åpen RPM database for lesing. I bruk av noen andre?"
-#: ../rpmUtils/oldUtils.py:174
+#: ../rpmUtils/oldUtils.py:183
msgid "Got an empty Header, something has gone wrong"
msgstr "Filhode var tomt, noe har gått galt"
-#: ../rpmUtils/oldUtils.py:244 ../rpmUtils/oldUtils.py:251
-#: ../rpmUtils/oldUtils.py:254 ../rpmUtils/oldUtils.py:257
+#: ../rpmUtils/oldUtils.py:253 ../rpmUtils/oldUtils.py:260
+#: ../rpmUtils/oldUtils.py:263 ../rpmUtils/oldUtils.py:266
#, python-format
msgid "Damaged Header %s"
msgstr "Filhode til %s er ødelagt"
-#: ../rpmUtils/oldUtils.py:272
+#: ../rpmUtils/oldUtils.py:281
#, python-format
msgid "Error opening rpm %s - error %s"
msgstr "Kunne ikke åpen rpm pakke %s - feilen er %s"
-#~ msgid "Searching pkgSack for dep: %s"
-#~ msgstr "Søker i pkgSack etter avhengighet: %s"
+#~ msgid "Parsing package install arguments"
+#~ msgstr "Analyserer argumentene for pakkeinstallasjon"
-#~ msgid "Potential match for %s from %s"
-#~ msgstr "Potensielt treff for %s i %s"
+#~ msgid "Could not find update match for %s"
+#~ msgstr "Kunne ikke finne oppdatering som passet for %s"
-#~ msgid "Matched %s to require for %s"
-#~ msgstr "Passende %s for å tilfredstille %s"
+#~ msgid "Matching packages for package list to user args"
+#~ msgstr "Tilpasser pakkeliste etter brukers ønske"
-#~ msgid "Needed Require has already been looked up, cheating"
-#~ msgstr "Nødvendig avhengighet har allerede blitt plukket opp, jukser"
+#~ msgid ""
+#~ "\n"
+#~ "Transaction Summary\n"
+#~ "=============================================================================\n"
+#~ "Install %5.5s Package(s) \n"
+#~ "Update %5.5s Package(s) \n"
+#~ "Remove %5.5s Package(s) \n"
+#~ msgstr ""
+#~ "\n"
+#~ "Oversikt over transaksjon\n"
+#~ "=============================================================================\n"
+#~ "Legger inn %5.5s pakker\n"
+#~ "Oppdaterer %5.5s pakker\n"
+#~ "Fjerner %5.5s pakker\n"
-#~ msgid "Needed Require is not a package name. Looking up: %s"
-#~ msgstr "Nødvendig avhengighet er ikke et navn på pakke. Ser etter: %s"
+#~ msgid "Excluding Packages in global exclude list"
+#~ msgstr "Ekskluderer pakker som er i global liste med ekskluderte pakker"
-#~ msgid "Potential Provider: %s"
-#~ msgstr "Potensiell tilbyder: %s"
+#~ msgid "Excluding Packages from %s"
+#~ msgstr "Ekskluderer pakker fra %s"
-#~ msgid "Mode is %s for provider of %s: %s"
-#~ msgstr "Modus er %s for tilbyder av %s: %s"
+#~ msgid "Reducing %s to included packages only"
+#~ msgstr "Reduserer %s til kun inkluderte pakker"
-#~ msgid "Mode for pkg providing %s: %s"
-#~ msgstr "Modus for pakke som tilbyr %s: %s"
+#~ msgid "Keeping included package %s"
+#~ msgstr "Tar vare på inkludert pakke %s"
-#~ msgid "Unresolvable requirement %s for %s"
-#~ msgstr "Avhengighet %s kan ikke løses opp: %s"
+#~ msgid "Removing unmatched package %s"
+#~ msgstr "Fjerner upassende pakke: %s"
+
+#~ msgid "Finished"
+#~ msgstr "Ferdig"
+
+#~ msgid "Invalid versioned dependency string, try quoting it."
+#~ msgstr ""
+#~ "Den versjonerte strengen med avhengigheter er ugyldig, prøv å sette den i "
+#~ "anførelsestegn."
#~ msgid "Looking for Obsoletes for %s"
#~ msgstr "Leter opp informasjon utgåtte pakker for %s"
@@ -1978,9 +2382,6 @@ msgstr "Kunne ikke åpen rpm pakke %s - feilen er %s"
#~ msgid "%s conflicts with %s"
#~ msgstr "%s er i konflikt med %s"
-#~ msgid "Package %s needs %s, this is not available."
-#~ msgstr "Pakke %s trenger %s, dessverre er denne ikke tilgjengelig."
-
#~ msgid "Package %s conflicts with %s."
#~ msgstr "Pakke %s er i konflikt med %s."
diff --git a/po/pl.po b/po/pl.po
index 8da727a..ba98fc0 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-09 14:52+0200\n"
-"PO-Revision-Date: 2009-04-09 16:19+0200\n"
+"POT-Creation-Date: 2009-06-22 21:06+0200\n"
+"PO-Revision-Date: 2009-06-22 21:07+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../callback.py:48 ../output.py:936 ../yum/rpmtrans.py:71
+#: ../callback.py:48 ../output.py:939 ../yum/rpmtrans.py:71
msgid "Updating"
msgstr "Aktualizowanie"
@@ -21,7 +21,7 @@ msgstr "Aktualizowanie"
msgid "Erasing"
msgstr "Usuwanie"
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:935
+#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:938
#: ../yum/rpmtrans.py:73 ../yum/rpmtrans.py:74 ../yum/rpmtrans.py:76
msgid "Installing"
msgstr "Instalowanie"
@@ -30,7 +30,7 @@ msgstr "Instalowanie"
msgid "Obsoleted"
msgstr "Przestarzałe"
-#: ../callback.py:54 ../output.py:1043
+#: ../callback.py:54 ../output.py:1060
msgid "Updated"
msgstr "Zaktualizowano"
@@ -38,7 +38,7 @@ msgstr "Zaktualizowano"
msgid "Erased"
msgstr "Usunięto"
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1041
+#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1058
msgid "Installed"
msgstr "Zainstalowano"
@@ -60,7 +60,7 @@ msgstr "Błąd: nieprawidłowy stan wyjścia: %s dla %s"
msgid "Erased: %s"
msgstr "Usunięto: %s"
-#: ../callback.py:217 ../output.py:937
+#: ../callback.py:217 ../output.py:940
msgid "Removing"
msgstr "Usuwanie"
@@ -68,60 +68,60 @@ msgstr "Usuwanie"
msgid "Cleanup"
msgstr "Czyszczenie"
-#: ../cli.py:104
+#: ../cli.py:107
#, python-format
msgid "Command \"%s\" already defined"
msgstr "Polecenie \"%s\" zostało już określone"
-#: ../cli.py:116
+#: ../cli.py:119
msgid "Setting up repositories"
msgstr "Ustawianie repozytoriów"
-#: ../cli.py:127
+#: ../cli.py:130
msgid "Reading repository metadata in from local files"
msgstr "Odczytywanie metadanych repozytoriów z lokalnych plików"
-#: ../cli.py:190 ../utils.py:87
+#: ../cli.py:193 ../utils.py:87
#, python-format
msgid "Config Error: %s"
msgstr "Błąd konfiguracji: %s"
-#: ../cli.py:193 ../cli.py:1231 ../utils.py:90
+#: ../cli.py:196 ../cli.py:1242 ../utils.py:90
#, python-format
msgid "Options Error: %s"
msgstr "Błąd opcji: %s"
-#: ../cli.py:221
+#: ../cli.py:225
#, python-format
msgid " Installed: %s-%s at %s"
msgstr " Zainstalowane: %s-%s o %s"
-#: ../cli.py:223
+#: ../cli.py:227
#, python-format
msgid " Built : %s at %s"
msgstr " Zbudowane : %s o %s"
-#: ../cli.py:225
+#: ../cli.py:229
#, python-format
msgid " Committed: %s at %s"
msgstr " Wysłane: %s o %s"
-#: ../cli.py:264
+#: ../cli.py:268
msgid "You need to give some command"
msgstr "Musisz podać jakieś polecenie"
-#: ../cli.py:307
+#: ../cli.py:311
msgid "Disk Requirements:\n"
msgstr "Wymagana przestrzeń na dysku:\n"
-#: ../cli.py:309
+#: ../cli.py:313
#, python-format
msgid " At least %dMB needed on the %s filesystem.\n"
msgstr " Potrzeba co najmniej %d MB w systemie plików %s.\n"
#. TODO: simplify the dependency errors?
#. Fixup the summary
-#: ../cli.py:314
+#: ../cli.py:318
msgid ""
"Error Summary\n"
"-------------\n"
@@ -129,56 +129,56 @@ msgstr ""
"Podsumowanie błędów\n"
"-------------------\n"
-#: ../cli.py:357
+#: ../cli.py:361
msgid "Trying to run the transaction but nothing to do. Exiting."
msgstr "Próbowano wykonać transakcję, ale nie ma nic do zrobienia. Zamykanie."
-#: ../cli.py:393
+#: ../cli.py:397
msgid "Exiting on user Command"
msgstr "Zamykanie na polecenie użytkownika"
-#: ../cli.py:397
+#: ../cli.py:401
msgid "Downloading Packages:"
msgstr "Pobieranie pakietów:"
-#: ../cli.py:402
+#: ../cli.py:406
msgid "Error Downloading Packages:\n"
msgstr "Błąd podczas pobierania pakietów:\n"
-#: ../cli.py:416 ../yum/__init__.py:3575
+#: ../cli.py:420 ../yum/__init__.py:3750
msgid "Running rpm_check_debug"
msgstr "Wykonywanie rpm_check_debug"
-#: ../cli.py:419 ../yum/__init__.py:3578
+#: ../cli.py:423 ../yum/__init__.py:3753
msgid "ERROR with rpm_check_debug vs depsolve:"
msgstr "BŁĄD rpm_check_debug i rozwiązywania zależności:"
-#: ../cli.py:423
+#: ../cli.py:427
#, python-format
msgid "Please report this error in %s"
msgstr "Zgłoś ten błąd na %s"
-#: ../cli.py:429
+#: ../cli.py:433
msgid "Running Transaction Test"
msgstr "Wykonywanie testu transakcji"
-#: ../cli.py:445
+#: ../cli.py:449
msgid "Finished Transaction Test"
msgstr "Zakończono test transakcji"
-#: ../cli.py:447
+#: ../cli.py:451
msgid "Transaction Check Error:\n"
msgstr "Błąd podczas sprawdzania transakcji:\n"
-#: ../cli.py:454
+#: ../cli.py:458
msgid "Transaction Test Succeeded"
msgstr "Test transakcji został zakończony powodzeniem"
-#: ../cli.py:475
+#: ../cli.py:480
msgid "Running Transaction"
msgstr "Wykonywanie transakcji"
-#: ../cli.py:505
+#: ../cli.py:510
msgid ""
"Refusing to automatically import keys when running unattended.\n"
"Use \"-y\" to override."
@@ -187,69 +187,79 @@ msgstr ""
"uruchomienia.\n"
"Użyj \"-y\", aby wymusić."
-#: ../cli.py:524 ../cli.py:558
+#: ../cli.py:529 ../cli.py:563
msgid " * Maybe you meant: "
msgstr " * Czy chodziło o: "
-#: ../cli.py:541 ../cli.py:549
+#: ../cli.py:546 ../cli.py:554
#, python-format
msgid "Package(s) %s%s%s available, but not installed."
msgstr "Pakiety %s%s%s są dostępne, ale nie są zainstalowane."
-#: ../cli.py:555 ../cli.py:586 ../cli.py:666
+#: ../cli.py:560 ../cli.py:591 ../cli.py:669
#, python-format
msgid "No package %s%s%s available."
msgstr "Nie ma pakietu %s%s%s."
-#: ../cli.py:591 ../cli.py:693
+#: ../cli.py:596 ../cli.py:729
msgid "Package(s) to install"
msgstr "Pakiety do zainstalowania"
-#: ../cli.py:592 ../cli.py:672 ../cli.py:694 ../yumcommands.py:157
-#: ../yumcommands.py:1018
+#: ../cli.py:597 ../cli.py:675 ../cli.py:708 ../cli.py:730
+#: ../yumcommands.py:157
msgid "Nothing to do"
msgstr "Nie ma niczego do zrobienia"
-#: ../cli.py:625
+#: ../cli.py:630
#, python-format
msgid "%d packages marked for Update"
msgstr "%d pakietów oznaczonych do aktualizacji"
-#: ../cli.py:628
+#: ../cli.py:633
msgid "No Packages marked for Update"
msgstr "Brak pakietów oznaczonych do aktualizacji"
-#: ../cli.py:642
+#: ../cli.py:647
#, python-format
msgid "%d packages marked for removal"
msgstr "%d pakietów oznaczonych do usunięcia"
-#: ../cli.py:645
+#: ../cli.py:650
msgid "No Packages marked for removal"
msgstr "Brak pakietów oznaczonych do usunięcia"
-#: ../cli.py:671
+#: ../cli.py:674
msgid "Package(s) to downgrade"
msgstr "Pakiety do instalacji starszej wersji"
-#: ../cli.py:684
+#: ../cli.py:698
+#, python-format
+msgid " (from %s)"
+msgstr " (z %s)"
+
+#: ../cli.py:700
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "Zainstalowany pakiet %s%s%s%s jest niedostępny."
+
+#: ../cli.py:707
+msgid "Package(s) to reinstall"
+msgstr "Pakiety do ponownego zainstalowania"
+
+#: ../cli.py:720
msgid "No Packages Provided"
msgstr "Nie podano pakietów"
-#: ../cli.py:739
-msgid "Matching packages for package list to user args"
-msgstr "Dopasowywanie listy pakietów do parametrów użytkownika"
-
-#: ../cli.py:788
+#: ../cli.py:804
#, python-format
msgid "Warning: No matches found for: %s"
msgstr "Ostrzeżenie: nie znaleziono wyników dla: %s"
-#: ../cli.py:791
+#: ../cli.py:807
msgid "No Matches found"
msgstr "Brak wyników"
-#: ../cli.py:830
+#: ../cli.py:846
#, python-format
msgid ""
"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
@@ -258,108 +268,108 @@ msgstr ""
"Ostrzeżenie: wersje 3.0.x yuma błędnie dopasowują nazwy plików.\n"
" Można użyć \"%s*/%s%s\" i/lub \"%s*bin/%s%s\", aby uzyskać to zachowanie"
-#: ../cli.py:846
+#: ../cli.py:862
#, python-format
msgid "No Package Found for %s"
msgstr "Nie znaleziono pakietów dla %s"
-#: ../cli.py:858
+#: ../cli.py:874
msgid "Cleaning up Everything"
msgstr "Czyszczenie wszystkiego"
-#: ../cli.py:872
+#: ../cli.py:888
msgid "Cleaning up Headers"
msgstr "Czyszczenie nagłówków"
-#: ../cli.py:875
+#: ../cli.py:891
msgid "Cleaning up Packages"
msgstr "Czyszczenie pakietów"
-#: ../cli.py:878
+#: ../cli.py:894
msgid "Cleaning up xml metadata"
msgstr "Czytanie metadanych XML"
-#: ../cli.py:881
+#: ../cli.py:897
msgid "Cleaning up database cache"
msgstr "Czyszczenie pamięci podręcznej bazy danych"
-#: ../cli.py:884
+#: ../cli.py:900
msgid "Cleaning up expire-cache metadata"
msgstr "Czytanie metadanych wygasłej pamięci podręcznej"
-#: ../cli.py:887
+#: ../cli.py:903
msgid "Cleaning up plugins"
msgstr "Czyszczenie wtyczek"
-#: ../cli.py:912
+#: ../cli.py:928
msgid "Installed Groups:"
msgstr "Zainstalowane grupy:"
-#: ../cli.py:924
+#: ../cli.py:940
msgid "Available Groups:"
msgstr "Dostępne grupy:"
-#: ../cli.py:934
+#: ../cli.py:950
msgid "Done"
msgstr "Zakończono"
-#: ../cli.py:945 ../cli.py:963 ../cli.py:969 ../yum/__init__.py:2463
+#: ../cli.py:961 ../cli.py:979 ../cli.py:985 ../yum/__init__.py:2513
#, python-format
msgid "Warning: Group %s does not exist."
msgstr "Ostrzeżenie: grupa %s nie istnieje."
-#: ../cli.py:973
+#: ../cli.py:989
msgid "No packages in any requested group available to install or update"
msgstr ""
"Brak pakietów dostępnych do instalacji lub aktualizacji w żadnej z żądanych "
"grup"
-#: ../cli.py:975
+#: ../cli.py:991
#, python-format
msgid "%d Package(s) to Install"
msgstr "%d pakietów do instalacji"
-#: ../cli.py:985 ../yum/__init__.py:2475
+#: ../cli.py:1001 ../yum/__init__.py:2525
#, python-format
msgid "No group named %s exists"
msgstr "Grupa o nazwie %s nie istnieje"
-#: ../cli.py:991
+#: ../cli.py:1007
msgid "No packages to remove from groups"
msgstr "Brak pakietów do usunięcia z grup"
-#: ../cli.py:993
+#: ../cli.py:1009
#, python-format
msgid "%d Package(s) to remove"
msgstr "%d pakietów do usunięcia"
-#: ../cli.py:1035
+#: ../cli.py:1051
#, python-format
msgid "Package %s is already installed, skipping"
msgstr "Pakiet %s jest już zainstalowany, pomijanie"
-#: ../cli.py:1046
+#: ../cli.py:1062
#, python-format
msgid "Discarding non-comparable pkg %s.%s"
msgstr "Odrzucanie pakietu %s.%s, którego nie można porównać"
#. we've not got any installed that match n or n+a
-#: ../cli.py:1072
+#: ../cli.py:1088
#, python-format
msgid "No other %s installed, adding to list for potential install"
msgstr ""
"Inne %s nie są zainstalowane, dodawanie do listy potencjalnie instalowanych"
-#: ../cli.py:1092
+#: ../cli.py:1108
msgid "Plugin Options"
msgstr "Opcje wtyczki"
-#: ../cli.py:1100
+#: ../cli.py:1116
#, python-format
msgid "Command line error: %s"
msgstr "Błąd wiersza poleceń: %s"
-#: ../cli.py:1113
+#: ../cli.py:1129
#, python-format
msgid ""
"\n"
@@ -370,257 +380,257 @@ msgstr ""
"\n"
"%s: opcja %s wymaga parametru"
-#: ../cli.py:1171
+#: ../cli.py:1182
msgid "--color takes one of: auto, always, never"
msgstr "--color przyjmuje jedną z: auto, always, never"
-#: ../cli.py:1278
+#: ../cli.py:1289
msgid "show this help message and exit"
msgstr "wyświetla ten komunikat pomocy i wyłącza"
-#: ../cli.py:1282
+#: ../cli.py:1293
msgid "be tolerant of errors"
msgstr "toleruje błędy"
-#: ../cli.py:1284
+#: ../cli.py:1295
msgid "run entirely from cache, don't update cache"
msgstr "uruchamia wyłącznie z pamięci podręcznej i nie aktualizuje jej"
-#: ../cli.py:1286
+#: ../cli.py:1297
msgid "config file location"
msgstr "położenie pliku konfiguracji"
-#: ../cli.py:1288
+#: ../cli.py:1299
msgid "maximum command wait time"
msgstr "maksymalny czas oczekiwania na polecenie"
-#: ../cli.py:1290
+#: ../cli.py:1301
msgid "debugging output level"
msgstr "poziom wyjścia debugowania"
-#: ../cli.py:1294
+#: ../cli.py:1305
msgid "show duplicates, in repos, in list/search commands"
msgstr "wyświetla duplikaty w repozytoriach w poleceniach list/search"
-#: ../cli.py:1296
+#: ../cli.py:1307
msgid "error output level"
msgstr "poziom wyjścia błędów"
-#: ../cli.py:1299
+#: ../cli.py:1310
msgid "quiet operation"
msgstr "mało komunikatów"
-#: ../cli.py:1301
+#: ../cli.py:1312
msgid "verbose operation"
msgstr "dużo komunikatów"
-#: ../cli.py:1303
+#: ../cli.py:1314
msgid "answer yes for all questions"
msgstr "odpowiada tak na wszystkie pytania"
-#: ../cli.py:1305
+#: ../cli.py:1316
msgid "show Yum version and exit"
msgstr "wyświetla wersję yuma i wyłącza"
-#: ../cli.py:1306
+#: ../cli.py:1317
msgid "set install root"
msgstr "ustawia roota instalacji"
-#: ../cli.py:1310
+#: ../cli.py:1321
msgid "enable one or more repositories (wildcards allowed)"
msgstr "włącza jedno lub więcej repozytoriów (wieloznaczniki są dozwolone)"
-#: ../cli.py:1314
+#: ../cli.py:1325
msgid "disable one or more repositories (wildcards allowed)"
msgstr "wyłącza jedno lub więcej repozytoriów (wieloznaczniki są dozwolone)"
-#: ../cli.py:1317
+#: ../cli.py:1328
msgid "exclude package(s) by name or glob"
msgstr "wyklucza pakiety po nazwie lub wyrażeniu regularnym"
-#: ../cli.py:1319
+#: ../cli.py:1330
msgid "disable exclude from main, for a repo or for everything"
msgstr "wyłącza wykluczanie z głównego, dla repozytorium lub wszystkiego"
-#: ../cli.py:1322
+#: ../cli.py:1333
msgid "enable obsoletes processing during updates"
msgstr "włącza przetwarzanie przestarzałych pakietów podczas aktualizacji"
-#: ../cli.py:1324
+#: ../cli.py:1335
msgid "disable Yum plugins"
msgstr "wyłącza wtyczki yuma"
-#: ../cli.py:1326
+#: ../cli.py:1337
msgid "disable gpg signature checking"
msgstr "wyłącza sprawdzanie podpisu GPG"
-#: ../cli.py:1328
+#: ../cli.py:1339
msgid "disable plugins by name"
msgstr "wyłącza wtyczki po nazwie"
-#: ../cli.py:1331
+#: ../cli.py:1342
msgid "enable plugins by name"
msgstr "włącza wtyczki po nazwie"
-#: ../cli.py:1334
+#: ../cli.py:1345
msgid "skip packages with depsolving problems"
msgstr "pomija pakiety mające problemy z rozwiązaniem zależności"
-#: ../cli.py:1336
+#: ../cli.py:1347
msgid "control whether color is used"
msgstr "kontroluje użycie kolorów"
-#: ../output.py:301
+#: ../output.py:303
msgid "Jan"
msgstr "sty"
-#: ../output.py:301
+#: ../output.py:303
msgid "Feb"
msgstr "lut"
-#: ../output.py:301
+#: ../output.py:303
msgid "Mar"
msgstr "mar"
-#: ../output.py:301
+#: ../output.py:303
msgid "Apr"
msgstr "kwi"
-#: ../output.py:301
+#: ../output.py:303
msgid "May"
msgstr "maj"
-#: ../output.py:301
+#: ../output.py:303
msgid "Jun"
msgstr "cze"
-#: ../output.py:302
+#: ../output.py:304
msgid "Jul"
msgstr "lip"
-#: ../output.py:302
+#: ../output.py:304
msgid "Aug"
msgstr "sie"
-#: ../output.py:302
+#: ../output.py:304
msgid "Sep"
msgstr "wrz"
-#: ../output.py:302
+#: ../output.py:304
msgid "Oct"
msgstr "paź"
-#: ../output.py:302
+#: ../output.py:304
msgid "Nov"
msgstr "lis"
-#: ../output.py:302
+#: ../output.py:304
msgid "Dec"
msgstr "gru"
-#: ../output.py:312
+#: ../output.py:314
msgid "Trying other mirror."
msgstr "Próbowanie innego serwera lustrzanego."
-#: ../output.py:534
+#: ../output.py:536
#, python-format
msgid "Name : %s%s%s"
msgstr "Nazwa : %s%s%s"
-#: ../output.py:535
+#: ../output.py:537
#, python-format
msgid "Arch : %s"
msgstr "Architektura : %s"
-#: ../output.py:537
+#: ../output.py:539
#, python-format
msgid "Epoch : %s"
msgstr "Epoka : %s"
-#: ../output.py:538
+#: ../output.py:540
#, python-format
msgid "Version : %s"
msgstr "Wersja : %s"
-#: ../output.py:539
+#: ../output.py:541
#, python-format
msgid "Release : %s"
msgstr "Wydanie : %s"
-#: ../output.py:540
+#: ../output.py:542
#, python-format
msgid "Size : %s"
msgstr "Rozmiar : %s"
-#: ../output.py:541
+#: ../output.py:543
#, python-format
msgid "Repo : %s"
msgstr "Repozytorium : %s"
-#: ../output.py:543
+#: ../output.py:545
#, python-format
msgid "From repo : %s"
msgstr "Z repozytorium : %s"
-#: ../output.py:545
+#: ../output.py:547
#, python-format
msgid "Committer : %s"
msgstr "Twórca : %s"
-#: ../output.py:546
+#: ../output.py:548
#, python-format
msgid "Committime : %s"
msgstr "Czas wysłania : %s"
-#: ../output.py:547
+#: ../output.py:549
#, python-format
msgid "Buildtime : %s"
msgstr "Czas zbudowania : %s"
-#: ../output.py:549
+#: ../output.py:551
#, python-format
msgid "Installtime: %s"
msgstr "Czas zainstalowania: %s"
-#: ../output.py:550
+#: ../output.py:552
msgid "Summary : "
msgstr "Podsumowanie : "
-#: ../output.py:552
+#: ../output.py:554
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:553
+#: ../output.py:555
#, python-format
msgid "License : %s"
msgstr "Licencja : %s"
-#: ../output.py:554
+#: ../output.py:556
msgid "Description: "
msgstr "Opis : "
-#: ../output.py:622
+#: ../output.py:624
msgid "y"
msgstr "t"
-#: ../output.py:622
+#: ../output.py:624
msgid "yes"
msgstr "tak"
-#: ../output.py:623
+#: ../output.py:625
msgid "n"
msgstr "n"
-#: ../output.py:623
+#: ../output.py:625
msgid "no"
msgstr "nie"
-#: ../output.py:627
+#: ../output.py:629
msgid "Is this ok [y/N]: "
msgstr "W porządku? [t/N]: "
-#: ../output.py:718
+#: ../output.py:720
#, python-format
msgid ""
"\n"
@@ -629,133 +639,141 @@ msgstr ""
"\n"
"Grupa: %s"
-#: ../output.py:722
+#: ../output.py:724
#, python-format
msgid " Group-Id: %s"
msgstr " Identyfikator grupy: %s"
-#: ../output.py:727
+#: ../output.py:729
#, python-format
msgid " Description: %s"
msgstr " Opis: %s"
-#: ../output.py:729
+#: ../output.py:731
msgid " Mandatory Packages:"
msgstr " Pakiety obowiązkowe:"
-#: ../output.py:730
+#: ../output.py:732
msgid " Default Packages:"
msgstr " Domyślne pakiety:"
-#: ../output.py:731
+#: ../output.py:733
msgid " Optional Packages:"
msgstr " Pakiety opcjonalne:"
-#: ../output.py:732
+#: ../output.py:734
msgid " Conditional Packages:"
msgstr " Pakiety warunkowe:"
-#: ../output.py:752
+#: ../output.py:754
#, python-format
msgid "package: %s"
msgstr "pakiet: %s"
-#: ../output.py:754
+#: ../output.py:756
msgid " No dependencies for this package"
msgstr " Brak zależności dla tego pakietu"
-#: ../output.py:759
+#: ../output.py:761
#, python-format
msgid " dependency: %s"
msgstr " zależność: %s"
-#: ../output.py:761
+#: ../output.py:763
msgid " Unsatisfied dependency"
msgstr " Nierozwiązana zależność"
-#: ../output.py:833
+#: ../output.py:835
#, python-format
msgid "Repo : %s"
msgstr "Repozytorium: %s"
-#: ../output.py:834
+#: ../output.py:836
msgid "Matched from:"
msgstr "Dopasowano z:"
-#: ../output.py:842
+#: ../output.py:845
msgid "Description : "
msgstr "Opis : "
-#: ../output.py:845
+#: ../output.py:848
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:848
+#: ../output.py:851
#, python-format
msgid "License : %s"
msgstr "Licencja : %s"
-#: ../output.py:851
+#: ../output.py:854
#, python-format
msgid "Filename : %s"
msgstr "Nazwa pliku : %s"
-#: ../output.py:855
+#: ../output.py:858
msgid "Other : "
msgstr "Inne : "
-#: ../output.py:888
+#: ../output.py:891
msgid "There was an error calculating total download size"
msgstr "Wystąpił błąd podczas obliczania całkowitego rozmiaru pobierania"
-#: ../output.py:893
+#: ../output.py:896
#, python-format
msgid "Total size: %s"
msgstr "Całkowity rozmiar: %s"
-#: ../output.py:896
+#: ../output.py:899
#, python-format
msgid "Total download size: %s"
msgstr "Całkowity rozmiar pobierania: %s"
-#: ../output.py:938
+#: ../output.py:941
+msgid "Reinstalling"
+msgstr "Ponowne instalowanie"
+
+#: ../output.py:942
+msgid "Downgrading"
+msgstr "Instalowanie starszej wersji"
+
+#: ../output.py:943
msgid "Installing for dependencies"
msgstr "Instalowanie, aby rozwiązać zależności"
-#: ../output.py:939
+#: ../output.py:944
msgid "Updating for dependencies"
msgstr "Aktualizowanie, aby rozwiązać zależności"
-#: ../output.py:940
+#: ../output.py:945
msgid "Removing for dependencies"
msgstr "Usuwanie, aby rozwiązać zależności"
-#: ../output.py:947 ../output.py:1045
+#: ../output.py:952 ../output.py:1062
msgid "Skipped (dependency problems)"
msgstr "Pominięto (problemy z zależnościami)"
-#: ../output.py:968
+#: ../output.py:973
msgid "Package"
msgstr "Pakiet"
-#: ../output.py:968
+#: ../output.py:973
msgid "Arch"
msgstr "Architektura"
-#: ../output.py:969
+#: ../output.py:974
msgid "Version"
msgstr "Wersja"
-#: ../output.py:969
+#: ../output.py:974
msgid "Repository"
msgstr "Repozytorium"
-#: ../output.py:970
+#: ../output.py:975
msgid "Size"
msgstr "Rozmiar"
-#: ../output.py:982
+#: ../output.py:987
#, python-format
msgid ""
" replacing %s%s%s.%s %s\n"
@@ -764,49 +782,63 @@ msgstr ""
" zastępuje %s%s%s.%s %s\n"
"\n"
-#: ../output.py:991
+#: ../output.py:996
#, python-format
msgid ""
"\n"
"Transaction Summary\n"
"%s\n"
-"Install %5.5s Package(s) \n"
-"Update %5.5s Package(s) \n"
-"Remove %5.5s Package(s) \n"
msgstr ""
"\n"
"Podsumowanie transakcji\n"
"%s\n"
-"Instalowanie %5.5s pakietów \n"
-"Aktualizowanie %5.5s pakietów \n"
-"Usuwanie %5.5s pakietów \n"
-#: ../output.py:1039
+#: ../output.py:1003
+#, python-format
+msgid ""
+"Install %5.5s Package(s)\n"
+"Upgrade %5.5s Package(s)\n"
+msgstr ""
+"Instalacja %5.5s pakiet(y)\n"
+"Aktualizacja %5.5s pakiet(y)\n"
+
+#: ../output.py:1012
+#, python-format
+msgid ""
+"Remove %5.5s Package(s)\n"
+"Reinstall %5.5s Package(s)\n"
+"Downgrade %5.5s Package(s)\n"
+msgstr ""
+"Usunięcie %5.5s pakiet(y)\n"
+"Ponowna instalacja %5.5s pakiet(y)\n"
+"Instalacja starszej wersji %5.5s pakiet(y)\n"
+
+#: ../output.py:1056
msgid "Removed"
msgstr "Usunięto"
-#: ../output.py:1040
+#: ../output.py:1057
msgid "Dependency Removed"
msgstr "Usunięto zależność"
-#: ../output.py:1042
+#: ../output.py:1059
msgid "Dependency Installed"
msgstr "Zainstalowano zależność"
-#: ../output.py:1044
+#: ../output.py:1061
msgid "Dependency Updated"
msgstr "Zaktualizowano zależność"
-#: ../output.py:1046
+#: ../output.py:1063
msgid "Replaced"
msgstr "Zastąpiono"
-#: ../output.py:1047
+#: ../output.py:1064
msgid "Failed"
msgstr "Nie powiodło się"
#. Delta between C-c's so we treat as exit
-#: ../output.py:1113
+#: ../output.py:1130
msgid "two"
msgstr "dwóch"
@@ -814,78 +846,79 @@ msgstr "dwóch"
#. Current download cancelled, interrupt (ctrl-c) again within two seconds
#. to exit.
#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1124
+#: ../output.py:1141
#, python-format
msgid ""
"\n"
" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s "
-"seconds to exit.\n"
+"seconds\n"
+"to exit.\n"
msgstr ""
"\n"
-" Obecne pobieranie zostało anulowane, %sprzerwij (Ctrl-C) ponownie%s w ciągu "
+" Obecne pobieranie zostało anulowane, %sprzerwij (ctrl-c) ponownie%s w ciągu "
"%s%s%s sekund, aby zakończyć.\n"
-#: ../output.py:1134
+#: ../output.py:1152
msgid "user interrupt"
msgstr "przerwane przez użytkownika"
-#: ../output.py:1150
+#: ../output.py:1168
msgid "Total"
msgstr "Razem"
-#: ../output.py:1164
+#: ../output.py:1183
msgid "installed"
msgstr "zainstalowany"
-#: ../output.py:1165
+#: ../output.py:1184
msgid "updated"
msgstr "zaktualizowany"
-#: ../output.py:1166
+#: ../output.py:1185
msgid "obsoleted"
msgstr "zastąpiony"
-#: ../output.py:1167
+#: ../output.py:1186
msgid "erased"
msgstr "usunięty"
-#: ../output.py:1171
+#: ../output.py:1190
#, python-format
msgid "---> Package %s.%s %s:%s-%s set to be %s"
msgstr "---> Pakiet %s.%s %s:%s-%s zostanie %s"
-#: ../output.py:1178
+#: ../output.py:1197
msgid "--> Running transaction check"
msgstr "--> Wykonywanie sprawdzania transakcji"
-#: ../output.py:1183
+#: ../output.py:1202
msgid "--> Restarting Dependency Resolution with new changes."
msgstr "--> Ponowne uruchamianie rozwiązywania zależności z nowymi zmianami."
-#: ../output.py:1188
+#: ../output.py:1207
msgid "--> Finished Dependency Resolution"
msgstr "--> Zakończono rozwiązywanie zależności"
-#: ../output.py:1193
+#: ../output.py:1212 ../output.py:1217
#, python-format
msgid "--> Processing Dependency: %s for package: %s"
msgstr "--> Przetwarzanie zależności: %s dla pakietu: %s"
-#: ../output.py:1198
+#: ../output.py:1221
#, python-format
msgid "--> Unresolved Dependency: %s"
msgstr "--> Nierozwiązana zależność: %s"
-#: ../output.py:1204
+#: ../output.py:1227 ../output.py:1232
#, python-format
msgid "--> Processing Conflict: %s conflicts %s"
msgstr "--> Przetwarzanie konfliktów: %s jest w konflikcie z %s"
-#: ../output.py:1207
+#: ../output.py:1236
msgid "--> Populating transaction set with selected packages. Please wait."
msgstr "--> Układanie zestawu transakcji z wybranymi pakietami. Proszę czekać."
-#: ../output.py:1211
+#: ../output.py:1240
#, python-format
msgid "---> Downloading header for %s to pack into transaction set."
msgstr "---> Pobieranie nagłówka dla %s do umieszczenia w zestawie transakcji."
@@ -1011,7 +1044,7 @@ msgid "Updated Packages"
msgstr "Zaktualizowane pakiety"
#. This only happens in verbose mode
-#: ../yumcommands.py:317 ../yumcommands.py:324 ../yumcommands.py:601
+#: ../yumcommands.py:317 ../yumcommands.py:324 ../yumcommands.py:600
msgid "Obsoleting Packages"
msgstr "Zastępowanie przestarzałych pakietów"
@@ -1079,158 +1112,158 @@ msgstr "Utworzono pamięć podręczną metadanych"
msgid "Remove cached data"
msgstr "Usunięto dane z pamięci podręcznej"
-#: ../yumcommands.py:552
+#: ../yumcommands.py:551
msgid "Find what package provides the given value"
msgstr "Znajdź pakiet dostarczający podaną wartość"
-#: ../yumcommands.py:572
+#: ../yumcommands.py:571
msgid "Check for available package updates"
msgstr "Sprawdź dostępne aktualizacje pakietów"
-#: ../yumcommands.py:621
+#: ../yumcommands.py:620
msgid "Search package details for the given string"
msgstr "Znajdź szczegóły pakietów dla podanego łańcucha tekstowego"
-#: ../yumcommands.py:627
+#: ../yumcommands.py:626
msgid "Searching Packages: "
msgstr "Wyszukiwanie pakietów: "
-#: ../yumcommands.py:644
+#: ../yumcommands.py:643
msgid "Update packages taking obsoletes into account"
msgstr "Zaktualizuj pakiety, w tym przestarzałe"
-#: ../yumcommands.py:652
+#: ../yumcommands.py:651
msgid "Setting up Upgrade Process"
msgstr "Ustawianie procesu aktualizacji"
-#: ../yumcommands.py:666
+#: ../yumcommands.py:665
msgid "Install a local RPM"
msgstr "Zainstaluj lokalny pakiet RPM"
-#: ../yumcommands.py:674
+#: ../yumcommands.py:673
msgid "Setting up Local Package Process"
msgstr "Ustawianie procesu lokalnego pakietu"
-#: ../yumcommands.py:693
+#: ../yumcommands.py:692
msgid "Determine which package provides the given dependency"
msgstr "Określ, który pakiet dostarcza podaną zależność"
-#: ../yumcommands.py:696
+#: ../yumcommands.py:695
msgid "Searching Packages for Dependency:"
msgstr "Wyszukiwanie pakietów dla zależności:"
-#: ../yumcommands.py:710
+#: ../yumcommands.py:709
msgid "Run an interactive yum shell"
msgstr "Uruchom interaktywną powłokę yuma"
-#: ../yumcommands.py:716
+#: ../yumcommands.py:715
msgid "Setting up Yum Shell"
msgstr "Ustawianie powłoki yuma"
-#: ../yumcommands.py:734
+#: ../yumcommands.py:733
msgid "List a package's dependencies"
msgstr "Wyświetl listę zależności pakietu"
-#: ../yumcommands.py:740
+#: ../yumcommands.py:739
msgid "Finding dependencies: "
msgstr "Wyszukiwanie zależności: "
-#: ../yumcommands.py:756
+#: ../yumcommands.py:755
msgid "Display the configured software repositories"
msgstr "Wyświetl skonfigurowane repozytoria oprogramowania"
-#: ../yumcommands.py:804 ../yumcommands.py:805
+#: ../yumcommands.py:803 ../yumcommands.py:804
msgid "enabled"
msgstr "włączone"
-#: ../yumcommands.py:813 ../yumcommands.py:814
+#: ../yumcommands.py:812 ../yumcommands.py:813
msgid "disabled"
msgstr "wyłączone"
-#: ../yumcommands.py:828
+#: ../yumcommands.py:827
msgid "Repo-id : "
msgstr "Identyfikator repozytorium : "
-#: ../yumcommands.py:829
+#: ../yumcommands.py:828
msgid "Repo-name : "
msgstr "Nazwa repozytorium : "
-#: ../yumcommands.py:830
+#: ../yumcommands.py:829
msgid "Repo-status : "
msgstr "Stan repozytorium : "
-#: ../yumcommands.py:832
+#: ../yumcommands.py:831
msgid "Repo-revision: "
msgstr "Wersja repozytorium : "
-#: ../yumcommands.py:836
+#: ../yumcommands.py:835
msgid "Repo-tags : "
msgstr "Znaczniki repozytorium : "
-#: ../yumcommands.py:842
+#: ../yumcommands.py:841
msgid "Repo-distro-tags: "
msgstr "Znaczniki dystrybucji repozytorium: "
-#: ../yumcommands.py:847
+#: ../yumcommands.py:846
msgid "Repo-updated: "
msgstr "Aktualizacje repozytorium : "
-#: ../yumcommands.py:849
+#: ../yumcommands.py:848
msgid "Repo-pkgs : "
msgstr "Pakiety repozytorium : "
-#: ../yumcommands.py:850
+#: ../yumcommands.py:849
msgid "Repo-size : "
msgstr "Rozmiar repozytorium : "
-#: ../yumcommands.py:857
+#: ../yumcommands.py:856
msgid "Repo-baseurl: "
msgstr "Podstawowy URL repozytorium : "
-#: ../yumcommands.py:861
+#: ../yumcommands.py:864
msgid "Repo-metalink: "
msgstr "Metaodnośnik repozytorium : "
-#: ../yumcommands.py:865
+#: ../yumcommands.py:868
msgid " Updated : "
msgstr " Zaktualizowano : "
-#: ../yumcommands.py:868
+#: ../yumcommands.py:871
msgid "Repo-mirrors: "
msgstr "Serwery lustrzane repozytorium : "
-#: ../yumcommands.py:872
+#: ../yumcommands.py:875
msgid "Repo-exclude: "
msgstr "Wykluczenia z repozytorium : "
-#: ../yumcommands.py:876
+#: ../yumcommands.py:879
msgid "Repo-include: "
msgstr "Dołączone z repozytorium : "
#. Work out the first (id) and last (enabled/disalbed/count),
#. then chop the middle (name)...
-#: ../yumcommands.py:886 ../yumcommands.py:912
+#: ../yumcommands.py:889 ../yumcommands.py:915
msgid "repo id"
msgstr "ID repozytorium"
-#: ../yumcommands.py:900 ../yumcommands.py:901 ../yumcommands.py:915
+#: ../yumcommands.py:903 ../yumcommands.py:904 ../yumcommands.py:918
msgid "status"
msgstr "stan"
-#: ../yumcommands.py:913
+#: ../yumcommands.py:916
msgid "repo name"
msgstr "nazwa repozytorium"
-#: ../yumcommands.py:939
+#: ../yumcommands.py:942
msgid "Display a helpful usage message"
msgstr "Wyświetl pomocny komunikat o używaniu"
-#: ../yumcommands.py:973
+#: ../yumcommands.py:976
#, python-format
msgid "No help available for %s"
msgstr "Brak pomocy dla %s"
-#: ../yumcommands.py:978
+#: ../yumcommands.py:981
msgid ""
"\n"
"\n"
@@ -1240,7 +1273,7 @@ msgstr ""
"\n"
"aliasy: "
-#: ../yumcommands.py:980
+#: ../yumcommands.py:983
msgid ""
"\n"
"\n"
@@ -1250,26 +1283,34 @@ msgstr ""
"\n"
"alias: "
-#: ../yumcommands.py:1008
+#: ../yumcommands.py:1011
msgid "Setting up Reinstall Process"
msgstr "Ustawianie procesu ponownej instalacji"
-#: ../yumcommands.py:1017
-msgid "Package(s) to reinstall"
-msgstr "Pakiety do ponownego zainstalowania"
-
-#: ../yumcommands.py:1024
+#: ../yumcommands.py:1019
msgid "reinstall a package"
msgstr "ponownie zainstaluj pakiet"
-#: ../yumcommands.py:1042
+#: ../yumcommands.py:1037
msgid "Setting up Downgrade Process"
msgstr "Ustawianie procesu instalacji starszej wersji pakietu"
-#: ../yumcommands.py:1049
+#: ../yumcommands.py:1044
msgid "downgrade a package"
msgstr "zainstaluj starszą wersję pakietu"
+#: ../yumcommands.py:1058
+msgid "Display a version for the machine and/or available repos."
+msgstr "Wyświetl wersję dla komputera i/lub dostępnych repozytoriów."
+
+#: ../yumcommands.py:1085
+msgid "Installed:"
+msgstr "Zainstalowano:"
+
+#: ../yumcommands.py:1094
+msgid "Available:"
+msgstr "Dostępne:"
+
#: ../yummain.py:42
msgid ""
"\n"
@@ -1394,200 +1435,200 @@ msgstr ""
"\n"
"Zamykanie na polecenie użytkownika."
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:83
msgid "doTsSetup() will go away in a future version of Yum.\n"
msgstr "doTsSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:98
msgid "Setting up TransactionSets before config class is up"
msgstr "Ustawianie zestawów transakcji przed włączeniem klasy konfiguracji"
-#: ../yum/depsolve.py:150
+#: ../yum/depsolve.py:149
#, python-format
msgid "Invalid tsflag in config file: %s"
msgstr "Nieprawidłowa flaga zestawu transakcji tsflag w pliku konfiguracji: %s"
-#: ../yum/depsolve.py:161
+#: ../yum/depsolve.py:160
#, python-format
msgid "Searching pkgSack for dep: %s"
msgstr "Wyszukiwanie zestawu pakietów dla zależności: %s"
-#: ../yum/depsolve.py:184
+#: ../yum/depsolve.py:183
#, python-format
msgid "Potential match for %s from %s"
msgstr "Potencjalny wynik dla %s z %s"
-#: ../yum/depsolve.py:192
+#: ../yum/depsolve.py:191
#, python-format
msgid "Matched %s to require for %s"
msgstr "%s pasuje jako wymaganie dla %s"
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:232
#, python-format
msgid "Member: %s"
msgstr "Członek: %s"
-#: ../yum/depsolve.py:247 ../yum/depsolve.py:739
+#: ../yum/depsolve.py:246 ../yum/depsolve.py:759
#, python-format
msgid "%s converted to install"
msgstr "%s przekonwertowano do zainstalowania"
-#: ../yum/depsolve.py:254
+#: ../yum/depsolve.py:253
#, python-format
msgid "Adding Package %s in mode %s"
msgstr "Dodawanie pakietu %s w trybie %s"
-#: ../yum/depsolve.py:264
+#: ../yum/depsolve.py:263
#, python-format
msgid "Removing Package %s"
msgstr "Usuwanie pakietu %s"
-#: ../yum/depsolve.py:275
+#: ../yum/depsolve.py:285
#, python-format
msgid "%s requires: %s"
msgstr "%s wymaga: %s"
-#: ../yum/depsolve.py:333
+#: ../yum/depsolve.py:343
msgid "Needed Require has already been looked up, cheating"
msgstr "Wymagana zależność została już znaleziona, oszukiwanie"
-#: ../yum/depsolve.py:343
+#: ../yum/depsolve.py:353
#, python-format
msgid "Needed Require is not a package name. Looking up: %s"
msgstr "Wymagana zależność nie jest nazwą pakietu. Wyszukiwanie: %s"
-#: ../yum/depsolve.py:350
+#: ../yum/depsolve.py:360
#, python-format
msgid "Potential Provider: %s"
msgstr "Potencjalny dostawca: %s"
-#: ../yum/depsolve.py:373
+#: ../yum/depsolve.py:383
#, python-format
msgid "Mode is %s for provider of %s: %s"
msgstr "Tryb to %s dla dostawcy %s: %s"
-#: ../yum/depsolve.py:377
+#: ../yum/depsolve.py:387
#, python-format
msgid "Mode for pkg providing %s: %s"
msgstr "Tryb dla pakietu dostarczającego %s: %s"
-#: ../yum/depsolve.py:381
+#: ../yum/depsolve.py:391
#, python-format
msgid "TSINFO: %s package requiring %s marked as erase"
msgstr "TSINFO: pakiet %s wymagający %s został oznaczony jako do usunięcia"
-#: ../yum/depsolve.py:394
+#: ../yum/depsolve.py:404
#, python-format
msgid "TSINFO: Obsoleting %s with %s to resolve dep."
msgstr ""
"TSINFO: zastępowanie przestarzałego pakietu %s pakietem %s, aby rozwiązać "
"zależność."
-#: ../yum/depsolve.py:397
+#: ../yum/depsolve.py:407
#, python-format
msgid "TSINFO: Updating %s to resolve dep."
msgstr "TSINFO: aktualizowanie %s, aby rozwiązać zależność."
-#: ../yum/depsolve.py:405
+#: ../yum/depsolve.py:415
#, python-format
msgid "Cannot find an update path for dep for: %s"
msgstr "Nie można znaleźć ścieżki aktualizacji dla zależności dla: %s"
-#: ../yum/depsolve.py:415
+#: ../yum/depsolve.py:425
#, python-format
msgid "Unresolvable requirement %s for %s"
msgstr "Nie można rozwiązać wymagania %s dla %s"
-#: ../yum/depsolve.py:438
+#: ../yum/depsolve.py:448
#, python-format
msgid "Quick matched %s to require for %s"
msgstr "Szybko dopasowano %s jako wymaganie %s"
#. is it already installed?
-#: ../yum/depsolve.py:480
+#: ../yum/depsolve.py:490
#, python-format
msgid "%s is in providing packages but it is already installed, removing."
msgstr ""
"%s jest w dostarczających pakietach, ale jest już zainstalowany, usuwanie."
-#: ../yum/depsolve.py:496
+#: ../yum/depsolve.py:506
#, python-format
msgid "Potential resolving package %s has newer instance in ts."
msgstr ""
"Pakiet %s potencjalnie rozwiązujący ma nowszą wersję w zestawie transakcji."
-#: ../yum/depsolve.py:507
+#: ../yum/depsolve.py:517
#, python-format
msgid "Potential resolving package %s has newer instance installed."
msgstr "Pakiet %s potencjalnie rozwiązujący ma zainstalowaną nowszą wersję."
-#: ../yum/depsolve.py:515 ../yum/depsolve.py:564
+#: ../yum/depsolve.py:525 ../yum/depsolve.py:574
#, python-format
msgid "Missing Dependency: %s is needed by package %s"
msgstr "Brakująca zależność: %s jest wymagane przez pakiet %s"
-#: ../yum/depsolve.py:528
+#: ../yum/depsolve.py:538
#, python-format
msgid "%s already in ts, skipping this one"
msgstr "%s jest już w zestawie transakcji, pomijanie"
-#: ../yum/depsolve.py:574
+#: ../yum/depsolve.py:584
#, python-format
msgid "TSINFO: Marking %s as update for %s"
msgstr "TSINFO: oznaczanie %s jako aktualizacji dla %s"
-#: ../yum/depsolve.py:582
+#: ../yum/depsolve.py:592
#, python-format
msgid "TSINFO: Marking %s as install for %s"
msgstr "TSINFO: oznaczanie %s jako do zainstalowania dla %s"
-#: ../yum/depsolve.py:675 ../yum/depsolve.py:757
+#: ../yum/depsolve.py:695 ../yum/depsolve.py:777
msgid "Success - empty transaction"
msgstr "Powodzenie - pusta transakcja"
-#: ../yum/depsolve.py:714 ../yum/depsolve.py:729
+#: ../yum/depsolve.py:734 ../yum/depsolve.py:749
msgid "Restarting Loop"
msgstr "Ponowne uruchamianie pętli"
-#: ../yum/depsolve.py:745
+#: ../yum/depsolve.py:765
msgid "Dependency Process ending"
msgstr "Kończenie procesu zależności"
-#: ../yum/depsolve.py:751
+#: ../yum/depsolve.py:771
#, python-format
msgid "%s from %s has depsolving problems"
msgstr "%s z %s ma problemy z rozwiązywaniem zależności"
-#: ../yum/depsolve.py:758
+#: ../yum/depsolve.py:778
msgid "Success - deps resolved"
msgstr "Powodzenie - rozwiązano zależności"
-#: ../yum/depsolve.py:772
+#: ../yum/depsolve.py:792
#, python-format
msgid "Checking deps for %s"
msgstr "Sprawdzanie zależności dla %s"
-#: ../yum/depsolve.py:855
+#: ../yum/depsolve.py:875
#, python-format
msgid "looking for %s as a requirement of %s"
msgstr "wyszukiwanie %s jako wymagania %s"
-#: ../yum/depsolve.py:997
+#: ../yum/depsolve.py:1017
#, python-format
msgid "Running compare_providers() for %s"
msgstr "Wykonywanie compare_providers() dla %s"
-#: ../yum/depsolve.py:1031 ../yum/depsolve.py:1037
+#: ../yum/depsolve.py:1051 ../yum/depsolve.py:1057
#, python-format
msgid "better arch in po %s"
msgstr "lepsze arch w po %s"
-#: ../yum/depsolve.py:1099
+#: ../yum/depsolve.py:1132
#, python-format
msgid "%s obsoletes %s"
msgstr "%s zastępuje %s"
-#: ../yum/depsolve.py:1111
+#: ../yum/depsolve.py:1144
#, python-format
msgid ""
"archdist compared %s to %s on %s\n"
@@ -1596,103 +1637,103 @@ msgstr ""
"archdist porównało %s do %s na %s\n"
" Zwycięzca: %s"
-#: ../yum/depsolve.py:1118
+#: ../yum/depsolve.py:1151
#, python-format
msgid "common sourcerpm %s and %s"
msgstr "wspólny źródłowy pakiet RPM %s i %s"
-#: ../yum/depsolve.py:1124
+#: ../yum/depsolve.py:1157
#, python-format
msgid "common prefix of %s between %s and %s"
msgstr "wspólny przedrostek %s dla %s i %s"
-#: ../yum/depsolve.py:1132
+#: ../yum/depsolve.py:1165
#, python-format
msgid "Best Order: %s"
msgstr "Najlepszy porządek: %s"
-#: ../yum/__init__.py:158
+#: ../yum/__init__.py:159
msgid "doConfigSetup() will go away in a future version of Yum.\n"
msgstr "doConfigSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/__init__.py:367
+#: ../yum/__init__.py:380
#, python-format
msgid "Repository %r is missing name in configuration, using id"
msgstr "Repozytorium %r nie posiada nazwy w konfiguracji, używanie ID"
-#: ../yum/__init__.py:405
+#: ../yum/__init__.py:418
msgid "plugins already initialised"
msgstr "wtyczki zostały już zainicjowane"
-#: ../yum/__init__.py:412
+#: ../yum/__init__.py:425
msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
msgstr "doRpmDBSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/__init__.py:423
+#: ../yum/__init__.py:436
msgid "Reading Local RPMDB"
msgstr "Odczytywanie lokalnej bazy danych RPM"
-#: ../yum/__init__.py:441
+#: ../yum/__init__.py:457
msgid "doRepoSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/__init__.py:461
+#: ../yum/__init__.py:477
msgid "doSackSetup() will go away in a future version of Yum.\n"
msgstr "doSackSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/__init__.py:478
+#: ../yum/__init__.py:494
msgid "Setting up Package Sacks"
msgstr "Ustawianie zestawów pakietów"
-#: ../yum/__init__.py:521
+#: ../yum/__init__.py:537
#, python-format
msgid "repo object for repo %s lacks a _resetSack method\n"
msgstr "obiekt repozytorium %s nie posiada metody _resetSack\n"
-#: ../yum/__init__.py:522
+#: ../yum/__init__.py:538
msgid "therefore this repo cannot be reset.\n"
msgstr "więc to repozytorium nie może zostać przywrócone.\n"
-#: ../yum/__init__.py:527
+#: ../yum/__init__.py:543
msgid "doUpdateSetup() will go away in a future version of Yum.\n"
msgstr "doUpdateSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/__init__.py:539
+#: ../yum/__init__.py:555
msgid "Building updates object"
msgstr "Budowanie obiektu aktualizacji"
-#: ../yum/__init__.py:570
+#: ../yum/__init__.py:590
msgid "doGroupSetup() will go away in a future version of Yum.\n"
msgstr "doGroupSetup() zostanie usunięte w przyszłych wersjach yuma.\n"
-#: ../yum/__init__.py:595
+#: ../yum/__init__.py:615
msgid "Getting group metadata"
msgstr "Pobieranie metadanych grup"
-#: ../yum/__init__.py:621
+#: ../yum/__init__.py:641
#, python-format
msgid "Adding group file from repository: %s"
msgstr "Dodawanie pliku grup z repozytorium: %s"
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:650
#, python-format
msgid "Failed to add groups file for repository: %s - %s"
msgstr "Dodanie pliku grup dla repozytorium nie powiodło się: %s - %s"
-#: ../yum/__init__.py:636
+#: ../yum/__init__.py:656
msgid "No Groups Available in any repository"
msgstr "Brak dostępnych grup we wszystkich repozytoriach"
-#: ../yum/__init__.py:686
+#: ../yum/__init__.py:706
msgid "Importing additional filelist information"
msgstr "Importowanie dodatkowych informacji o liście plików"
-#: ../yum/__init__.py:700
+#: ../yum/__init__.py:720
#, python-format
msgid "The program %s%s%s is found in the yum-utils package."
msgstr "Program %s%s%s można znaleźć w pakiecie yum-utils."
-#: ../yum/__init__.py:708
+#: ../yum/__init__.py:728
msgid ""
"There are unfinished transactions remaining. You might consider running yum-"
"complete-transaction first to finish them."
@@ -1700,17 +1741,17 @@ msgstr ""
"Pozostały niezakończone transakcje. Rozważ wykonanie yum-complete-"
"transaction, aby najpierw je zakończyć."
-#: ../yum/__init__.py:775
+#: ../yum/__init__.py:796
#, python-format
msgid "Skip-broken round %i"
msgstr "Pierwsza runda pomijania uszkodzonych %i"
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:848
#, python-format
msgid "Skip-broken took %i rounds "
msgstr "Pomijanie uszkodzonych zajęło %i rund "
-#: ../yum/__init__.py:828
+#: ../yum/__init__.py:849
msgid ""
"\n"
"Packages skipped because of dependency problems:"
@@ -1718,92 +1759,78 @@ msgstr ""
"\n"
"Pakiety pominięto z powodu problemów z zależnościami:"
-#: ../yum/__init__.py:832
+#: ../yum/__init__.py:853
#, python-format
msgid " %s from %s"
msgstr " %s z %s"
-#: ../yum/__init__.py:972
+#: ../yum/__init__.py:991
msgid ""
"Warning: scriptlet or other non-fatal errors occurred during transaction."
msgstr ""
"Ostrzeżenie: podczas transakcji wystąpił skrypt lub inne nie fatalne błędy."
-#: ../yum/__init__.py:987
+#: ../yum/__init__.py:1006
#, python-format
msgid "Failed to remove transaction file %s"
msgstr "Usunięcie pliku transakcji %s nie powiodło się"
-#: ../yum/__init__.py:1051
-#, python-format
-msgid "excluding for cost: %s from %s"
-msgstr "wykluczanie z kosztów: %s z %s"
-
-#: ../yum/__init__.py:1082
-msgid "Excluding Packages in global exclude list"
-msgstr "Wykluczanie pakietów na globalnej liście wykluczonych pakietów"
-
-#: ../yum/__init__.py:1084
-#, python-format
-msgid "Excluding Packages from %s"
-msgstr "Wykluczanie pakietów z %s"
-
-#: ../yum/__init__.py:1113
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1035
#, python-format
-msgid "Reducing %s to included packages only"
-msgstr "Zmniejszanie %s tylko do dołączonych pakietów"
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s miało zostać zainstalowane, ale nie zostało!"
-#: ../yum/__init__.py:1119
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1074
#, python-format
-msgid "Keeping included package %s"
-msgstr "Utrzymywanie dołączonego pakietu %s"
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s miało zostać usunięte, ale nie zostało!"
-#: ../yum/__init__.py:1125
+#: ../yum/__init__.py:1120
#, python-format
-msgid "Removing unmatched package %s"
-msgstr "Usuwanie niepasującego pakietu %s"
-
-#: ../yum/__init__.py:1128
-msgid "Finished"
-msgstr "Zakończono"
+msgid "excluding for cost: %s from %s"
+msgstr "wykluczanie z kosztów: %s z %s"
#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1158
+#: ../yum/__init__.py:1191
#, python-format
msgid "Unable to check if PID %s is active"
msgstr "Nie można sprawdzić, czy PID %s jest aktywny"
#. Another copy seems to be running.
-#: ../yum/__init__.py:1162
+#: ../yum/__init__.py:1195
#, python-format
msgid "Existing lock %s: another copy is running as pid %s."
msgstr "Istnieje blokada %s: inna kopia jest uruchomiona jako PID %s."
-#: ../yum/__init__.py:1239
+#: ../yum/__init__.py:1272
msgid "Package does not match intended download"
msgstr "Pakiet nie zgadza się z zamierzonym pobieraniem"
-#: ../yum/__init__.py:1254
+#: ../yum/__init__.py:1287
msgid "Could not perform checksum"
msgstr "Nie można wykonać sprawdzenia sum kontrolnych"
-#: ../yum/__init__.py:1257
+#: ../yum/__init__.py:1290
msgid "Package does not match checksum"
msgstr "Sumy kontrolne pakietu nie zgadzają się"
-#: ../yum/__init__.py:1299
+#: ../yum/__init__.py:1332
#, python-format
msgid "package fails checksum but caching is enabled for %s"
msgstr ""
"sprawdzenie sum kontrolnych pakietu nie powiodło się, ale zapisywanie w "
"pamięci podręcznej dla %s jest włączone"
-#: ../yum/__init__.py:1302 ../yum/__init__.py:1331
+#: ../yum/__init__.py:1335 ../yum/__init__.py:1364
#, python-format
msgid "using local copy of %s"
msgstr "używanie lokalnej kopii %s"
-#: ../yum/__init__.py:1343
+#: ../yum/__init__.py:1376
#, python-format
msgid ""
"Insufficient space in download directory %s\n"
@@ -1814,11 +1841,11 @@ msgstr ""
" * wolne %s\n"
" * wymagane %s"
-#: ../yum/__init__.py:1390
+#: ../yum/__init__.py:1425
msgid "Header is not complete."
msgstr "Nagłówek nie jest kompletny."
-#: ../yum/__init__.py:1427
+#: ../yum/__init__.py:1462
#, python-format
msgid ""
"Header not in local cache and caching-only mode enabled. Cannot download %s"
@@ -1826,62 +1853,62 @@ msgstr ""
"Nagłówek nie jest w lokalnej pamięci podręcznej, a tryb używania tylko "
"pamięci podręcznej jest włączony. Nie można pobrać %s"
-#: ../yum/__init__.py:1482
+#: ../yum/__init__.py:1517
#, python-format
msgid "Public key for %s is not installed"
msgstr "Klucz publiczny dla %s nie jest zainstalowany"
-#: ../yum/__init__.py:1486
+#: ../yum/__init__.py:1521
#, python-format
msgid "Problem opening package %s"
msgstr "Podczas otwierania pakietu %s wystąpił problem"
-#: ../yum/__init__.py:1494
+#: ../yum/__init__.py:1529
#, python-format
msgid "Public key for %s is not trusted"
msgstr "Klucz publiczny dla %s nie jest zaufany"
-#: ../yum/__init__.py:1498
+#: ../yum/__init__.py:1533
#, python-format
msgid "Package %s is not signed"
msgstr "Pakiet %s nie jest podpisany"
-#: ../yum/__init__.py:1536
+#: ../yum/__init__.py:1571
#, python-format
msgid "Cannot remove %s"
msgstr "Nie można usunąć %s"
-#: ../yum/__init__.py:1540
+#: ../yum/__init__.py:1575
#, python-format
msgid "%s removed"
msgstr "Usunięto %s"
-#: ../yum/__init__.py:1576
+#: ../yum/__init__.py:1611
#, python-format
msgid "Cannot remove %s file %s"
msgstr "Nie można usunąć %s pliku %s"
-#: ../yum/__init__.py:1580
+#: ../yum/__init__.py:1615
#, python-format
msgid "%s file %s removed"
msgstr "Usunięto %s plik %s"
-#: ../yum/__init__.py:1582
+#: ../yum/__init__.py:1617
#, python-format
msgid "%d %s files removed"
msgstr "Usunięto %d %s plików"
-#: ../yum/__init__.py:1651
+#: ../yum/__init__.py:1686
#, python-format
msgid "More than one identical match in sack for %s"
msgstr "Więcej niż jeden identyczny wynik znajduje się w zestawie dla %s"
-#: ../yum/__init__.py:1657
+#: ../yum/__init__.py:1692
#, python-format
msgid "Nothing matches %s.%s %s:%s-%s from update"
msgstr "Nic nie pasuje do %s.%s %s:%s-%s z aktualizacji"
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:1925
msgid ""
"searchPackages() will go away in a future version of "
"Yum. Use searchGenerator() instead. \n"
@@ -1889,172 +1916,172 @@ msgstr ""
"searchPackages() zostanie usunięte w przyszłych wersjach "
"yuma. Zamiast tego użyj searchGenerator(). \n"
-#: ../yum/__init__.py:1917
+#: ../yum/__init__.py:1967
#, python-format
msgid "Searching %d packages"
msgstr "Wyszukiwanie %d pakietów"
-#: ../yum/__init__.py:1921
+#: ../yum/__init__.py:1971
#, python-format
msgid "searching package %s"
msgstr "wyszukiwanie pakietu %s"
-#: ../yum/__init__.py:1933
+#: ../yum/__init__.py:1983
msgid "searching in file entries"
msgstr "wyszukiwanie we wpisach plików"
-#: ../yum/__init__.py:1940
+#: ../yum/__init__.py:1990
msgid "searching in provides entries"
msgstr "wyszukiwanie we wpisach dostarczania"
-#: ../yum/__init__.py:1973
+#: ../yum/__init__.py:2023
#, python-format
msgid "Provides-match: %s"
msgstr "Wyniki dostarczania: %s"
-#: ../yum/__init__.py:2022
+#: ../yum/__init__.py:2072
msgid "No group data available for configured repositories"
msgstr "Brak dostępnych danych grup dla skonfigurowanych repozytoriów"
-#: ../yum/__init__.py:2053 ../yum/__init__.py:2072 ../yum/__init__.py:2103
-#: ../yum/__init__.py:2109 ../yum/__init__.py:2188 ../yum/__init__.py:2192
-#: ../yum/__init__.py:2489
+#: ../yum/__init__.py:2103 ../yum/__init__.py:2122 ../yum/__init__.py:2153
+#: ../yum/__init__.py:2159 ../yum/__init__.py:2238 ../yum/__init__.py:2242
+#: ../yum/__init__.py:2539
#, python-format
msgid "No Group named %s exists"
msgstr "Grupa o nazwie %s nie istnieje"
-#: ../yum/__init__.py:2084 ../yum/__init__.py:2205
+#: ../yum/__init__.py:2134 ../yum/__init__.py:2255
#, python-format
msgid "package %s was not marked in group %s"
msgstr "pakiet %s nie został oznaczony w grupie %s"
-#: ../yum/__init__.py:2131
+#: ../yum/__init__.py:2181
#, python-format
msgid "Adding package %s from group %s"
msgstr "Dodawanie pakietu %s z grupy %s"
-#: ../yum/__init__.py:2135
+#: ../yum/__init__.py:2185
#, python-format
msgid "No package named %s available to be installed"
msgstr "Brak dostępnego pakietu o nazwie %s do zainstalowania"
-#: ../yum/__init__.py:2232
+#: ../yum/__init__.py:2282
#, python-format
msgid "Package tuple %s could not be found in packagesack"
msgstr "Nie można znaleźć krotki pakietu %s w zestawie pakietów"
-#: ../yum/__init__.py:2246
+#: ../yum/__init__.py:2296
msgid ""
"getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
msgstr ""
"getInstalledPackageObject() zostanie usunięte, użyj self.rpmdb.searchPkgTuple"
"().\n"
-#: ../yum/__init__.py:2302 ../yum/__init__.py:2347
+#: ../yum/__init__.py:2352 ../yum/__init__.py:2397
msgid "Invalid version flag"
msgstr "Nieprawidłowa flaga wersji"
-#: ../yum/__init__.py:2317 ../yum/__init__.py:2322
+#: ../yum/__init__.py:2367 ../yum/__init__.py:2372
#, python-format
msgid "No Package found for %s"
msgstr "Nie znaleziono pakietu %s"
-#: ../yum/__init__.py:2522
+#: ../yum/__init__.py:2572
msgid "Package Object was not a package object instance"
msgstr "Obiekt pakietu nie był instancją obiektu pakietu"
-#: ../yum/__init__.py:2526
+#: ../yum/__init__.py:2576
msgid "Nothing specified to install"
msgstr "Nie podano nic do zainstalowania"
-#: ../yum/__init__.py:2542 ../yum/__init__.py:3173
+#: ../yum/__init__.py:2592 ../yum/__init__.py:3307
#, python-format
msgid "Checking for virtual provide or file-provide for %s"
msgstr "Sprawdzanie wirtualnych zależności lub plików dla %s"
-#: ../yum/__init__.py:2548 ../yum/__init__.py:2824 ../yum/__init__.py:2984
-#: ../yum/__init__.py:3179
+#: ../yum/__init__.py:2598 ../yum/__init__.py:2874 ../yum/__init__.py:3037
+#: ../yum/__init__.py:3313
#, python-format
msgid "No Match for argument: %s"
msgstr "Brak wyników dla parametru: %s"
-#: ../yum/__init__.py:2622
+#: ../yum/__init__.py:2672
#, python-format
msgid "Package %s installed and not available"
msgstr "Pakiet %s jest zainstalowany, ale nie jest dostępny"
-#: ../yum/__init__.py:2625
+#: ../yum/__init__.py:2675
msgid "No package(s) available to install"
msgstr "Brak pakietów dostępnych do instalacji"
-#: ../yum/__init__.py:2637
+#: ../yum/__init__.py:2687
#, python-format
msgid "Package: %s - already in transaction set"
msgstr "Pakiet: %s - jest już w zestawie transakcji"
-#: ../yum/__init__.py:2652
+#: ../yum/__init__.py:2702
#, python-format
msgid "Package %s is obsoleted by %s, trying to install %s instead"
msgstr ""
"Pakiet %s został zastąpiony przez %s, próbowanie instalacji %s zamiast niego"
-#: ../yum/__init__.py:2660
+#: ../yum/__init__.py:2710
#, python-format
msgid "Package %s already installed and latest version"
msgstr "Pakiet %s jest już zainstalowany w najnowszej wersji"
-#: ../yum/__init__.py:2674
+#: ../yum/__init__.py:2724
#, python-format
msgid "Package matching %s already installed. Checking for update."
msgstr ""
"Pakiet pasujący do %s jest już zainstalowany. Sprawdzanie aktualizacji."
#. update everything (the easy case)
-#: ../yum/__init__.py:2760
+#: ../yum/__init__.py:2810
msgid "Updating Everything"
msgstr "Aktualizowanie wszystkiego"
-#: ../yum/__init__.py:2778 ../yum/__init__.py:2886 ../yum/__init__.py:2907
-#: ../yum/__init__.py:2933
+#: ../yum/__init__.py:2828 ../yum/__init__.py:2939 ../yum/__init__.py:2960
+#: ../yum/__init__.py:2986
#, python-format
msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
msgstr "Przestarzały pakiet nie zostanie zaktualizowany: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2813 ../yum/__init__.py:2981
+#: ../yum/__init__.py:2863 ../yum/__init__.py:3034
#, python-format
msgid "%s"
msgstr "%s"
-#: ../yum/__init__.py:2877
+#: ../yum/__init__.py:2930
#, python-format
msgid "Package is already obsoleted: %s.%s %s:%s-%s"
msgstr "Pakiet został już zastąpiony: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2910 ../yum/__init__.py:2936
+#: ../yum/__init__.py:2963 ../yum/__init__.py:2989
#, python-format
msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
msgstr "Już zaktualizowany pakiet nie zostanie zaktualizowany: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2997
+#: ../yum/__init__.py:3050
msgid "No package matched to remove"
msgstr "Brak pasujących pakietów do usunięcia"
-#: ../yum/__init__.py:3031
+#: ../yum/__init__.py:3084 ../yum/__init__.py:3175 ../yum/__init__.py:3262
#, python-format
msgid "Cannot open file: %s. Skipping."
msgstr "Nie można otworzyć pliku: %s. Pomijanie."
-#: ../yum/__init__.py:3034
+#: ../yum/__init__.py:3087 ../yum/__init__.py:3178 ../yum/__init__.py:3265
#, python-format
msgid "Examining %s: %s"
msgstr "Sprawdzanie %s: %s"
-#: ../yum/__init__.py:3042
+#: ../yum/__init__.py:3095 ../yum/__init__.py:3181 ../yum/__init__.py:3268
#, python-format
msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
msgstr "Nie można dodać pakietu %s do transakcji. Niezgodna architektura: %s"
-#: ../yum/__init__.py:3050
+#: ../yum/__init__.py:3103
#, python-format
msgid ""
"Package %s not installed, cannot update it. Run yum install to install it "
@@ -2063,97 +2090,98 @@ msgstr ""
"Pakiet %s nie jest zainstalowany, nie można go zaktualizować. Uruchom yum "
"install, aby go zainstalować."
-#: ../yum/__init__.py:3085
+#: ../yum/__init__.py:3138 ../yum/__init__.py:3192 ../yum/__init__.py:3279
#, python-format
msgid "Excluding %s"
msgstr "Wykluczanie %s"
-#: ../yum/__init__.py:3090
+#: ../yum/__init__.py:3143
#, python-format
msgid "Marking %s to be installed"
msgstr "Oznaczanie %s do zainstalowania"
-#: ../yum/__init__.py:3096
+#: ../yum/__init__.py:3149
#, python-format
msgid "Marking %s as an update to %s"
msgstr "Oznaczanie %s jako aktualizacji %s"
-#: ../yum/__init__.py:3103
+#: ../yum/__init__.py:3156
#, python-format
msgid "%s: does not update installed package."
msgstr "%s: nie aktualizuj zainstalowanego pakietu."
-#: ../yum/__init__.py:3118
+#: ../yum/__init__.py:3211
msgid "Problem in reinstall: no package matched to remove"
msgstr ""
"Podczas ponownego instalowania wystąpił problem: brak pasujących pakietów do "
"usunięcia"
-#: ../yum/__init__.py:3130 ../yum/__init__.py:3206
+#: ../yum/__init__.py:3223 ../yum/__init__.py:3340
#, python-format
msgid "Package %s is allowed multiple installs, skipping"
msgstr "Pakiet %s może być wielokrotnie instalowany, pomijanie"
-#: ../yum/__init__.py:3144
-msgid "Problem in reinstall: no package matched to install"
+#: ../yum/__init__.py:3241
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
msgstr ""
-"Podczas ponownego instalowania wystąpił problem: brak pasujących pakietów do "
-"zainstalowania"
+"Podczas ponownego instalowania wystąpił problem: brak pakietu %s pasującego "
+"do zainstalowania"
-#: ../yum/__init__.py:3198
+#: ../yum/__init__.py:3332
msgid "No package(s) available to downgrade"
msgstr "Brak pakietów dostępnych do instalacji starszej wersji"
-#: ../yum/__init__.py:3229
+#: ../yum/__init__.py:3376
#, python-format
msgid "No Match for available package: %s"
msgstr "Brak wyników dla dostępnych pakietów: %s"
-#: ../yum/__init__.py:3235
+#: ../yum/__init__.py:3382
#, python-format
msgid "Only Upgrade available on package: %s"
msgstr "Dla pakietu dostępna jest tylko aktualizacja: %s"
-#: ../yum/__init__.py:3296
+#: ../yum/__init__.py:3441
#, python-format
msgid "Retrieving GPG key from %s"
msgstr "Pobieranie klucza GPG z %s"
-#: ../yum/__init__.py:3316
+#: ../yum/__init__.py:3461
msgid "GPG key retrieval failed: "
msgstr "Pobranie klucza GPG nie powiodło się: "
-#: ../yum/__init__.py:3327
+#: ../yum/__init__.py:3472
#, python-format
msgid "GPG key parsing failed: key does not have value %s"
msgstr ""
"Przeanalizowanie klucza GPG nie powiodło się: klucz nie posiada wartości %s"
-#: ../yum/__init__.py:3359
+#: ../yum/__init__.py:3504
#, python-format
msgid "GPG key at %s (0x%s) is already installed"
msgstr "Klucz GPG %s (0x%s) jest już zainstalowany"
#. Try installing/updating GPG key
-#: ../yum/__init__.py:3364 ../yum/__init__.py:3426
+#: ../yum/__init__.py:3509 ../yum/__init__.py:3571
#, python-format
msgid "Importing GPG key 0x%s \"%s\" from %s"
msgstr "Importowanie klucza GPG 0x%s \"%s\" z %s"
-#: ../yum/__init__.py:3381
+#: ../yum/__init__.py:3526
msgid "Not installing key"
msgstr "Klucz nie zostanie zainstalowany"
-#: ../yum/__init__.py:3387
+#: ../yum/__init__.py:3532
#, python-format
msgid "Key import failed (code %d)"
msgstr "Zaimportowanie klucza nie powiodło się (kod %d)"
-#: ../yum/__init__.py:3388 ../yum/__init__.py:3447
+#: ../yum/__init__.py:3533 ../yum/__init__.py:3592
msgid "Key imported successfully"
msgstr "Klucz został pomyślnie zaimportowany"
-#: ../yum/__init__.py:3393 ../yum/__init__.py:3452
+#: ../yum/__init__.py:3538 ../yum/__init__.py:3597
#, python-format
msgid ""
"The GPG keys listed for the \"%s\" repository are already installed but they "
@@ -2165,78 +2193,78 @@ msgstr ""
"Sprawdź, czy dla tego repozytorium skonfigurowane są poprawne adresy do "
"kluczy."
-#: ../yum/__init__.py:3402
+#: ../yum/__init__.py:3547
msgid "Import of key(s) didn't help, wrong key(s)?"
msgstr "Zaimportowanie kluczy nie pomogło, błędne klucze?"
-#: ../yum/__init__.py:3421
+#: ../yum/__init__.py:3566
#, python-format
msgid "GPG key at %s (0x%s) is already imported"
msgstr "Klucz GPG %s (0x%s) został już zaimportowany"
-#: ../yum/__init__.py:3441
+#: ../yum/__init__.py:3586
#, python-format
msgid "Not installing key for repo %s"
msgstr "Klucz dla repozytorium %s nie zostanie zainstalowany"
-#: ../yum/__init__.py:3446
+#: ../yum/__init__.py:3591
msgid "Key import failed"
msgstr "Zaimportowanie klucza nie powiodło się"
-#: ../yum/__init__.py:3537
+#: ../yum/__init__.py:3712
msgid "Unable to find a suitable mirror."
msgstr "Nie można znaleźć odpowiedniego serwera lustrzanego."
-#: ../yum/__init__.py:3539
+#: ../yum/__init__.py:3714
msgid "Errors were encountered while downloading packages."
msgstr "Podczas pobierania pakietów wystąpiły błędy."
-#: ../yum/__init__.py:3580
+#: ../yum/__init__.py:3755
#, python-format
msgid "Please report this error at %s"
msgstr "Zgłoś ten błąd na %s"
-#: ../yum/__init__.py:3604
+#: ../yum/__init__.py:3779
msgid "Test Transaction Errors: "
msgstr "Błędy testu transakcji: "
#. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:204
+#: ../yum/plugins.py:205
msgid "Loaded plugins: "
msgstr "Wczytane wtyczki: "
-#: ../yum/plugins.py:218 ../yum/plugins.py:224
+#: ../yum/plugins.py:219 ../yum/plugins.py:225
#, python-format
msgid "No plugin match for: %s"
msgstr "Brak wyników dla wtyczki: %s"
-#: ../yum/plugins.py:254
+#: ../yum/plugins.py:255
#, python-format
msgid "Not loading \"%s\" plugin, as it is disabled"
msgstr "Wtyczka \"%s\" nie została wczytana, ponieważ jest wyłączona"
#. Give full backtrace:
-#: ../yum/plugins.py:266
+#: ../yum/plugins.py:267
#, python-format
msgid "Plugin \"%s\" can't be imported"
msgstr "Nie można zaimportować wtyczki \"%s\""
-#: ../yum/plugins.py:273
+#: ../yum/plugins.py:274
#, python-format
msgid "Plugin \"%s\" doesn't specify required API version"
msgstr "Wtyczka \"%s\" nie określa wymaganej wersji API"
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:279
#, python-format
msgid "Plugin \"%s\" requires API %s. Supported API is %s."
msgstr "Wtyczka \"%s\" wymaga API %s. Obsługiwane API to %s."
-#: ../yum/plugins.py:311
+#: ../yum/plugins.py:312
#, python-format
msgid "Loading \"%s\" plugin"
msgstr "Wczytywanie wtyczki \"%s\""
-#: ../yum/plugins.py:318
+#: ../yum/plugins.py:319
#, python-format
msgid ""
"Two or more plugins with the name \"%s\" exist in the plugin search path"
@@ -2244,19 +2272,19 @@ msgstr ""
"Istnieją dwie lub więcej wtyczek o nazwie \"%s\" w ścieżce wyszukiwania "
"wtyczek"
-#: ../yum/plugins.py:338
+#: ../yum/plugins.py:339
#, python-format
msgid "Configuration file %s not found"
msgstr "Nie znaleziono pliku konfiguracji %s"
#. for
#. Configuration files for the plugin not found
-#: ../yum/plugins.py:341
+#: ../yum/plugins.py:342
#, python-format
msgid "Unable to find configuration file for plugin %s"
msgstr "Nie można naleźć pliku konfiguracji dla wtyczki %s"
-#: ../yum/plugins.py:499
+#: ../yum/plugins.py:500
msgid "registration of commands not supported"
msgstr "rejestracja poleceń nie jest obsługiwana"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f5cf1b3..887333b 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Yum\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 19:44+0000\n"
-"PO-Revision-Date: 2009-04-19 19:28-0300\n"
+"POT-Creation-Date: 2009-07-21 15:04+0000\n"
+"PO-Revision-Date: 2009-07-21 14:43-0300\n"
"Last-Translator: Igor Pires Soares <igor@projetofedora.org>\n"
"Language-Team: Brazilian Portuguese <fedora-trans-pt_br@redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-Country: BRAZIL\n"
#: ../callback.py:48
-#: ../output.py:937
+#: ../output.py:939
#: ../yum/rpmtrans.py:71
msgid "Updating"
msgstr "Atualizando"
@@ -31,7 +31,7 @@ msgstr "Apagando"
#: ../callback.py:50
#: ../callback.py:51
#: ../callback.py:53
-#: ../output.py:936
+#: ../output.py:938
#: ../yum/rpmtrans.py:73
#: ../yum/rpmtrans.py:74
#: ../yum/rpmtrans.py:76
@@ -45,7 +45,7 @@ msgid "Obsoleted"
msgstr "Obsoletos"
#: ../callback.py:54
-#: ../output.py:1044
+#: ../output.py:1060
msgid "Updated"
msgstr "Atualizados"
@@ -56,7 +56,7 @@ msgstr "Removidos"
#: ../callback.py:56
#: ../callback.py:57
#: ../callback.py:59
-#: ../output.py:1042
+#: ../output.py:1058
msgid "Installed"
msgstr "Instalados"
@@ -79,7 +79,7 @@ msgid "Erased: %s"
msgstr "Removidos: %s"
#: ../callback.py:217
-#: ../output.py:938
+#: ../output.py:940
msgid "Removing"
msgstr "Removendo"
@@ -88,63 +88,63 @@ msgstr "Removendo"
msgid "Cleanup"
msgstr "Limpeza"
-#: ../cli.py:104
+#: ../cli.py:107
#, python-format
msgid "Command \"%s\" already defined"
msgstr "Comando \"%s\" já definido"
-#: ../cli.py:116
+#: ../cli.py:119
msgid "Setting up repositories"
msgstr "Configurando repositórios"
-#: ../cli.py:127
+#: ../cli.py:130
msgid "Reading repository metadata in from local files"
msgstr "Lendo metadados do repositório a partir dos arquivos locais"
-#: ../cli.py:190
+#: ../cli.py:193
#: ../utils.py:87
#, python-format
msgid "Config Error: %s"
msgstr "Erro de configuração: %s"
-#: ../cli.py:193
-#: ../cli.py:1229
+#: ../cli.py:196
+#: ../cli.py:1242
#: ../utils.py:90
#, python-format
msgid "Options Error: %s"
msgstr "Erro nas opções: %s"
-#: ../cli.py:221
+#: ../cli.py:225
#, python-format
msgid " Installed: %s-%s at %s"
msgstr " Instalados: %s-%s em %s"
-#: ../cli.py:223
+#: ../cli.py:227
#, python-format
msgid " Built : %s at %s"
msgstr " Construídos : %s em %s"
-#: ../cli.py:225
+#: ../cli.py:229
#, python-format
msgid " Committed: %s at %s"
msgstr " Enviados: %s em %s"
-#: ../cli.py:264
+#: ../cli.py:268
msgid "You need to give some command"
msgstr "Você precisa dar algum comando"
-#: ../cli.py:307
+#: ../cli.py:311
msgid "Disk Requirements:\n"
msgstr "Requisitos de disco:\n"
-#: ../cli.py:309
+#: ../cli.py:313
#, python-format
msgid " At least %dMB needed on the %s filesystem.\n"
msgstr " Pelo menos %d MB são necessários no sistema de arquivos %s.\n"
#. TODO: simplify the dependency errors?
#. Fixup the summary
-#: ../cli.py:314
+#: ../cli.py:318
msgid ""
"Error Summary\n"
"-------------\n"
@@ -152,58 +152,58 @@ msgstr ""
"Sumário de erros\n"
"-------------\n"
-#: ../cli.py:357
+#: ../cli.py:361
msgid "Trying to run the transaction but nothing to do. Exiting."
msgstr "Tentando executar a transação, mas não há nada a ser feito. Saindo."
-#: ../cli.py:393
+#: ../cli.py:397
msgid "Exiting on user Command"
msgstr "Saindo pelo comando do usuário"
-#: ../cli.py:397
+#: ../cli.py:401
msgid "Downloading Packages:"
msgstr "Baixando pacotes:"
-#: ../cli.py:402
+#: ../cli.py:406
msgid "Error Downloading Packages:\n"
msgstr "Erro ao baixar pacotes:\n"
-#: ../cli.py:416
-#: ../yum/__init__.py:3627
+#: ../cli.py:420
+#: ../yum/__init__.py:3817
msgid "Running rpm_check_debug"
msgstr "Executando o rpm_check_debug"
-#: ../cli.py:419
-#: ../yum/__init__.py:3630
+#: ../cli.py:423
+#: ../yum/__init__.py:3820
msgid "ERROR with rpm_check_debug vs depsolve:"
msgstr "Erro com o rpm_check_debug vs depsolve:"
-#: ../cli.py:423
+#: ../cli.py:427
#, python-format
msgid "Please report this error in %s"
msgstr "Por favor, relate esse erro em %s"
-#: ../cli.py:429
+#: ../cli.py:433
msgid "Running Transaction Test"
msgstr "Executando teste de transação"
-#: ../cli.py:445
+#: ../cli.py:449
msgid "Finished Transaction Test"
msgstr "Teste de transação finalizado"
-#: ../cli.py:447
+#: ../cli.py:451
msgid "Transaction Check Error:\n"
msgstr "Erro na verificação da transação:\n"
-#: ../cli.py:454
+#: ../cli.py:458
msgid "Transaction Test Succeeded"
msgstr "Teste de transação completo"
-#: ../cli.py:475
+#: ../cli.py:480
msgid "Running Transaction"
msgstr "Executando a transação"
-#: ../cli.py:505
+#: ../cli.py:510
msgid ""
"Refusing to automatically import keys when running unattended.\n"
"Use \"-y\" to override."
@@ -211,77 +211,87 @@ msgstr ""
"Recusa de importação automática das chaves ao executar de forma não assistida.\n"
"Use \"-y\" para sobrescrever."
-#: ../cli.py:524
-#: ../cli.py:558
+#: ../cli.py:529
+#: ../cli.py:563
msgid " * Maybe you meant: "
msgstr " * Talvez você queira dizer: "
-#: ../cli.py:541
-#: ../cli.py:549
+#: ../cli.py:546
+#: ../cli.py:554
#, python-format
msgid "Package(s) %s%s%s available, but not installed."
msgstr "Pacotes %s%s%s disponíveis, mas já instalados."
-#: ../cli.py:555
-#: ../cli.py:586
-#: ../cli.py:664
+#: ../cli.py:560
+#: ../cli.py:591
+#: ../cli.py:669
#, python-format
msgid "No package %s%s%s available."
msgstr "Nenhum pacote %s%s%s disponível."
-#: ../cli.py:591
-#: ../cli.py:691
+#: ../cli.py:596
+#: ../cli.py:729
msgid "Package(s) to install"
msgstr "Pacotes a serem instalados"
-#: ../cli.py:592
-#: ../cli.py:670
-#: ../cli.py:692
-#: ../yumcommands.py:157
-#: ../yumcommands.py:1018
+#: ../cli.py:597
+#: ../cli.py:675
+#: ../cli.py:708
+#: ../cli.py:730
+#: ../yumcommands.py:160
msgid "Nothing to do"
msgstr "Nada a ser feito"
-#: ../cli.py:625
+#: ../cli.py:630
#, python-format
msgid "%d packages marked for Update"
msgstr "%d pacotes marcados para atualização"
-#: ../cli.py:628
+#: ../cli.py:633
msgid "No Packages marked for Update"
msgstr "Nenhum pacote marcado para atualização"
-#: ../cli.py:642
+#: ../cli.py:647
#, python-format
msgid "%d packages marked for removal"
msgstr "%d pacotes marcados para remoção"
-#: ../cli.py:645
+#: ../cli.py:650
msgid "No Packages marked for removal"
msgstr "Nenhum pacote marcado para remoção"
-#: ../cli.py:669
+#: ../cli.py:674
msgid "Package(s) to downgrade"
msgstr "Pacote(s) a ser(em) retrocedido(s)"
-#: ../cli.py:682
+#: ../cli.py:698
+#, python-format
+msgid " (from %s)"
+msgstr " (a partir de %s)"
+
+#: ../cli.py:700
+#, python-format
+msgid "Installed package %s%s%s%s not available."
+msgstr "O pacote instalado %s%s%s%s não está disponível."
+
+#: ../cli.py:707
+msgid "Package(s) to reinstall"
+msgstr "Pacote(s) a ser(em) reinstalado(s)"
+
+#: ../cli.py:720
msgid "No Packages Provided"
msgstr "Nenhum pacote fornecido"
-#: ../cli.py:737
-msgid "Matching packages for package list to user args"
-msgstr "Resultado dos pacotes para a lista de pacotes dos argumentos do usuário"
-
-#: ../cli.py:786
+#: ../cli.py:804
#, python-format
msgid "Warning: No matches found for: %s"
msgstr "Aviso: nenhum resultado para: %s"
-#: ../cli.py:789
+#: ../cli.py:807
msgid "No Matches found"
msgstr "Nenhum pacote localizado"
-#: ../cli.py:828
+#: ../cli.py:846
#, python-format
msgid ""
"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
@@ -290,109 +300,109 @@ msgstr ""
"Aviso: as versões 3.0.x do yum iriam corresponder erroneamente pelos nomes de arquivos.\n"
" Você pode usar \"%s*/%s%s\" e/ou \"%s*bin/%s%s\" para obter esse comportamento."
-#: ../cli.py:844
+#: ../cli.py:862
#, python-format
msgid "No Package Found for %s"
msgstr "Nenhum pacote localizado para %s"
-#: ../cli.py:856
+#: ../cli.py:874
msgid "Cleaning up Everything"
msgstr "Limpando tudo"
-#: ../cli.py:870
+#: ../cli.py:888
msgid "Cleaning up Headers"
msgstr "Limpando cabeçalhos"
-#: ../cli.py:873
+#: ../cli.py:891
msgid "Cleaning up Packages"
msgstr "Limpando pacotes"
-#: ../cli.py:876
+#: ../cli.py:894
msgid "Cleaning up xml metadata"
msgstr "Limpando metadados em xml"
-#: ../cli.py:879
+#: ../cli.py:897
msgid "Cleaning up database cache"
msgstr "Limpando cache do banco de dados"
-#: ../cli.py:882
+#: ../cli.py:900
msgid "Cleaning up expire-cache metadata"
msgstr "Limpando metadados expirados do cache"
-#: ../cli.py:885
+#: ../cli.py:903
msgid "Cleaning up plugins"
msgstr "Limpando plugins"
-#: ../cli.py:910
+#: ../cli.py:928
msgid "Installed Groups:"
msgstr "Grupos instalados:"
-#: ../cli.py:922
+#: ../cli.py:940
msgid "Available Groups:"
msgstr "Grupos disponíveis:"
-#: ../cli.py:932
+#: ../cli.py:950
msgid "Done"
msgstr "Concluído"
-#: ../cli.py:943
#: ../cli.py:961
-#: ../cli.py:967
-#: ../yum/__init__.py:2463
+#: ../cli.py:979
+#: ../cli.py:985
+#: ../yum/__init__.py:2556
#, python-format
msgid "Warning: Group %s does not exist."
msgstr "Aviso: O grupo %s não existe."
-#: ../cli.py:971
+#: ../cli.py:989
msgid "No packages in any requested group available to install or update"
msgstr "Nenhum pacote disponível para instalação ou atualização nos grupos requisitados"
-#: ../cli.py:973
+#: ../cli.py:991
#, python-format
msgid "%d Package(s) to Install"
msgstr "%d pacote(s) a ser(em) instalado(s)"
-#: ../cli.py:983
-#: ../yum/__init__.py:2475
+#: ../cli.py:1001
+#: ../yum/__init__.py:2568
#, python-format
msgid "No group named %s exists"
msgstr "Nenhum grupo de nome %s existe"
-#: ../cli.py:989
+#: ../cli.py:1007
msgid "No packages to remove from groups"
msgstr "Nenhum pacote a ser removido a partir dos grupos"
-#: ../cli.py:991
+#: ../cli.py:1009
#, python-format
msgid "%d Package(s) to remove"
msgstr "%d pacote(s) a ser(em) removido(s)"
-#: ../cli.py:1033
+#: ../cli.py:1051
#, python-format
msgid "Package %s is already installed, skipping"
msgstr "O pacote %s já está instalado, ignorando"
-#: ../cli.py:1044
+#: ../cli.py:1062
#, python-format
msgid "Discarding non-comparable pkg %s.%s"
msgstr "Descartando pacote não comparável %s.%s"
#. we've not got any installed that match n or n+a
-#: ../cli.py:1070
+#: ../cli.py:1088
#, python-format
msgid "No other %s installed, adding to list for potential install"
msgstr "Nenhum outro %s instalado, adicionado à lista para potencial instalação"
-#: ../cli.py:1090
+#: ../cli.py:1108
msgid "Plugin Options"
msgstr "Opções do plugin"
-#: ../cli.py:1098
+#: ../cli.py:1116
#, python-format
msgid "Command line error: %s"
msgstr "Erro na linha de comando: %s"
-#: ../cli.py:1111
+#: ../cli.py:1129
#, python-format
msgid ""
"\n"
@@ -403,257 +413,257 @@ msgstr ""
"\n"
"%s: a opção %s requer um argumento"
-#: ../cli.py:1169
+#: ../cli.py:1182
msgid "--color takes one of: auto, always, never"
msgstr "--color aceita uma destas opções: auto, always, never"
-#: ../cli.py:1276
+#: ../cli.py:1289
msgid "show this help message and exit"
msgstr "mostrar essa mensagem ajuda e sai"
-#: ../cli.py:1280
+#: ../cli.py:1293
msgid "be tolerant of errors"
msgstr "ser tolerante com os erros"
-#: ../cli.py:1282
+#: ../cli.py:1295
msgid "run entirely from cache, don't update cache"
msgstr "executar por completo a partir do cache, não atualiza o cache"
-#: ../cli.py:1284
+#: ../cli.py:1297
msgid "config file location"
msgstr "configurar localização do arquivo"
-#: ../cli.py:1286
+#: ../cli.py:1299
msgid "maximum command wait time"
msgstr "Tempo máximo de espera do comando"
-#: ../cli.py:1288
+#: ../cli.py:1301
msgid "debugging output level"
msgstr "nível de depuração na saída"
-#: ../cli.py:1292
+#: ../cli.py:1305
msgid "show duplicates, in repos, in list/search commands"
msgstr "mostrar duplicados em repos e em comandos de pesquisa/listagem"
-#: ../cli.py:1294
+#: ../cli.py:1307
msgid "error output level"
msgstr "nível de erro na saída"
-#: ../cli.py:1297
+#: ../cli.py:1310
msgid "quiet operation"
msgstr "operação discreta"
-#: ../cli.py:1299
+#: ../cli.py:1312
msgid "verbose operation"
msgstr "operação detalhada"
-#: ../cli.py:1301
+#: ../cli.py:1314
msgid "answer yes for all questions"
msgstr "responder sim para todas as perguntas"
-#: ../cli.py:1303
+#: ../cli.py:1316
msgid "show Yum version and exit"
msgstr "mostrar versão do Yum ao sair"
-#: ../cli.py:1304
+#: ../cli.py:1317
msgid "set install root"
msgstr "definir raiz de instalação"
-#: ../cli.py:1308
+#: ../cli.py:1321
msgid "enable one or more repositories (wildcards allowed)"
msgstr "habilitar um ou mais repositórios (curingas são permitidos)"
-#: ../cli.py:1312
+#: ../cli.py:1325
msgid "disable one or more repositories (wildcards allowed)"
msgstr "desabilitar um ou mais repositórios (curingas são permitidos)"
-#: ../cli.py:1315
+#: ../cli.py:1328
msgid "exclude package(s) by name or glob"
msgstr "excluir pacote(s) por nome ou glob"
-#: ../cli.py:1317
+#: ../cli.py:1330
msgid "disable exclude from main, for a repo or for everything"
msgstr "desabilitar a exclusão a partir do principal, para um repositório ou para tudo"
-#: ../cli.py:1320
+#: ../cli.py:1333
msgid "enable obsoletes processing during updates"
msgstr "Habilitar processo de obsolescência durante as atualizações"
-#: ../cli.py:1322
+#: ../cli.py:1335
msgid "disable Yum plugins"
msgstr "desabilitar plugins do Yum"
-#: ../cli.py:1324
+#: ../cli.py:1337
msgid "disable gpg signature checking"
msgstr "desabilitar verificação de assinaturas gpg"
-#: ../cli.py:1326
+#: ../cli.py:1339
msgid "disable plugins by name"
msgstr "desabilitar plugins pelo nome"
-#: ../cli.py:1329
+#: ../cli.py:1342
msgid "enable plugins by name"
msgstr "habilita plugins pelo nome"
-#: ../cli.py:1332
+#: ../cli.py:1345
msgid "skip packages with depsolving problems"
msgstr "ignorar pacotes com problemas de solução de dependências"
-#: ../cli.py:1334
+#: ../cli.py:1347
msgid "control whether color is used"
msgstr "controla o uso da cor"
-#: ../output.py:301
+#: ../output.py:303
msgid "Jan"
msgstr "Jan"
-#: ../output.py:301
+#: ../output.py:303
msgid "Feb"
msgstr "Fev"
-#: ../output.py:301
+#: ../output.py:303
msgid "Mar"
msgstr "Mar"
-#: ../output.py:301
+#: ../output.py:303
msgid "Apr"
msgstr "Abr"
-#: ../output.py:301
+#: ../output.py:303
msgid "May"
msgstr "Mai"
-#: ../output.py:301
+#: ../output.py:303
msgid "Jun"
msgstr "Jun"
-#: ../output.py:302
+#: ../output.py:304
msgid "Jul"
msgstr "Jul"
-#: ../output.py:302
+#: ../output.py:304
msgid "Aug"
msgstr "Ago"
-#: ../output.py:302
+#: ../output.py:304
msgid "Sep"
msgstr "Set"
-#: ../output.py:302
+#: ../output.py:304
msgid "Oct"
msgstr "Out"
-#: ../output.py:302
+#: ../output.py:304
msgid "Nov"
msgstr "Nov"
-#: ../output.py:302
+#: ../output.py:304
msgid "Dec"
msgstr "Dez"
-#: ../output.py:312
+#: ../output.py:314
msgid "Trying other mirror."
msgstr "Tentando outro espelho."
-#: ../output.py:534
+#: ../output.py:536
#, python-format
msgid "Name : %s%s%s"
msgstr "Nome : %s%s%s"
-#: ../output.py:535
+#: ../output.py:537
#, python-format
msgid "Arch : %s"
msgstr "Arq. : %s"
-#: ../output.py:537
+#: ../output.py:539
#, python-format
msgid "Epoch : %s"
msgstr "Período : %s"
-#: ../output.py:538
+#: ../output.py:540
#, python-format
msgid "Version : %s"
msgstr "Versão : %s"
-#: ../output.py:539
+#: ../output.py:541
#, python-format
msgid "Release : %s"
msgstr "Lançamento : %s"
-#: ../output.py:540
+#: ../output.py:542
#, python-format
msgid "Size : %s"
msgstr "Tamanho : %s"
-#: ../output.py:541
+#: ../output.py:543
#, python-format
msgid "Repo : %s"
msgstr "Repo : %s"
-#: ../output.py:543
+#: ../output.py:545
#, python-format
msgid "From repo : %s"
msgstr "Do repositório: %s"
-#: ../output.py:545
+#: ../output.py:547
#, python-format
msgid "Committer : %s"
msgstr "Enviado por : %s"
-#: ../output.py:546
+#: ../output.py:548
#, python-format
msgid "Committime : %s"
msgstr "Horário do envio : %s"
-#: ../output.py:547
+#: ../output.py:549
#, python-format
msgid "Buildtime : %s"
msgstr "Horário da construção : %s"
-#: ../output.py:549
+#: ../output.py:551
#, python-format
msgid "Installtime: %s"
msgstr "Horário da instalação: %s"
-#: ../output.py:550
+#: ../output.py:552
msgid "Summary : "
msgstr "Sumário : "
-#: ../output.py:552
+#: ../output.py:554
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:553
+#: ../output.py:555
#, python-format
msgid "License : %s"
msgstr "Licença : %s"
-#: ../output.py:554
+#: ../output.py:556
msgid "Description: "
msgstr "Descrição: "
-#: ../output.py:622
+#: ../output.py:624
msgid "y"
msgstr "s"
-#: ../output.py:622
+#: ../output.py:624
msgid "yes"
msgstr "sim"
-#: ../output.py:623
+#: ../output.py:625
msgid "n"
msgstr "n"
-#: ../output.py:623
+#: ../output.py:625
msgid "no"
msgstr "não"
-#: ../output.py:627
+#: ../output.py:629
msgid "Is this ok [y/N]: "
msgstr "Correto? [s/N]:"
-#: ../output.py:718
+#: ../output.py:720
#, python-format
msgid ""
"\n"
@@ -662,134 +672,142 @@ msgstr ""
"\n"
"Grupo: %s"
-#: ../output.py:722
+#: ../output.py:724
#, python-format
msgid " Group-Id: %s"
msgstr " Group-Id: %s"
-#: ../output.py:727
+#: ../output.py:729
#, python-format
msgid " Description: %s"
msgstr " Descrição: %s"
-#: ../output.py:729
+#: ../output.py:731
msgid " Mandatory Packages:"
msgstr " Pacotes obrigatórios:"
-#: ../output.py:730
+#: ../output.py:732
msgid " Default Packages:"
msgstr " Pacotes padrão:"
-#: ../output.py:731
+#: ../output.py:733
msgid " Optional Packages:"
msgstr " Pacotes opcionais:"
-#: ../output.py:732
+#: ../output.py:734
msgid " Conditional Packages:"
msgstr " Pacotes condicionais:"
-#: ../output.py:752
+#: ../output.py:754
#, python-format
msgid "package: %s"
msgstr "pacote: %s"
-#: ../output.py:754
+#: ../output.py:756
msgid " No dependencies for this package"
msgstr " Nenhuma dependência para este pacote"
-#: ../output.py:759
+#: ../output.py:761
#, python-format
msgid " dependency: %s"
msgstr " dependência: %s"
-#: ../output.py:761
+#: ../output.py:763
msgid " Unsatisfied dependency"
msgstr " Dependência não satisfeita"
-#: ../output.py:833
+#: ../output.py:835
#, python-format
msgid "Repo : %s"
msgstr "Repo : %s"
-#: ../output.py:834
+#: ../output.py:836
msgid "Matched from:"
msgstr "Resultado a partir de:"
-#: ../output.py:843
+#: ../output.py:845
msgid "Description : "
msgstr "Descrição : "
-#: ../output.py:846
+#: ../output.py:848
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:849
+#: ../output.py:851
#, python-format
msgid "License : %s"
msgstr "Licença : %s"
-#: ../output.py:852
+#: ../output.py:854
#, python-format
msgid "Filename : %s"
msgstr "Nome de arquivo : %s"
-#: ../output.py:856
+#: ../output.py:858
msgid "Other : "
msgstr "Outro : "
-#: ../output.py:889
+#: ../output.py:891
msgid "There was an error calculating total download size"
msgstr "Houve um erro no cálculo do tamanho total do download"
-#: ../output.py:894
+#: ../output.py:896
#, python-format
msgid "Total size: %s"
msgstr "Tamanho total: %s"
-#: ../output.py:897
+#: ../output.py:899
#, python-format
msgid "Total download size: %s"
msgstr "Tamanho total do download: %s"
-#: ../output.py:939
+#: ../output.py:941
+msgid "Reinstalling"
+msgstr "Reinstalando"
+
+#: ../output.py:942
+msgid "Downgrading"
+msgstr "Desatualizando"
+
+#: ../output.py:943
msgid "Installing for dependencies"
msgstr "Instalando para as dependências"
-#: ../output.py:940
+#: ../output.py:944
msgid "Updating for dependencies"
msgstr "Atualizando para as dependências"
-#: ../output.py:941
+#: ../output.py:945
msgid "Removing for dependencies"
msgstr "Removendo para as dependências"
-#: ../output.py:948
-#: ../output.py:1046
+#: ../output.py:952
+#: ../output.py:1062
msgid "Skipped (dependency problems)"
msgstr "Ignorado (problemas de dependências)"
-#: ../output.py:969
+#: ../output.py:973
msgid "Package"
msgstr "Pacote"
-#: ../output.py:969
+#: ../output.py:973
msgid "Arch"
msgstr "Arq."
-#: ../output.py:970
+#: ../output.py:974
msgid "Version"
msgstr "Versão"
-#: ../output.py:970
+#: ../output.py:974
msgid "Repository"
msgstr "Repo"
-#: ../output.py:971
+#: ../output.py:975
msgid "Size"
msgstr "Tam."
-#: ../output.py:983
+#: ../output.py:987
#, python-format
msgid ""
" replacing %s%s%s.%s %s\n"
@@ -798,49 +816,63 @@ msgstr ""
" substituindo %s%s%s.%s %s\n"
"\n"
-#: ../output.py:992
+#: ../output.py:996
#, python-format
msgid ""
"\n"
"Transaction Summary\n"
"%s\n"
-"Install %5.5s Package(s) \n"
-"Update %5.5s Package(s) \n"
-"Remove %5.5s Package(s) \n"
msgstr ""
"\n"
-"Sumário da transação\n"
+"Resumo da transação\n"
"%s\n"
-"Instalar %5.5s pacote(s) \n"
-"Atualizar %5.5s pacote(s) \n"
-"Remover %5.5s pacote(s) \n"
-#: ../output.py:1040
+#: ../output.py:1003
+#, python-format
+msgid ""
+"Install %5.5s Package(s)\n"
+"Upgrade %5.5s Package(s)\n"
+msgstr ""
+"Instalar %5.5s Pacote(s)\n"
+"Atualizar %5.5s Pacote(s)\n"
+
+#: ../output.py:1012
+#, python-format
+msgid ""
+"Remove %5.5s Package(s)\n"
+"Reinstall %5.5s Package(s)\n"
+"Downgrade %5.5s Package(s)\n"
+msgstr ""
+"Remover %5.5s Pacote(s)\n"
+"Reinstalar %5.5s Pacote(s)\n"
+"Desatualizar %5.5s Pacote(s)\n"
+
+#: ../output.py:1056
msgid "Removed"
msgstr "Removido(s)"
-#: ../output.py:1041
+#: ../output.py:1057
msgid "Dependency Removed"
msgstr "Dependência(s) removida(s)"
-#: ../output.py:1043
+#: ../output.py:1059
msgid "Dependency Installed"
msgstr "Dependência(s) instalada(s)"
-#: ../output.py:1045
+#: ../output.py:1061
msgid "Dependency Updated"
msgstr "Dependência(s) atualizada(s)"
-#: ../output.py:1047
+#: ../output.py:1063
msgid "Replaced"
msgstr "Substituído(s)"
-#: ../output.py:1048
+#: ../output.py:1064
msgid "Failed"
msgstr "Falhou"
#. Delta between C-c's so we treat as exit
-#: ../output.py:1114
+#: ../output.py:1130
msgid "two"
msgstr "dois"
@@ -848,76 +880,80 @@ msgstr "dois"
#. Current download cancelled, interrupt (ctrl-c) again within two seconds
#. to exit.
#. Where "interupt (ctrl-c) again" and "two" are highlighted.
-#: ../output.py:1125
+#: ../output.py:1141
#, python-format
msgid ""
"\n"
-" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds to exit.\n"
+" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s seconds\n"
+"to exit.\n"
msgstr ""
"\n"
-" Download atual cancelado, interrupção %s, (ctrl-c) novamente %s com %s%s%s segundos até sair.\n"
+" Download atual cancelado, %sinterrompa com (ctrl-c) novamente%s dentro de %s%s%s segundos\n"
+"para sair.\n"
-#: ../output.py:1135
+#: ../output.py:1152
msgid "user interrupt"
msgstr "interrupção do usuário"
-#: ../output.py:1151
+#: ../output.py:1168
msgid "Total"
msgstr "Total"
-#: ../output.py:1165
+#: ../output.py:1183
msgid "installed"
msgstr "instalado"
-#: ../output.py:1166
+#: ../output.py:1184
msgid "updated"
msgstr "atualizado"
-#: ../output.py:1167
+#: ../output.py:1185
msgid "obsoleted"
msgstr "obsoleto"
-#: ../output.py:1168
+#: ../output.py:1186
msgid "erased"
msgstr "removido"
-#: ../output.py:1172
+#: ../output.py:1190
#, python-format
msgid "---> Package %s.%s %s:%s-%s set to be %s"
msgstr "---> Pacote %s.%s %s:%s-%s definido para ser %s"
-#: ../output.py:1179
+#: ../output.py:1197
msgid "--> Running transaction check"
msgstr "--> Executando verificação da transação"
-#: ../output.py:1184
+#: ../output.py:1202
msgid "--> Restarting Dependency Resolution with new changes."
msgstr "--> Reiniciando resolução de dependências com as novas alterações."
-#: ../output.py:1189
+#: ../output.py:1207
msgid "--> Finished Dependency Resolution"
msgstr "--> Resolução de dependências finalizada"
-#: ../output.py:1194
+#: ../output.py:1212
+#: ../output.py:1217
#, python-format
msgid "--> Processing Dependency: %s for package: %s"
msgstr "--> Processando dependência: %s para o pacote: %s"
-#: ../output.py:1199
+#: ../output.py:1221
#, python-format
msgid "--> Unresolved Dependency: %s"
msgstr "--> Dependência não resolvida: %s"
-#: ../output.py:1205
+#: ../output.py:1227
+#: ../output.py:1232
#, python-format
msgid "--> Processing Conflict: %s conflicts %s"
msgstr "--> Processando conflito: %s conflita com %s"
-#: ../output.py:1208
+#: ../output.py:1236
msgid "--> Populating transaction set with selected packages. Please wait."
msgstr "--> Construindo conjunto de transações com os pacotes selecionados. Por favor aguarde."
-#: ../output.py:1212
+#: ../output.py:1240
#, python-format
msgid "---> Downloading header for %s to pack into transaction set."
msgstr "--> Baixando cabeçalho do %s para inclusão no conjunto de transações."
@@ -997,278 +1033,278 @@ msgstr "O arquivo %s, passado como um argumento para o shell, não existe."
msgid "Error: more than one file given as argument to shell."
msgstr "Erro: mais de um arquivo passado como argumento para o shell."
-#: ../yumcommands.py:167
+#: ../yumcommands.py:173
msgid "PACKAGE..."
msgstr "PACOTE..."
-#: ../yumcommands.py:170
+#: ../yumcommands.py:176
msgid "Install a package or packages on your system"
msgstr "Instala um ou mais pacotes no seu sistema"
-#: ../yumcommands.py:178
+#: ../yumcommands.py:184
msgid "Setting up Install Process"
msgstr "Configurando o processo de instalação"
-#: ../yumcommands.py:189
+#: ../yumcommands.py:198
msgid "[PACKAGE...]"
msgstr "[PACOTE...]"
-#: ../yumcommands.py:192
+#: ../yumcommands.py:201
msgid "Update a package or packages on your system"
msgstr "Atualiza um ou mais pacotes do seu sistema"
-#: ../yumcommands.py:199
+#: ../yumcommands.py:208
msgid "Setting up Update Process"
msgstr "Configurando o processo de atualização"
-#: ../yumcommands.py:244
+#: ../yumcommands.py:256
msgid "Display details about a package or group of packages"
msgstr "Mostra detalhes sobre um pacote ou grupos de pacotes"
-#: ../yumcommands.py:293
+#: ../yumcommands.py:305
msgid "Installed Packages"
msgstr "Pacotes instalados"
-#: ../yumcommands.py:301
+#: ../yumcommands.py:313
msgid "Available Packages"
msgstr "Pacotes disponíveis"
-#: ../yumcommands.py:305
+#: ../yumcommands.py:317
msgid "Extra Packages"
msgstr "Pacotes extras"
-#: ../yumcommands.py:309
+#: ../yumcommands.py:321
msgid "Updated Packages"
msgstr "Pacotes atualizados"
#. This only happens in verbose mode
-#: ../yumcommands.py:317
-#: ../yumcommands.py:324
-#: ../yumcommands.py:601
+#: ../yumcommands.py:329
+#: ../yumcommands.py:336
+#: ../yumcommands.py:630
msgid "Obsoleting Packages"
msgstr "Tornando pacotes obsoletos"
-#: ../yumcommands.py:326
+#: ../yumcommands.py:338
msgid "Recently Added Packages"
msgstr "Pacotes adicionados recentemente"
-#: ../yumcommands.py:333
+#: ../yumcommands.py:345
msgid "No matching Packages to list"
msgstr "Nenhum pacote correspondente a ser listado"
-#: ../yumcommands.py:347
+#: ../yumcommands.py:362
msgid "List a package or groups of packages"
msgstr "Lista um pacote ou grupos de pacotes"
-#: ../yumcommands.py:359
+#: ../yumcommands.py:376
msgid "Remove a package or packages from your system"
msgstr "Remove um ou mais pacotes do seu sistema"
-#: ../yumcommands.py:366
+#: ../yumcommands.py:383
msgid "Setting up Remove Process"
msgstr "Configurando o processo de remoção"
-#: ../yumcommands.py:380
+#: ../yumcommands.py:400
msgid "Setting up Group Process"
msgstr "Configurando o processo de grupos"
-#: ../yumcommands.py:386
+#: ../yumcommands.py:406
msgid "No Groups on which to run command"
msgstr "Não há grupos nos quais executar o comando"
-#: ../yumcommands.py:399
+#: ../yumcommands.py:419
msgid "List available package groups"
msgstr "Lista os grupos de pacotes disponíveis"
-#: ../yumcommands.py:416
+#: ../yumcommands.py:436
msgid "Install the packages in a group on your system"
msgstr "Instala pacotes em um grupo ou no seu sistema"
-#: ../yumcommands.py:438
+#: ../yumcommands.py:458
msgid "Remove the packages in a group from your system"
msgstr "Remove pacotes de um grupo ou do seu sistema"
-#: ../yumcommands.py:465
+#: ../yumcommands.py:485
msgid "Display details about a package group"
msgstr "Mostra detalhes sobre um grupo de pacotes"
-#: ../yumcommands.py:489
+#: ../yumcommands.py:511
msgid "Generate the metadata cache"
msgstr "Gera o cache de metadados"
-#: ../yumcommands.py:495
+#: ../yumcommands.py:517
msgid "Making cache files for all metadata files."
msgstr "Realizando cache de arquivos para todos os metadados."
-#: ../yumcommands.py:496
+#: ../yumcommands.py:518
msgid "This may take a while depending on the speed of this computer"
msgstr "Isso pode demorar um pouco, dependendo da velocidade deste computador"
-#: ../yumcommands.py:517
+#: ../yumcommands.py:539
msgid "Metadata Cache Created"
msgstr "Cache de metadados criado"
-#: ../yumcommands.py:531
+#: ../yumcommands.py:555
msgid "Remove cached data"
msgstr "Remove os dados do cache"
-#: ../yumcommands.py:552
+#: ../yumcommands.py:578
msgid "Find what package provides the given value"
msgstr "Localiza qual pacote fornece o valor dado"
-#: ../yumcommands.py:572
+#: ../yumcommands.py:601
msgid "Check for available package updates"
msgstr "Verifica por atualizações de pacotes disponíveis"
-#: ../yumcommands.py:621
+#: ../yumcommands.py:653
msgid "Search package details for the given string"
msgstr "Pesquisa detalhes do pacote para a string fornecida"
-#: ../yumcommands.py:627
+#: ../yumcommands.py:659
msgid "Searching Packages: "
msgstr "Pesquisando por pacotes:"
-#: ../yumcommands.py:644
+#: ../yumcommands.py:679
msgid "Update packages taking obsoletes into account"
msgstr "Atualiza pacotes levando em conta os obsoletos"
-#: ../yumcommands.py:652
+#: ../yumcommands.py:687
msgid "Setting up Upgrade Process"
msgstr "Configurando o processo de atualização"
-#: ../yumcommands.py:666
+#: ../yumcommands.py:704
msgid "Install a local RPM"
msgstr "Instala um RPM local"
-#: ../yumcommands.py:674
+#: ../yumcommands.py:712
msgid "Setting up Local Package Process"
msgstr "Configurando o processo de pacote local"
-#: ../yumcommands.py:693
+#: ../yumcommands.py:734
msgid "Determine which package provides the given dependency"
msgstr "Determina qual pacote fornece a dependência dada"
-#: ../yumcommands.py:696
+#: ../yumcommands.py:737
msgid "Searching Packages for Dependency:"
msgstr "Pesquisando pacotes por dependência:"
-#: ../yumcommands.py:710
+#: ../yumcommands.py:754
msgid "Run an interactive yum shell"
msgstr "Executa um shell interativo do yum"
-#: ../yumcommands.py:716
+#: ../yumcommands.py:760
msgid "Setting up Yum Shell"
msgstr "Configurando o shell do Yum"
-#: ../yumcommands.py:734
+#: ../yumcommands.py:781
msgid "List a package's dependencies"
msgstr "Lista as dependências de um pacote"
-#: ../yumcommands.py:740
+#: ../yumcommands.py:787
msgid "Finding dependencies: "
msgstr "Localizando dependências:"
-#: ../yumcommands.py:756
+#: ../yumcommands.py:805
msgid "Display the configured software repositories"
msgstr "Exibe os repositórios de software configurados"
-#: ../yumcommands.py:804
-#: ../yumcommands.py:805
+#: ../yumcommands.py:853
+#: ../yumcommands.py:854
msgid "enabled"
msgstr "habilitado"
-#: ../yumcommands.py:813
-#: ../yumcommands.py:814
+#: ../yumcommands.py:862
+#: ../yumcommands.py:863
msgid "disabled"
msgstr "desabilitado"
-#: ../yumcommands.py:828
+#: ../yumcommands.py:877
msgid "Repo-id : "
msgstr "Repo-id : "
-#: ../yumcommands.py:829
+#: ../yumcommands.py:878
msgid "Repo-name : "
msgstr "Repo-name : "
-#: ../yumcommands.py:830
+#: ../yumcommands.py:879
msgid "Repo-status : "
msgstr "Repo-status : "
-#: ../yumcommands.py:832
+#: ../yumcommands.py:881
msgid "Repo-revision: "
msgstr "Repo-revision: "
-#: ../yumcommands.py:836
+#: ../yumcommands.py:885
msgid "Repo-tags : "
msgstr "Repo-tags : "
-#: ../yumcommands.py:842
+#: ../yumcommands.py:891
msgid "Repo-distro-tags: "
msgstr "Repo-distro-tags: "
-#: ../yumcommands.py:847
+#: ../yumcommands.py:896
msgid "Repo-updated: "
msgstr "Repo-updated: "
-#: ../yumcommands.py:849
+#: ../yumcommands.py:898
msgid "Repo-pkgs : "
msgstr "Repo-pkgs : "
-#: ../yumcommands.py:850
+#: ../yumcommands.py:899
msgid "Repo-size : "
msgstr "Repo-size : "
-#: ../yumcommands.py:857
+#: ../yumcommands.py:906
msgid "Repo-baseurl: "
msgstr "Repo-baseurl: "
-#: ../yumcommands.py:861
+#: ../yumcommands.py:914
msgid "Repo-metalink: "
msgstr "Repo-metalink: "
-#: ../yumcommands.py:865
+#: ../yumcommands.py:918
msgid " Updated : "
msgstr " Atualizados :"
-#: ../yumcommands.py:868
+#: ../yumcommands.py:921
msgid "Repo-mirrors: "
msgstr "Repo-mirrors: "
-#: ../yumcommands.py:872
+#: ../yumcommands.py:925
msgid "Repo-exclude: "
msgstr "Repo-exclude: "
-#: ../yumcommands.py:876
+#: ../yumcommands.py:929
msgid "Repo-include: "
msgstr "Repo-include: "
#. Work out the first (id) and last (enabled/disalbed/count),
#. then chop the middle (name)...
-#: ../yumcommands.py:886
-#: ../yumcommands.py:912
+#: ../yumcommands.py:939
+#: ../yumcommands.py:965
msgid "repo id"
msgstr "id do repo"
-#: ../yumcommands.py:900
-#: ../yumcommands.py:901
-#: ../yumcommands.py:915
+#: ../yumcommands.py:953
+#: ../yumcommands.py:954
+#: ../yumcommands.py:968
msgid "status"
msgstr "status"
-#: ../yumcommands.py:913
+#: ../yumcommands.py:966
msgid "repo name"
msgstr "nome do repo"
-#: ../yumcommands.py:939
+#: ../yumcommands.py:1010
msgid "Display a helpful usage message"
msgstr "Exibe uma mensagem de uso para ajuda"
-#: ../yumcommands.py:973
+#: ../yumcommands.py:1048
#, python-format
msgid "No help available for %s"
msgstr "Nenhuma ajuda disponível para %s"
-#: ../yumcommands.py:978
+#: ../yumcommands.py:1053
msgid ""
"\n"
"\n"
@@ -1278,7 +1314,7 @@ msgstr ""
"\n"
"apelidos: "
-#: ../yumcommands.py:980
+#: ../yumcommands.py:1055
msgid ""
"\n"
"\n"
@@ -1288,26 +1324,46 @@ msgstr ""
"\n"
"apelido: "
-#: ../yumcommands.py:1008
+#: ../yumcommands.py:1071
+msgid "Command"
+msgstr "Comando"
+
+#: ../yumcommands.py:1082
+msgid "Created"
+msgstr "Criado"
+
+#: ../yumcommands.py:1083
+msgid "Summary"
+msgstr "Resumo"
+
+#: ../yumcommands.py:1130
msgid "Setting up Reinstall Process"
msgstr "Configurando o processo de reinstalação"
-#: ../yumcommands.py:1017
-msgid "Package(s) to reinstall"
-msgstr "Pacote(s) a ser(em) reinstalado(s)"
-
-#: ../yumcommands.py:1024
+#: ../yumcommands.py:1138
msgid "reinstall a package"
msgstr "reinstala um pacote"
-#: ../yumcommands.py:1042
+#: ../yumcommands.py:1159
msgid "Setting up Downgrade Process"
msgstr "Configurando o processo de retrocesso"
-#: ../yumcommands.py:1049
+#: ../yumcommands.py:1166
msgid "downgrade a package"
msgstr "retrocedendo um pacote"
+#: ../yumcommands.py:1183
+msgid "Display a version for the machine and/or available repos."
+msgstr "Exibe uma versão para a máquina e/ou os repositórios disponíveis."
+
+#: ../yumcommands.py:1210
+msgid "Installed:"
+msgstr "Instalados:"
+
+#: ../yumcommands.py:1219
+msgid "Available:"
+msgstr "Disponíveis:"
+
#: ../yummain.py:42
msgid ""
"\n"
@@ -1433,201 +1489,201 @@ msgstr ""
"\n"
"Saindo pelo cancelamento do usuário."
-#: ../yum/depsolve.py:84
+#: ../yum/depsolve.py:83
msgid "doTsSetup() will go away in a future version of Yum.\n"
msgstr "doTsSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/depsolve.py:99
+#: ../yum/depsolve.py:98
msgid "Setting up TransactionSets before config class is up"
msgstr "Configurando TransactionSets antes da ativação da classe de configuração"
-#: ../yum/depsolve.py:150
+#: ../yum/depsolve.py:149
#, python-format
msgid "Invalid tsflag in config file: %s"
msgstr "tsflag inválido no arquivo de configuração: %s"
-#: ../yum/depsolve.py:161
+#: ../yum/depsolve.py:160
#, python-format
msgid "Searching pkgSack for dep: %s"
msgstr "Pesquisando pkgSack para a dep.: %s"
-#: ../yum/depsolve.py:184
+#: ../yum/depsolve.py:183
#, python-format
msgid "Potential match for %s from %s"
msgstr "Correspondência potencial para o %s a partir de %s"
-#: ../yum/depsolve.py:192
+#: ../yum/depsolve.py:191
#, python-format
msgid "Matched %s to require for %s"
msgstr "%s encontrado para solicitar o %s"
-#: ../yum/depsolve.py:233
+#: ../yum/depsolve.py:232
#, python-format
msgid "Member: %s"
msgstr "Membro: %s"
-#: ../yum/depsolve.py:247
-#: ../yum/depsolve.py:739
+#: ../yum/depsolve.py:246
+#: ../yum/depsolve.py:759
#, python-format
msgid "%s converted to install"
msgstr "%s convertido para instalar"
-#: ../yum/depsolve.py:254
+#: ../yum/depsolve.py:253
#, python-format
msgid "Adding Package %s in mode %s"
msgstr "Adicionando pacote %s no modo %s"
-#: ../yum/depsolve.py:264
+#: ../yum/depsolve.py:263
#, python-format
msgid "Removing Package %s"
msgstr "Removendo pacote %s"
-#: ../yum/depsolve.py:275
+#: ../yum/depsolve.py:285
#, python-format
msgid "%s requires: %s"
msgstr "%s requer: %s"
-#: ../yum/depsolve.py:333
+#: ../yum/depsolve.py:343
msgid "Needed Require has already been looked up, cheating"
msgstr "O requerimento necessário já foi localizado, enganando"
-#: ../yum/depsolve.py:343
+#: ../yum/depsolve.py:353
#, python-format
msgid "Needed Require is not a package name. Looking up: %s"
msgstr "O requerimento necessário não é o nome de um pacote. Localizando: %s"
-#: ../yum/depsolve.py:350
+#: ../yum/depsolve.py:360
#, python-format
msgid "Potential Provider: %s"
msgstr "Fornecedor em potencial: %s"
-#: ../yum/depsolve.py:373
+#: ../yum/depsolve.py:383
#, python-format
msgid "Mode is %s for provider of %s: %s"
msgstr "O modo é %s para o fornecedor do %s: %s"
-#: ../yum/depsolve.py:377
+#: ../yum/depsolve.py:387
#, python-format
msgid "Mode for pkg providing %s: %s"
msgstr "Modo para o pacote que fornece o %s: %s"
-#: ../yum/depsolve.py:381
+#: ../yum/depsolve.py:391
#, python-format
msgid "TSINFO: %s package requiring %s marked as erase"
msgstr "TSINFO: o pacote %s que requer o %s foi marcado para remoção"
-#: ../yum/depsolve.py:394
+#: ../yum/depsolve.py:404
#, python-format
msgid "TSINFO: Obsoleting %s with %s to resolve dep."
msgstr "TSINFO: Tornando %s obsoleto com o %s para resolver a dependência."
-#: ../yum/depsolve.py:397
+#: ../yum/depsolve.py:407
#, python-format
msgid "TSINFO: Updating %s to resolve dep."
msgstr "TSINFO: Atualizando %s para resolver a dependência."
-#: ../yum/depsolve.py:405
+#: ../yum/depsolve.py:415
#, python-format
msgid "Cannot find an update path for dep for: %s"
msgstr "Não foi possível encontrar um caminho de atualização para a dep. para: %s"
-#: ../yum/depsolve.py:415
+#: ../yum/depsolve.py:425
#, python-format
msgid "Unresolvable requirement %s for %s"
msgstr "Requerimento %s insolúvel para o %s"
-#: ../yum/depsolve.py:438
+#: ../yum/depsolve.py:448
#, python-format
msgid "Quick matched %s to require for %s"
msgstr "%s localizado rapidamente a ser requerido por %s"
#. is it already installed?
-#: ../yum/depsolve.py:480
+#: ../yum/depsolve.py:490
#, python-format
msgid "%s is in providing packages but it is already installed, removing."
msgstr "%s está nos pacotes fornecedores mas já está instalado, removendo."
-#: ../yum/depsolve.py:496
+#: ../yum/depsolve.py:506
#, python-format
msgid "Potential resolving package %s has newer instance in ts."
msgstr "O pacote de solução em potencial %s tem uma instância mais nova no ct."
-#: ../yum/depsolve.py:507
+#: ../yum/depsolve.py:517
#, python-format
msgid "Potential resolving package %s has newer instance installed."
msgstr "O pacote de solução em potencial %s tem uma instância mais nova instalada."
-#: ../yum/depsolve.py:515
-#: ../yum/depsolve.py:564
+#: ../yum/depsolve.py:525
+#: ../yum/depsolve.py:574
#, python-format
msgid "Missing Dependency: %s is needed by package %s"
msgstr "Dependência faltando: %s é requerido pelo pacote %s"
-#: ../yum/depsolve.py:528
+#: ../yum/depsolve.py:538
#, python-format
msgid "%s already in ts, skipping this one"
msgstr "%s já está no ct, pulando esse"
-#: ../yum/depsolve.py:574
+#: ../yum/depsolve.py:584
#, python-format
msgid "TSINFO: Marking %s as update for %s"
msgstr "TSINFO: Marcando %s como uma atualização para o %s"
-#: ../yum/depsolve.py:582
+#: ../yum/depsolve.py:592
#, python-format
msgid "TSINFO: Marking %s as install for %s"
msgstr "TSINFO: Marcando %s como uma instalação para o %s"
-#: ../yum/depsolve.py:675
-#: ../yum/depsolve.py:757
+#: ../yum/depsolve.py:695
+#: ../yum/depsolve.py:777
msgid "Success - empty transaction"
msgstr "Sucesso - transação vazia"
-#: ../yum/depsolve.py:714
-#: ../yum/depsolve.py:729
+#: ../yum/depsolve.py:734
+#: ../yum/depsolve.py:749
msgid "Restarting Loop"
msgstr "Reiniciando o loop"
-#: ../yum/depsolve.py:745
+#: ../yum/depsolve.py:765
msgid "Dependency Process ending"
msgstr "Término do processo de dependências"
-#: ../yum/depsolve.py:751
+#: ../yum/depsolve.py:771
#, python-format
msgid "%s from %s has depsolving problems"
msgstr "%s a partir de %s tem problemas de resolução de dependências"
-#: ../yum/depsolve.py:758
+#: ../yum/depsolve.py:778
msgid "Success - deps resolved"
msgstr "Sucesso - dependências resolvidas"
-#: ../yum/depsolve.py:772
+#: ../yum/depsolve.py:792
#, python-format
msgid "Checking deps for %s"
msgstr "Verificando dependências para %s"
-#: ../yum/depsolve.py:855
+#: ../yum/depsolve.py:875
#, python-format
msgid "looking for %s as a requirement of %s"
msgstr "procurando por %s como um requerimento do %s"
-#: ../yum/depsolve.py:997
+#: ../yum/depsolve.py:1017
#, python-format
msgid "Running compare_providers() for %s"
msgstr "Executando compare_providers() para %s"
-#: ../yum/depsolve.py:1031
-#: ../yum/depsolve.py:1037
+#: ../yum/depsolve.py:1051
+#: ../yum/depsolve.py:1057
#, python-format
msgid "better arch in po %s"
msgstr "melhor arquitetura no po %s"
-#: ../yum/depsolve.py:1109
+#: ../yum/depsolve.py:1132
#, python-format
msgid "%s obsoletes %s"
msgstr "%s torna %s obsoleto"
-#: ../yum/depsolve.py:1121
+#: ../yum/depsolve.py:1144
#, python-format
msgid ""
"archdist compared %s to %s on %s\n"
@@ -1636,117 +1692,117 @@ msgstr ""
"archdist comparou %s com %s em %s\n"
" Vencedor: %s"
-#: ../yum/depsolve.py:1128
+#: ../yum/depsolve.py:1151
#, python-format
msgid "common sourcerpm %s and %s"
msgstr "Sourcerpm comum %s e %s"
-#: ../yum/depsolve.py:1134
+#: ../yum/depsolve.py:1157
#, python-format
msgid "common prefix of %s between %s and %s"
msgstr "prefixo comum de %s entre %s e %s"
-#: ../yum/depsolve.py:1142
+#: ../yum/depsolve.py:1165
#, python-format
msgid "Best Order: %s"
msgstr "Melhor ordem: %s"
-#: ../yum/__init__.py:158
+#: ../yum/__init__.py:180
msgid "doConfigSetup() will go away in a future version of Yum.\n"
msgstr "doConfigSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/__init__.py:367
+#: ../yum/__init__.py:401
#, python-format
msgid "Repository %r is missing name in configuration, using id"
msgstr "O repositório %r não tem nome na configuração, usando o id"
-#: ../yum/__init__.py:405
+#: ../yum/__init__.py:439
msgid "plugins already initialised"
msgstr "plugins já inicializados"
-#: ../yum/__init__.py:412
+#: ../yum/__init__.py:446
msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
msgstr "doRpmDBSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/__init__.py:423
+#: ../yum/__init__.py:457
msgid "Reading Local RPMDB"
msgstr "Lendo RPMDB local"
-#: ../yum/__init__.py:441
+#: ../yum/__init__.py:478
msgid "doRepoSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/__init__.py:461
+#: ../yum/__init__.py:498
msgid "doSackSetup() will go away in a future version of Yum.\n"
msgstr "doSackSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/__init__.py:478
+#: ../yum/__init__.py:528
msgid "Setting up Package Sacks"
msgstr "Configurando sacos de pacotes"
-#: ../yum/__init__.py:521
+#: ../yum/__init__.py:573
#, python-format
msgid "repo object for repo %s lacks a _resetSack method\n"
msgstr "o objeto de repositório para o %s necessita de um método _resetSack\n"
-#: ../yum/__init__.py:522
+#: ../yum/__init__.py:574
msgid "therefore this repo cannot be reset.\n"
msgstr "conseqüentemente este repo não pode ser restaurado.\n"
-#: ../yum/__init__.py:527
+#: ../yum/__init__.py:579
msgid "doUpdateSetup() will go away in a future version of Yum.\n"
msgstr "doUpdateSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/__init__.py:539
+#: ../yum/__init__.py:591
msgid "Building updates object"
msgstr "Construindo objeto de atualizações"
-#: ../yum/__init__.py:570
+#: ../yum/__init__.py:626
msgid "doGroupSetup() will go away in a future version of Yum.\n"
msgstr "doGroupSetup() será removida em uma futura versão do Yum.\n"
-#: ../yum/__init__.py:595
+#: ../yum/__init__.py:651
msgid "Getting group metadata"
msgstr "Obtendo metadados do grupo"
-#: ../yum/__init__.py:621
+#: ../yum/__init__.py:677
#, python-format
msgid "Adding group file from repository: %s"
msgstr "Adicionando arquivo de grupo a partir do repositório: %s"
-#: ../yum/__init__.py:630
+#: ../yum/__init__.py:686
#, python-format
msgid "Failed to add groups file for repository: %s - %s"
msgstr "Falha ao adicionar o arquivo de grupos para o repositório: %s - %s"
-#: ../yum/__init__.py:636
+#: ../yum/__init__.py:692
msgid "No Groups Available in any repository"
msgstr "Nenhum grupo disponível em nenhum repositório"
-#: ../yum/__init__.py:686
+#: ../yum/__init__.py:742
msgid "Importing additional filelist information"
msgstr "Importando informações adicionais da lista de arquivos"
-#: ../yum/__init__.py:700
+#: ../yum/__init__.py:756
#, python-format
msgid "The program %s%s%s is found in the yum-utils package."
msgstr "O programa %s%s%s está localizado no pacote yum-utils."
-#: ../yum/__init__.py:708
+#: ../yum/__init__.py:764
msgid "There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them."
msgstr "Há transações não finalizadas restantes. Você pode considerar executar o yum-complete-transaction primeiro para finalizá-las."
-#: ../yum/__init__.py:775
+#: ../yum/__init__.py:832
#, python-format
msgid "Skip-broken round %i"
msgstr "Rodada de ignoração de dependências quebradas %i"
-#: ../yum/__init__.py:827
+#: ../yum/__init__.py:884
#, python-format
msgid "Skip-broken took %i rounds "
msgstr "A ignoração de dependências quebradas levou %i rodadas"
-#: ../yum/__init__.py:828
+#: ../yum/__init__.py:885
msgid ""
"\n"
"Packages skipped because of dependency problems:"
@@ -1754,89 +1810,70 @@ msgstr ""
"\n"
"Pacotes ignorados devido a problemas de dependências:"
-#: ../yum/__init__.py:832
+#: ../yum/__init__.py:889
#, python-format
msgid " %s from %s"
msgstr " %s a partir de %s"
-#: ../yum/__init__.py:972
+#: ../yum/__init__.py:1027
msgid "Warning: scriptlet or other non-fatal errors occurred during transaction."
msgstr "Aviso: scriptlet ou outros erros não fatais ocorreram durante a transação."
-#: ../yum/__init__.py:987
+#: ../yum/__init__.py:1042
#, python-format
msgid "Failed to remove transaction file %s"
msgstr "Falha ao remover o arquivo de transação %s"
-#: ../yum/__init__.py:1051
-#, python-format
-msgid "excluding for cost: %s from %s"
-msgstr "excluindo para custo: %s a partir de %s"
-
-#: ../yum/__init__.py:1082
-msgid "Excluding Packages in global exclude list"
-msgstr "Excluindo pacotes na lista global de excluídos"
-
-#: ../yum/__init__.py:1084
-#, python-format
-msgid "Excluding Packages from %s"
-msgstr "Excluindo pacotes de %s"
-
-#: ../yum/__init__.py:1113
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1071
#, python-format
-msgid "Reducing %s to included packages only"
-msgstr "Reduzindo %s apenas aos pacotes inclusos"
+msgid "%s was supposed to be installed but is not!"
+msgstr "%s deveria ter sido instalado mas não foi!"
-#: ../yum/__init__.py:1119
+#. maybe a file log here, too
+#. but raising an exception is not going to do any good
+#: ../yum/__init__.py:1110
#, python-format
-msgid "Keeping included package %s"
-msgstr "Mantendo o pacote incluso %s"
-
-#: ../yum/__init__.py:1125
-#, python-format
-msgid "Removing unmatched package %s"
-msgstr "Removendo pacote não encontrado %s"
-
-#: ../yum/__init__.py:1128
-msgid "Finished"
-msgstr "Concluído"
+msgid "%s was supposed to be removed but is not!"
+msgstr "%s deveria ter sido removido mas não foi!"
#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1158
+#: ../yum/__init__.py:1226
#, python-format
msgid "Unable to check if PID %s is active"
msgstr "Não foi possível verificar se o PID %s está ativo"
#. Another copy seems to be running.
-#: ../yum/__init__.py:1162
+#: ../yum/__init__.py:1230
#, python-format
msgid "Existing lock %s: another copy is running as pid %s."
msgstr "Bloqueio existente em %s: outra cópia está em execução com o pid %s."
-#: ../yum/__init__.py:1239
+#: ../yum/__init__.py:1307
msgid "Package does not match intended download"
msgstr "O pacote não corresponde ao download pretendido"
-#: ../yum/__init__.py:1254
+#: ../yum/__init__.py:1322
msgid "Could not perform checksum"
msgstr "Não foi possível realizar a soma de verificação"
-#: ../yum/__init__.py:1257
+#: ../yum/__init__.py:1325
msgid "Package does not match checksum"
msgstr "O pacote não corresponde à soma de verificação"
-#: ../yum/__init__.py:1299
+#: ../yum/__init__.py:1367
#, python-format
msgid "package fails checksum but caching is enabled for %s"
msgstr "o pacote falhou na soma de verificação mas o cache está habilitado para o %s"
-#: ../yum/__init__.py:1302
-#: ../yum/__init__.py:1331
+#: ../yum/__init__.py:1370
+#: ../yum/__init__.py:1399
#, python-format
msgid "using local copy of %s"
msgstr "usando cópia local do %s"
-#: ../yum/__init__.py:1343
+#: ../yum/__init__.py:1411
#, python-format
msgid ""
"Insufficient space in download directory %s\n"
@@ -1847,347 +1884,362 @@ msgstr ""
" * livre %s\n"
" * necessário %s"
-#: ../yum/__init__.py:1390
+#: ../yum/__init__.py:1460
msgid "Header is not complete."
msgstr "O cabeçalho não está completo."
-#: ../yum/__init__.py:1427
+#: ../yum/__init__.py:1497
#, python-format
msgid "Header not in local cache and caching-only mode enabled. Cannot download %s"
msgstr "O cabeçalho não está no cache local e o modo de somente cache está habilitado. Não foi possível baixar o %s."
-#: ../yum/__init__.py:1482
+#: ../yum/__init__.py:1552
#, python-format
msgid "Public key for %s is not installed"
msgstr "A chave pública para o %s não está instalada"
-#: ../yum/__init__.py:1486
+#: ../yum/__init__.py:1556
#, python-format
msgid "Problem opening package %s"
msgstr "Problema ao abrir o pacote %s"
-#: ../yum/__init__.py:1494
+#: ../yum/__init__.py:1564
#, python-format
msgid "Public key for %s is not trusted"
msgstr "A chave pública para o %s não é confiável"
-#: ../yum/__init__.py:1498
+#: ../yum/__init__.py:1568
#, python-format
msgid "Package %s is not signed"
msgstr "O pacote %s não está assinado"
-#: ../yum/__init__.py:1536
+#: ../yum/__init__.py:1606
#, python-format
msgid "Cannot remove %s"
msgstr "Não foi possível remover %s"
-#: ../yum/__init__.py:1540
+#: ../yum/__init__.py:1610
#, python-format
msgid "%s removed"
msgstr "%s removido"
-#: ../yum/__init__.py:1576
+#: ../yum/__init__.py:1646
#, python-format
msgid "Cannot remove %s file %s"
msgstr "Não foi possível remover %s arquivo %s"
-#: ../yum/__init__.py:1580
+#: ../yum/__init__.py:1650
#, python-format
msgid "%s file %s removed"
msgstr "%s arquivo %s removido"
-#: ../yum/__init__.py:1582
+#: ../yum/__init__.py:1652
#, python-format
msgid "%d %s files removed"
msgstr "%d %s arquivos removidos"
-#: ../yum/__init__.py:1651
+#: ../yum/__init__.py:1721
#, python-format
msgid "More than one identical match in sack for %s"
msgstr "Mais de uma correspondência idêntica no saco para %s"
-#: ../yum/__init__.py:1657
+#: ../yum/__init__.py:1727
#, python-format
msgid "Nothing matches %s.%s %s:%s-%s from update"
msgstr "Nada corresponde ao %s.%s %s:%s-%s a partir da atualização"
-#: ../yum/__init__.py:1875
+#: ../yum/__init__.py:1960
msgid "searchPackages() will go away in a future version of Yum. Use searchGenerator() instead. \n"
msgstr "searchPackages() será removida em uma futura versão do Yum. Ao invés disso, use a searchGenerator().\n"
-#: ../yum/__init__.py:1917
+#: ../yum/__init__.py:2002
#, python-format
msgid "Searching %d packages"
msgstr "Pesquisando por %d pacotes"
-#: ../yum/__init__.py:1921
+#: ../yum/__init__.py:2006
#, python-format
msgid "searching package %s"
msgstr "pesquisando pelo pacote %s"
-#: ../yum/__init__.py:1933
+#: ../yum/__init__.py:2018
msgid "searching in file entries"
msgstr "pesquisando nas entradas do arquivo"
-#: ../yum/__init__.py:1940
+#: ../yum/__init__.py:2025
msgid "searching in provides entries"
msgstr "pesquisando nas entradas dos fornecimentos"
-#: ../yum/__init__.py:1973
+#: ../yum/__init__.py:2058
#, python-format
msgid "Provides-match: %s"
msgstr "Fornecimento combina com: %s"
-#: ../yum/__init__.py:2022
+#: ../yum/__init__.py:2107
msgid "No group data available for configured repositories"
msgstr "Nenhum dado de grupos disponível para os repositório configurados"
-#: ../yum/__init__.py:2053
-#: ../yum/__init__.py:2072
-#: ../yum/__init__.py:2103
-#: ../yum/__init__.py:2109
+#: ../yum/__init__.py:2138
+#: ../yum/__init__.py:2157
#: ../yum/__init__.py:2188
-#: ../yum/__init__.py:2192
-#: ../yum/__init__.py:2489
+#: ../yum/__init__.py:2194
+#: ../yum/__init__.py:2273
+#: ../yum/__init__.py:2277
+#: ../yum/__init__.py:2582
#, python-format
msgid "No Group named %s exists"
msgstr "Não existe nenhum grupo de nome %s"
-#: ../yum/__init__.py:2084
-#: ../yum/__init__.py:2205
+#: ../yum/__init__.py:2169
+#: ../yum/__init__.py:2290
#, python-format
msgid "package %s was not marked in group %s"
msgstr "o pacote %s não foi marcado no grupo %s"
-#: ../yum/__init__.py:2131
+#: ../yum/__init__.py:2216
#, python-format
msgid "Adding package %s from group %s"
msgstr "Adicionando o pacote %s do grupo %s"
-#: ../yum/__init__.py:2135
+#: ../yum/__init__.py:2220
#, python-format
msgid "No package named %s available to be installed"
msgstr "Nenhum pacote de nome %s disponível para ser instalado"
-#: ../yum/__init__.py:2232
+#: ../yum/__init__.py:2317
#, python-format
msgid "Package tuple %s could not be found in packagesack"
msgstr "A tupla %s do pacote não pôde ser encontrada no packagesack"
-#: ../yum/__init__.py:2246
+#: ../yum/__init__.py:2331
msgid "getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
msgstr "getInstalledPackageObject() será deixada de lado, use a self.rpmdb.searchPkgTuple().\n"
-#: ../yum/__init__.py:2302
-#: ../yum/__init__.py:2347
+#: ../yum/__init__.py:2387
+#: ../yum/__init__.py:2432
msgid "Invalid version flag"
msgstr "Sinalizador de versão inválido"
-#: ../yum/__init__.py:2317
-#: ../yum/__init__.py:2322
+#: ../yum/__init__.py:2402
+#: ../yum/__init__.py:2407
#, python-format
msgid "No Package found for %s"
msgstr "Nenhum pacote encontrado para %s"
-#: ../yum/__init__.py:2522
+#: ../yum/__init__.py:2615
msgid "Package Object was not a package object instance"
msgstr "O pacote de objeto não era uma instância de pacote de objeto"
-#: ../yum/__init__.py:2526
+#: ../yum/__init__.py:2619
msgid "Nothing specified to install"
msgstr "Nada especificado para instalar"
-#: ../yum/__init__.py:2542
-#: ../yum/__init__.py:3211
+#: ../yum/__init__.py:2635
+#: ../yum/__init__.py:3374
#, python-format
msgid "Checking for virtual provide or file-provide for %s"
msgstr "Verificando por fornecimento virtual ou de arquivo para %s"
-#: ../yum/__init__.py:2548
-#: ../yum/__init__.py:2824
-#: ../yum/__init__.py:2984
-#: ../yum/__init__.py:3217
+#: ../yum/__init__.py:2641
+#: ../yum/__init__.py:2937
+#: ../yum/__init__.py:3104
+#: ../yum/__init__.py:3380
#, python-format
msgid "No Match for argument: %s"
msgstr "Nenhuma correspondência para o argumento: %s"
-#: ../yum/__init__.py:2622
+#: ../yum/__init__.py:2715
#, python-format
msgid "Package %s installed and not available"
msgstr "Pacote %s instalado, mas não disponível"
-#: ../yum/__init__.py:2625
+#: ../yum/__init__.py:2718
msgid "No package(s) available to install"
msgstr "Nenhum pacote disponível para instalar"
-#: ../yum/__init__.py:2637
+#: ../yum/__init__.py:2730
#, python-format
msgid "Package: %s - already in transaction set"
msgstr "Pacote: %s - já está no conjunto de transações"
-#: ../yum/__init__.py:2652
+#: ../yum/__init__.py:2756
+#, python-format
+msgid "Package %s is obsoleted by %s which is already installed"
+msgstr "O pacote %s foi tornado obsoleto pelo %s, o qual já está instalado"
+
+#: ../yum/__init__.py:2759
#, python-format
msgid "Package %s is obsoleted by %s, trying to install %s instead"
msgstr "O pacote %s foi tornado obsoleto por %s, tentando instalar %s ao invés disso"
-#: ../yum/__init__.py:2660
+#: ../yum/__init__.py:2767
#, python-format
msgid "Package %s already installed and latest version"
msgstr "O pacote %s já está instalado em sua última versão"
-#: ../yum/__init__.py:2674
+#: ../yum/__init__.py:2781
#, python-format
msgid "Package matching %s already installed. Checking for update."
msgstr "O pacote %s já está instalado. Verificando por uma atualização."
#. update everything (the easy case)
-#: ../yum/__init__.py:2760
+#: ../yum/__init__.py:2870
msgid "Updating Everything"
msgstr "Atualizando tudo"
-#: ../yum/__init__.py:2778
-#: ../yum/__init__.py:2886
-#: ../yum/__init__.py:2907
-#: ../yum/__init__.py:2933
+#: ../yum/__init__.py:2891
+#: ../yum/__init__.py:3002
+#: ../yum/__init__.py:3031
+#: ../yum/__init__.py:3058
#, python-format
msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
msgstr "Pacote já obsoleto não será atualizado: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2813
-#: ../yum/__init__.py:2981
+#: ../yum/__init__.py:2926
+#: ../yum/__init__.py:3101
#, python-format
msgid "%s"
msgstr "%s"
-#: ../yum/__init__.py:2877
+#: ../yum/__init__.py:2993
#, python-format
msgid "Package is already obsoleted: %s.%s %s:%s-%s"
msgstr "O pacote já está obsoleto: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2910
-#: ../yum/__init__.py:2936
+#: ../yum/__init__.py:3026
+#, python-format
+msgid "Not Updating Package that is obsoleted: %s"
+msgstr "Não atualizando o pacote que está obsoleto: %s"
+
+#: ../yum/__init__.py:3035
+#: ../yum/__init__.py:3062
#, python-format
msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
msgstr "Pacote já atualizado não será atualizado novamente: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2997
+#: ../yum/__init__.py:3117
msgid "No package matched to remove"
msgstr "Nenhum pacote encontrado para remoção"
-#: ../yum/__init__.py:3031
-#: ../yum/__init__.py:3165
+#: ../yum/__init__.py:3151
+#: ../yum/__init__.py:3242
+#: ../yum/__init__.py:3329
#, python-format
msgid "Cannot open file: %s. Skipping."
msgstr "Não foi possível abrir o arquivo: %s. Ignorando."
-#: ../yum/__init__.py:3034
-#: ../yum/__init__.py:3168
+#: ../yum/__init__.py:3154
+#: ../yum/__init__.py:3245
+#: ../yum/__init__.py:3332
#, python-format
msgid "Examining %s: %s"
msgstr "Examinando %s: %s"
-#: ../yum/__init__.py:3042
-#: ../yum/__init__.py:3171
+#: ../yum/__init__.py:3162
+#: ../yum/__init__.py:3248
+#: ../yum/__init__.py:3335
#, python-format
msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
msgstr "Não foi possível adicionar o pacote %s à transação. %s não é uma arquitetura compatível."
-#: ../yum/__init__.py:3050
+#: ../yum/__init__.py:3170
#, python-format
msgid "Package %s not installed, cannot update it. Run yum install to install it instead."
msgstr "O pacote %s não está instalado, não é possível atualizá-lo. Execute o yum install para instalá-lo."
-#: ../yum/__init__.py:3085
-#: ../yum/__init__.py:3183
+#: ../yum/__init__.py:3205
+#: ../yum/__init__.py:3259
+#: ../yum/__init__.py:3346
#, python-format
msgid "Excluding %s"
msgstr "Excluindo %s"
-#: ../yum/__init__.py:3090
+#: ../yum/__init__.py:3210
#, python-format
msgid "Marking %s to be installed"
msgstr "Marcando %s para ser instalado"
-#: ../yum/__init__.py:3096
+#: ../yum/__init__.py:3216
#, python-format
msgid "Marking %s as an update to %s"
msgstr "Marcando %s como uma atualização do %s"
-#: ../yum/__init__.py:3103
+#: ../yum/__init__.py:3223
#, python-format
msgid "%s: does not update installed package."
msgstr "%s: não atualiza o pacote instalado."
-#: ../yum/__init__.py:3118
+#: ../yum/__init__.py:3278
msgid "Problem in reinstall: no package matched to remove"
msgstr "Problema na reinstalação: nenhum pacote encontrado para remoção"
-#: ../yum/__init__.py:3130
-#: ../yum/__init__.py:3244
+#: ../yum/__init__.py:3290
+#: ../yum/__init__.py:3407
#, python-format
msgid "Package %s is allowed multiple installs, skipping"
msgstr "O pacote %s permite múltiplas instalações, ignorando"
-#: ../yum/__init__.py:3144
-msgid "Problem in reinstall: no package matched to install"
-msgstr "Problema na reinstalação: nenhum pacote encontrado para instalação"
+#: ../yum/__init__.py:3308
+#, python-format
+msgid "Problem in reinstall: no package %s matched to install"
+msgstr "Problema na reinstalação: nenhum pacote %s encontrado para instalação"
-#: ../yum/__init__.py:3236
+#: ../yum/__init__.py:3399
msgid "No package(s) available to downgrade"
msgstr "Nenhum pacote disponível para ser retrocedido"
-#: ../yum/__init__.py:3280
+#: ../yum/__init__.py:3443
#, python-format
msgid "No Match for available package: %s"
msgstr "Nenhuma correspondência disponível para o pacote: %s"
-#: ../yum/__init__.py:3286
+#: ../yum/__init__.py:3449
#, python-format
msgid "Only Upgrade available on package: %s"
msgstr "Somente a atualização está disponível para o pacote: %s"
-#: ../yum/__init__.py:3348
+#: ../yum/__init__.py:3508
#, python-format
msgid "Retrieving GPG key from %s"
msgstr "Obtendo a chave GPG a partir de %s"
-#: ../yum/__init__.py:3368
+#: ../yum/__init__.py:3528
msgid "GPG key retrieval failed: "
msgstr "A obtenção da chave GPG falhou:"
-#: ../yum/__init__.py:3379
+#: ../yum/__init__.py:3539
#, python-format
msgid "GPG key parsing failed: key does not have value %s"
msgstr "Falha na análise da chave GPG: ela não tem o valor %s"
-#: ../yum/__init__.py:3411
+#: ../yum/__init__.py:3571
#, python-format
msgid "GPG key at %s (0x%s) is already installed"
msgstr "A chave GPG em %s (0x%s) já está instalada"
#. Try installing/updating GPG key
-#: ../yum/__init__.py:3416
-#: ../yum/__init__.py:3478
+#: ../yum/__init__.py:3576
+#: ../yum/__init__.py:3638
#, python-format
msgid "Importing GPG key 0x%s \"%s\" from %s"
msgstr "Importando chave GPG 0x%s \"%s\" a partir de %s"
-#: ../yum/__init__.py:3433
+#: ../yum/__init__.py:3593
msgid "Not installing key"
msgstr "Não está instalando a chave"
-#: ../yum/__init__.py:3439
+#: ../yum/__init__.py:3599
#, python-format
msgid "Key import failed (code %d)"
msgstr "Falha na importação da chave (código %d)"
-#: ../yum/__init__.py:3440
-#: ../yum/__init__.py:3499
+#: ../yum/__init__.py:3600
+#: ../yum/__init__.py:3659
msgid "Key imported successfully"
msgstr "Chave importada com sucesso"
-#: ../yum/__init__.py:3445
-#: ../yum/__init__.py:3504
+#: ../yum/__init__.py:3605
+#: ../yum/__init__.py:3664
#, python-format
msgid ""
"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
@@ -2196,96 +2248,96 @@ msgstr ""
"As chaves GPG listadas para o repositório \"%s\" já estão instaladas, mas não estão corretas para este pacote.\n"
"Verifique se as URLs corretas das chaves estão configuradas para esse repositório."
-#: ../yum/__init__.py:3454
+#: ../yum/__init__.py:3614
msgid "Import of key(s) didn't help, wrong key(s)?"
msgstr "A importação da(s) chave(s) não ajudou, chave(s) errada(s)?"
-#: ../yum/__init__.py:3473
+#: ../yum/__init__.py:3633
#, python-format
msgid "GPG key at %s (0x%s) is already imported"
msgstr "A chave GPG em %s (0x%s) já foi importada"
-#: ../yum/__init__.py:3493
+#: ../yum/__init__.py:3653
#, python-format
msgid "Not installing key for repo %s"
msgstr "A chave para o repositório %s não será instalada"
-#: ../yum/__init__.py:3498
+#: ../yum/__init__.py:3658
msgid "Key import failed"
msgstr "Falha na importação da chave"
-#: ../yum/__init__.py:3589
+#: ../yum/__init__.py:3779
msgid "Unable to find a suitable mirror."
msgstr "Não foi possível encontrar um espelho apropriado."
-#: ../yum/__init__.py:3591
+#: ../yum/__init__.py:3781
msgid "Errors were encountered while downloading packages."
msgstr "Foram encontrados erros ao baixar os pacotes."
-#: ../yum/__init__.py:3632
+#: ../yum/__init__.py:3822
#, python-format
msgid "Please report this error at %s"
msgstr "Por favor, relate esse erro em %s"
-#: ../yum/__init__.py:3656
+#: ../yum/__init__.py:3846
msgid "Test Transaction Errors: "
msgstr "Erros do teste de transação:"
#. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:204
+#: ../yum/plugins.py:202
msgid "Loaded plugins: "
msgstr "Plugins carregados: "
-#: ../yum/plugins.py:218
-#: ../yum/plugins.py:224
+#: ../yum/plugins.py:216
+#: ../yum/plugins.py:222
#, python-format
msgid "No plugin match for: %s"
msgstr "Nenhum plugin correspondente para: %s"
-#: ../yum/plugins.py:254
+#: ../yum/plugins.py:252
#, python-format
msgid "Not loading \"%s\" plugin, as it is disabled"
msgstr "O plugin \"%s\" não será carregado, pois está desabilitado"
#. Give full backtrace:
-#: ../yum/plugins.py:266
+#: ../yum/plugins.py:264
#, python-format
msgid "Plugin \"%s\" can't be imported"
msgstr "O plugin \"%s\" não pôde ser importado"
-#: ../yum/plugins.py:273
+#: ../yum/plugins.py:271
#, python-format
msgid "Plugin \"%s\" doesn't specify required API version"
msgstr "O plugin \"%s\" não especifica a versão requerida da API"
-#: ../yum/plugins.py:278
+#: ../yum/plugins.py:276
#, python-format
msgid "Plugin \"%s\" requires API %s. Supported API is %s."
msgstr "O plugin \"%s\" requer a API %s. A API suportada é a %s."
-#: ../yum/plugins.py:311
+#: ../yum/plugins.py:309
#, python-format
msgid "Loading \"%s\" plugin"
msgstr "Carregando o plugin \"%s\""
-#: ../yum/plugins.py:318
+#: ../yum/plugins.py:316
#, python-format
msgid "Two or more plugins with the name \"%s\" exist in the plugin search path"
msgstr "Dois ou mais plugins com o nome \"%s\" existem no caminho de pesquisa plugins"
-#: ../yum/plugins.py:338
+#: ../yum/plugins.py:336
#, python-format
msgid "Configuration file %s not found"
msgstr "Arquivos de configuração %s não encontrado"
#. for
#. Configuration files for the plugin not found
-#: ../yum/plugins.py:341
+#: ../yum/plugins.py:339
#, python-format
msgid "Unable to find configuration file for plugin %s"
msgstr "Não foi possível encontrar o arquivo de configuração para o plugin %s"
-#: ../yum/plugins.py:499
+#: ../yum/plugins.py:497
msgid "registration of commands not supported"
msgstr "O registro de comandos não é suportado"
@@ -2324,6 +2376,37 @@ msgstr "Cabeçalho %s danificado"
msgid "Error opening rpm %s - error %s"
msgstr "Erro ao abrir o rpm %s - erro %s"
+#~ msgid "Matching packages for package list to user args"
+#~ msgstr ""
+#~ "Resultado dos pacotes para a lista de pacotes dos argumentos do usuário"
+#~ msgid ""
+#~ "\n"
+#~ "Transaction Summary\n"
+#~ "%s\n"
+#~ "Install %5.5s Package(s) \n"
+#~ "Update %5.5s Package(s) \n"
+#~ "Remove %5.5s Package(s) \n"
+#~ msgstr ""
+#~ "\n"
+#~ "Sumário da transação\n"
+#~ "%s\n"
+#~ "Instalar %5.5s pacote(s) \n"
+#~ "Atualizar %5.5s pacote(s) \n"
+#~ "Remover %5.5s pacote(s) \n"
+#~ msgid "excluding for cost: %s from %s"
+#~ msgstr "excluindo para custo: %s a partir de %s"
+#~ msgid "Excluding Packages in global exclude list"
+#~ msgstr "Excluindo pacotes na lista global de excluídos"
+#~ msgid "Excluding Packages from %s"
+#~ msgstr "Excluindo pacotes de %s"
+#~ msgid "Reducing %s to included packages only"
+#~ msgstr "Reduzindo %s apenas aos pacotes inclusos"
+#~ msgid "Keeping included package %s"
+#~ msgstr "Mantendo o pacote incluso %s"
+#~ msgid "Removing unmatched package %s"
+#~ msgstr "Removendo pacote não encontrado %s"
+#~ msgid "Finished"
+#~ msgstr "Concluído"
#~ msgid "Invalid versioned dependency string, try quoting it."
#~ msgstr "String de dependência versionada inválida, tente citá-la."
#~ msgid "Entering rpm code"
diff --git a/po/sv.po b/po/sv.po
index 22e1334..b8a0b67 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -3,21 +3,21 @@
# This file is distributed under the same license as the yum package.
# Göran Uddeborg <goeran@uddeborg.se>, 2009.
#
-# $Id: yum-HEAD.patch,v 1.30 2009/08/31 20:52:07 skvidal Exp $
+# $Id: yum-HEAD.patch,v 1.30 2009/08/31 20:52:07 skvidal Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: yum\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-01-23 13:23+0000\n"
-"PO-Revision-Date: 2009-02-20 22:45+0100\n"
+"POT-Creation-Date: 2009-05-21 14:38+0000\n"
+"PO-Revision-Date: 2009-05-23 18:52+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../callback.py:48 ../output.py:909 ../yum/rpmtrans.py:71
+#: ../callback.py:48 ../output.py:922 ../yum/rpmtrans.py:71
msgid "Updating"
msgstr "Uppdaterar"
@@ -25,16 +25,16 @@ msgstr "Uppdaterar"
msgid "Erasing"
msgstr "Raderar"
-#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:908
+#: ../callback.py:50 ../callback.py:51 ../callback.py:53 ../output.py:921
#: ../yum/rpmtrans.py:73 ../yum/rpmtrans.py:74 ../yum/rpmtrans.py:76
msgid "Installing"
msgstr "Installerar"
#: ../callback.py:52 ../callback.py:58 ../yum/rpmtrans.py:75
msgid "Obsoleted"
-msgstr "Utgick"
+msgstr "Låter utgå"
-#: ../callback.py:54 ../output.py:1014
+#: ../callback.py:54 ../output.py:1029
msgid "Updated"
msgstr "Uppdaterade"
@@ -42,7 +42,7 @@ msgstr "Uppdaterade"
msgid "Erased"
msgstr "Raderade"
-#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1012
+#: ../callback.py:56 ../callback.py:57 ../callback.py:59 ../output.py:1027
msgid "Installed"
msgstr "Installerade"
@@ -52,7 +52,7 @@ msgstr "Inget huvud - va?"
#: ../callback.py:168
msgid "Repackage"
-msgstr "Packetera om"
+msgstr "Paketera om"
#: ../callback.py:189
#, python-format
@@ -64,7 +64,7 @@ msgstr "Fel: ogiltig utdatatillstånd: %s för %s"
msgid "Erased: %s"
msgstr "Raderade: %s"
-#: ../callback.py:217 ../output.py:910
+#: ../callback.py:217 ../output.py:923
msgid "Removing"
msgstr "Tar bort"
@@ -85,47 +85,47 @@ msgstr "Gör i ordning förråd"
msgid "Reading repository metadata in from local files"
msgstr "Läser in förrådsmetadata från lokala filer"
-#: ../cli.py:191 ../utils.py:79
+#: ../cli.py:192 ../utils.py:79
#, python-format
msgid "Config Error: %s"
msgstr "Konfigurationsfel: %s"
-#: ../cli.py:194 ../cli.py:1178 ../utils.py:82
+#: ../cli.py:195 ../cli.py:1190 ../utils.py:82
#, python-format
msgid "Options Error: %s"
msgstr "Fel bland flaggor: %s"
-#: ../cli.py:222
+#: ../cli.py:223
#, python-format
msgid " Installed: %s-%s at %s"
msgstr " Installerade: %s-%s %s"
-#: ../cli.py:224
+#: ../cli.py:225
#, python-format
msgid " Built : %s at %s"
msgstr " Byggde : %s %s"
-#: ../cli.py:226
+#: ../cli.py:227
#, python-format
msgid " Committed: %s at %s"
msgstr " Verkställde : %s %s"
-#: ../cli.py:263
+#: ../cli.py:266
msgid "You need to give some command"
msgstr "Du måste ange något kommando"
-#: ../cli.py:305
+#: ../cli.py:309
msgid "Disk Requirements:\n"
msgstr "Diskbehov:\n"
-#: ../cli.py:307
+#: ../cli.py:311
#, python-format
msgid " At least %dMB needed on the %s filesystem.\n"
msgstr " Åtminstone %d MB behövs på filsystemet %s.\n"
#. TODO: simplify the dependency errors?
#. Fixup the summary
-#: ../cli.py:312
+#: ../cli.py:316
msgid ""
"Error Summary\n"
"-------------\n"
@@ -133,56 +133,56 @@ msgstr ""
"Felsammandrag\n"
"-------------\n"
-#: ../cli.py:355
+#: ../cli.py:359
msgid "Trying to run the transaction but nothing to do. Exiting."
msgstr "Försöker köra transaktionen men det finns inget att göra. Avslutar."
-#: ../cli.py:391
+#: ../cli.py:395
msgid "Exiting on user Command"
msgstr "Avslutar på användarens order"
-#: ../cli.py:395
+#: ../cli.py:399
msgid "Downloading Packages:"
msgstr "Hämtar paket:"
-#: ../cli.py:400
+#: ../cli.py:404
msgid "Error Downloading Packages:\n"
msgstr "Fel när paket hämtades:\n"
-#: ../cli.py:414 ../yum/__init__.py:3328
+#: ../cli.py:418 ../yum/__init__.py:3362
msgid "Running rpm_check_debug"
msgstr "Kör rpm_check_debug"
-#: ../cli.py:417 ../yum/__init__.py:3331
+#: ../cli.py:421 ../yum/__init__.py:3365
msgid "ERROR with rpm_check_debug vs depsolve:"
msgstr "FEL med rpm_check_debug mot depsolve:"
-#: ../cli.py:421
+#: ../cli.py:425
#, python-format
msgid "Please report this error in %s"
msgstr "Vänligen rapportera detta fel i %s"
-#: ../cli.py:427
+#: ../cli.py:431
msgid "Running Transaction Test"
msgstr "Kör transaktionstest"
-#: ../cli.py:443
+#: ../cli.py:447
msgid "Finished Transaction Test"
msgstr "Avslutade transaktionstest"
-#: ../cli.py:445
+#: ../cli.py:449
msgid "Transaction Check Error:\n"
msgstr "Transaktionskontrollfel:\n"
-#: ../cli.py:452
+#: ../cli.py:456
msgid "Transaction Test Succeeded"
msgstr "Transaktionskontrollen lyckades"
-#: ../cli.py:473
+#: ../cli.py:477
msgid "Running Transaction"
msgstr "Kör transaktionen"
-#: ../cli.py:503
+#: ../cli.py:507
msgid ""
"Refusing to automatically import keys when running unattended.\n"
"Use \"-y\" to override."
@@ -190,271 +190,278 @@ msgstr ""
"Vägrar att automatiskt importera nycklar vid oövervakad körning.\n"
"Använd \"-y\" för att åsidosätta."
-#: ../cli.py:522 ../cli.py:556
+#: ../cli.py:526 ../cli.py:560
msgid " * Maybe you meant: "
msgstr " * Du kanske menade: "
-#: ../cli.py:539 ../cli.py:547
+#: ../cli.py:543 ../cli.py:551
#, python-format
msgid "Package(s) %s%s%s available, but not installed."
msgstr "Paket %s%s%s tillgängliga, men inte installerade."
-#: ../cli.py:553 ../cli.py:586
+#: ../cli.py:557 ../cli.py:590
#, python-format
msgid "No package %s%s%s available."
msgstr "Inget paket %s%s%s tillgängligt."
-#: ../cli.py:591 ../cli.py:666 ../yumcommands.py:988
+#: ../cli.py:595 ../cli.py:670 ../yumcommands.py:1010
msgid "Package(s) to install"
msgstr "Paket att installera"
-#: ../cli.py:592 ../cli.py:667 ../yumcommands.py:159 ../yumcommands.py:989
+#: ../cli.py:596 ../cli.py:671 ../yumcommands.py:159 ../yumcommands.py:1011
msgid "Nothing to do"
msgstr "Inget att göra"
-#: ../cli.py:625
+#: ../cli.py:629
#, python-format
msgid "%d packages marked for Update"
-msgstr "%d paket noterade för att uppdateras"
+msgstr "%d paket noterade att uppdateras"
-#: ../cli.py:628
+#: ../cli.py:632
msgid "No Packages marked for Update"
-msgstr "Inga paket noterade för att uppdateras"
+msgstr "Inga paket noterade att uppdateras"
-#: ../cli.py:642
+#: ../cli.py:646
#, python-format
msgid "%d packages marked for removal"
-msgstr "%d paket noterade för att tas bort"
+msgstr "%d paket noterade att tas bort"
-#: ../cli.py:645
+#: ../cli.py:649
msgid "No Packages marked for removal"
-msgstr "Inga paket noterade för att tas bort"
+msgstr "Inga paket noterade att tas bort"
-#: ../cli.py:657
+#: ../cli.py:661
msgid "No Packages Provided"
msgstr "Inga paket angivna"
-#: ../cli.py:712
+#: ../cli.py:716
msgid "Matching packages for package list to user args"
msgstr "Matchar paket för paketlistan mot användarargument"
-#: ../cli.py:761
+#: ../cli.py:765
#, python-format
msgid "Warning: No matches found for: %s"
msgstr "Varning: Ingen matchning hittades för: %s"
-#: ../cli.py:764
+#: ../cli.py:768
msgid "No Matches found"
msgstr "Inga matchningar hittades"
-#: ../cli.py:803
+#: ../cli.py:807
#, python-format
msgid ""
-"Warning: 3.0.x versions of yum would erronously match against filenames.\n"
+"Warning: 3.0.x versions of yum would erroneously match against filenames.\n"
" You can use \"%s*/%s%s\" and/or \"%s*bin/%s%s\" to get that behaviour"
msgstr ""
"Varing: versionerna 3.0.x av yum matchade felaktigt mot filnamn.\n"
-" Du kan använda \"%s*/%s%s\" och/eller \"%s*bin/%s%s\" för att få detta beteende"
+" Du kan använda \"%s*/%s%s\" och/eller \"%s*bin/%s%s\" för att få detta "
+"beteende"
-#: ../cli.py:819
+#: ../cli.py:823
#, python-format
msgid "No Package Found for %s"
msgstr "Inga paket hittades för %s"
-#: ../cli.py:831
+#: ../cli.py:835
msgid "Cleaning up Everything"
msgstr "Rensar upp allt"
-#: ../cli.py:845
+#: ../cli.py:849
msgid "Cleaning up Headers"
msgstr "Rensar upp huvuden"
-#: ../cli.py:848
+#: ../cli.py:852
msgid "Cleaning up Packages"
msgstr "Rensar upp paket"
-#: ../cli.py:851
+#: ../cli.py:855
msgid "Cleaning up xml metadata"
msgstr "Rensar upp xml-metadata"
-#: ../cli.py:854
+#: ../cli.py:858
msgid "Cleaning up database cache"
msgstr "Rensar upp databas-cache"
-#: ../cli.py:857
+#: ../cli.py:861
msgid "Cleaning up expire-cache metadata"
msgstr "Rensar upp expire-cache-metadata"
-#: ../cli.py:860
+#: ../cli.py:864
msgid "Cleaning up plugins"
msgstr "Rensar upp insticksmoduler"
-#: ../cli.py:885
+#: ../cli.py:889
msgid "Installed Groups:"
msgstr "Installerade grupper:"
-#: ../cli.py:892
+#: ../cli.py:896
msgid "Available Groups:"
msgstr "Tillgängliga grupper:"
-#: ../cli.py:898
+#: ../cli.py:902
msgid "Done"
msgstr "Klart"
-#: ../cli.py:909 ../cli.py:927 ../cli.py:933 ../yum/__init__.py:2376
+#: ../cli.py:913 ../cli.py:931 ../cli.py:937 ../yum/__init__.py:2410
#, python-format
msgid "Warning: Group %s does not exist."
msgstr "Varning: Grupp %s finns inte."
-#: ../cli.py:937
+#: ../cli.py:941
msgid "No packages in any requested group available to install or update"
-msgstr "Inget paket i någon begärd grupp är tillgängligt för installation eller uppdatering"
+msgstr ""
+"Inget paket i någon begärd grupp är tillgängligt för installation eller "
+"uppdatering"
-#: ../cli.py:939
+#: ../cli.py:943
#, python-format
msgid "%d Package(s) to Install"
msgstr "%d paket att installera"
-#: ../cli.py:949 ../yum/__init__.py:2388
+#: ../cli.py:953 ../yum/__init__.py:2422
#, python-format
msgid "No group named %s exists"
msgstr "Ingen grupp med namnet %s finns"
-#: ../cli.py:955
+#: ../cli.py:959
msgid "No packages to remove from groups"
msgstr "Inget paket att ta bort från grupper"
-#: ../cli.py:957
+#: ../cli.py:961
#, python-format
msgid "%d Package(s) to remove"
msgstr "%d paket att ta bort"
-#: ../cli.py:999
+#: ../cli.py:1003
#, python-format
msgid "Package %s is already installed, skipping"
msgstr "Paket %s är redan installerat, hoppar över"
-#: ../cli.py:1010
+#: ../cli.py:1014
#, python-format
msgid "Discarding non-comparable pkg %s.%s"
msgstr "Kastar ojämförbart paket %s.%s"
#. we've not got any installed that match n or n+a
-#: ../cli.py:1036
+#: ../cli.py:1040
#, python-format
msgid "No other %s installed, adding to list for potential install"
-msgstr "Ingen annat %s installerat, lägger till listan för potentiell installation"
+msgstr ""
+"Ingen annat %s installerat, lägger till listan för potentiell installation"
-#: ../cli.py:1055
+#: ../cli.py:1059
#, python-format
msgid "Command line error: %s"
msgstr "Kommandoradsfel: %s"
-#: ../cli.py:1068
+#: ../cli.py:1072
#, python-format
msgid ""
"\n"
"\n"
"%s: %s option requires an argument"
-msgstr "\n\n%s: flaggan %s behöver ett argument"
+msgstr ""
+"\n"
+"\n"
+"%s: flaggan %s behöver ett argument"
-#: ../cli.py:1118
+#: ../cli.py:1130
msgid "--color takes one of: auto, always, never"
msgstr "--color tar en av: auto, always, never"
-#: ../cli.py:1220
+#: ../cli.py:1232
msgid "show this help message and exit"
msgstr "visa detta hjälpmeddelande och avsluta"
-#: ../cli.py:1224
+#: ../cli.py:1236
msgid "be tolerant of errors"
msgstr "var tolerant vid fel"
-#: ../cli.py:1226
+#: ../cli.py:1238
msgid "run entirely from cache, don't update cache"
msgstr "kör helt från cache, uppdatera inte cachen"
-#: ../cli.py:1228
+#: ../cli.py:1240
msgid "config file location"
msgstr "konfigurationsfilens plats"
-#: ../cli.py:1230
+#: ../cli.py:1242
msgid "maximum command wait time"
msgstr "maximal tid att vänta på kommandon"
-#: ../cli.py:1232
+#: ../cli.py:1244
msgid "debugging output level"
msgstr "nivå på felsökningsutskrifter"
-#: ../cli.py:1236
+#: ../cli.py:1248
msgid "show duplicates, in repos, in list/search commands"
msgstr "visa dubletter, i förråd, i list-/search-kommandon"
-#: ../cli.py:1238
+#: ../cli.py:1250
msgid "error output level"
msgstr "nivå på felutskrifter"
-#: ../cli.py:1241
+#: ../cli.py:1253
msgid "quiet operation"
msgstr "tyst operation"
-#: ../cli.py:1243
+#: ../cli.py:1255
msgid "verbose operation"
msgstr "utförlig operation"
-#: ../cli.py:1245
+#: ../cli.py:1257
msgid "answer yes for all questions"
msgstr "svara ja på alla frågor"
-#: ../cli.py:1247
+#: ../cli.py:1259
msgid "show Yum version and exit"
msgstr "visa Yum-version och avsluta"
-#: ../cli.py:1248
+#: ../cli.py:1260
msgid "set install root"
msgstr "ange installationsrot"
-#: ../cli.py:1252
+#: ../cli.py:1264
msgid "enable one or more repositories (wildcards allowed)"
msgstr "aktivera ett eller flera förråd (jokrertecken tillåts)"
-#: ../cli.py:1256
+#: ../cli.py:1268
msgid "disable one or more repositories (wildcards allowed)"
-msgstr "avaktivera ett eller flera förråd (jokertecken tillåts)"
+msgstr "inaktivera ett eller flera förråd (jokertecken tillåts)"
-#: ../cli.py:1259
+#: ../cli.py:1271
msgid "exclude package(s) by name or glob"
msgstr "uteslut paket via namn eller mönster"
-#: ../cli.py:1261
+#: ../cli.py:1273
msgid "disable exclude from main, for a repo or for everything"
-msgstr "avaktivera uteslutningar från main, för ett förråd, eller för allt"
+msgstr "inaktivera uteslutningar från main, för ett förråd, eller för allt"
-#: ../cli.py:1264
+#: ../cli.py:1276
msgid "enable obsoletes processing during updates"
msgstr "aktivera bearbetning av utfasningar under uppdateringar"
-#: ../cli.py:1266
+#: ../cli.py:1278
msgid "disable Yum plugins"
-msgstr "avaktivera Yum-insticksmoduler"
+msgstr "inaktivera Yum-insticksmoduler"
-#: ../cli.py:1268
+#: ../cli.py:1280
msgid "disable gpg signature checking"
-msgstr "avaktivera kontroll av gpg-signatur"
+msgstr "inaktivera kontroll av gpg-signatur"
-#: ../cli.py:1270
+#: ../cli.py:1282
msgid "disable plugins by name"
-msgstr "avaktivera insticksmoduler efter namn"
+msgstr "inaktivera insticksmoduler efter namn"
-#: ../cli.py:1273
+#: ../cli.py:1285
msgid "enable plugins by name"
msgstr "aktivera insticksmoduler efter namn"
-#: ../cli.py:1276
+#: ../cli.py:1288
msgid "skip packages with depsolving problems"
msgstr "hoppa över paket med problem vid beroendeupplösning"
-#: ../cli.py:1278
+#: ../cli.py:1290
msgid "control whether color is used"
msgstr "styr om färg skall användas"
@@ -583,162 +590,169 @@ msgstr "Licens : %s"
msgid "Description: "
msgstr "Beskrivning: "
-#: ../output.py:607
+#: ../output.py:611
msgid "y"
msgstr "j"
-#: ../output.py:607
+#: ../output.py:611
msgid "yes"
msgstr "ja"
-#: ../output.py:608
+#: ../output.py:612
msgid "n"
msgstr "n"
-#: ../output.py:608
+#: ../output.py:612
msgid "no"
msgstr "nej"
-#: ../output.py:612
+#: ../output.py:616
msgid "Is this ok [y/N]: "
msgstr "Är detta ok [j/N]: "
-#: ../output.py:700
+#: ../output.py:704
#, python-format
msgid ""
"\n"
"Group: %s"
-msgstr "\nGrupp: %s"
+msgstr ""
+"\n"
+"Grupp: %s"
+
+#: ../output.py:708
+#, python-format
+msgid " Group-Id: %s"
+msgstr " Grupp-id: %s"
-#: ../output.py:707
+#: ../output.py:713
#, python-format
msgid " Description: %s"
msgstr " Beskrivning: %s"
-#: ../output.py:709
+#: ../output.py:715
msgid " Mandatory Packages:"
msgstr " Obligatoriska paket:"
-#: ../output.py:710
+#: ../output.py:716
msgid " Default Packages:"
msgstr " Standardpaket:"
-#: ../output.py:711
+#: ../output.py:717
msgid " Optional Packages:"
msgstr " Valfria paket:"
-#: ../output.py:712
+#: ../output.py:718
msgid " Conditional Packages:"
msgstr " Villkorliga paket:"
-#: ../output.py:732
+#: ../output.py:738
#, python-format
msgid "package: %s"
msgstr "paket: %s"
-#: ../output.py:734
+#: ../output.py:740
msgid " No dependencies for this package"
msgstr " Inga beroenden för detta paket"
-#: ../output.py:739
+#: ../output.py:745
#, python-format
msgid " dependency: %s"
msgstr " beroende: %s"
-#: ../output.py:741
+#: ../output.py:747
msgid " Unsatisfied dependency"
msgstr " Ej uppfyllt beroende"
-#: ../output.py:813
+#: ../output.py:819
#, python-format
msgid "Repo : %s"
msgstr "Förråd : %s"
-#: ../output.py:814
+#: ../output.py:820
msgid "Matched from:"
msgstr "Matchat från:"
-#: ../output.py:822
+#: ../output.py:828
msgid "Description : "
msgstr "Beskrivning : "
-#: ../output.py:825
+#: ../output.py:831
#, python-format
msgid "URL : %s"
msgstr "URL : %s"
-#: ../output.py:828
+#: ../output.py:834
#, python-format
msgid "License : %s"
msgstr "Licens : %s"
-#: ../output.py:831
+#: ../output.py:837
#, python-format
msgid "Filename : %s"
msgstr "Filnamn : %s"
-#: ../output.py:835
+#: ../output.py:841
msgid "Other : "
msgstr "Övrigt : "
-#: ../output.py:868
+#: ../output.py:874
msgid "There was an error calculating total download size"
msgstr "Ett fel uppstod vid beräkningen av total storlek att hämta"
-#: ../output.py:873
+#: ../output.py:879
#, python-format
msgid "Total size: %s"
msgstr "Total storlek: %s"
-#: ../output.py:876
+#: ../output.py:882
#, python-format
msgid "Total download size: %s"
msgstr "Total storlek att hämta: %s"
-#: ../output.py:911
+#: ../output.py:924
msgid "Installing for dependencies"
msgstr "Installerar på grund av beroenden"
-#: ../output.py:912
+#: ../output.py:925
msgid "Updating for dependencies"
msgstr "Uppdaterar på grund av beroenden"
-#: ../output.py:913
+#: ../output.py:926
msgid "Removing for dependencies"
msgstr "Tar bort på grund av beroenden"
-#: ../output.py:920 ../output.py:1016
+#: ../output.py:933 ../output.py:1031
msgid "Skipped (dependency problems)"
msgstr "Hoppas över (beroendeproblem)"
-#: ../output.py:941
+#: ../output.py:954
msgid "Package"
msgstr "Paket"
-#: ../output.py:941
+#: ../output.py:954
msgid "Arch"
msgstr "Ark"
-#: ../output.py:942
+#: ../output.py:955
msgid "Version"
msgstr "Version"
-#: ../output.py:942
+#: ../output.py:955
msgid "Repository"
msgstr "Förråd"
-#: ../output.py:943
+#: ../output.py:956
msgid "Size"
-msgstr "Strlk"
+msgstr "Storl."
-#: ../output.py:954
+#: ../output.py:968
#, python-format
msgid ""
-" replacing %s.%s %s\n"
+" replacing %s%s%s.%s %s\n"
"\n"
-msgstr " ersätter %s.%s %s\n\n"
+msgstr " ersätter %s%s%s.%s %s\n\n"
-#: ../output.py:962
+#: ../output.py:977
#, python-format
msgid ""
"\n"
@@ -749,109 +763,116 @@ msgid ""
"Remove %5.5s Package(s) \n"
msgstr ""
"\n"
-"Transaktionssamanfattning\n"
+"Transaktionssammanfattning\n"
"%s\n"
-"Installerar %5.5s Package(s) \n"
-"Uppdaterar %5.5s Package(s) \n"
-"Tar bort %5.5s Package(s) \n"
+"Installerar %5.5s Paket \n"
+"Uppdaterar %5.5s Paket \n"
+"Tar bort %5.5s Paket \n"
-#: ../output.py:1010
+#: ../output.py:1025
msgid "Removed"
msgstr "Borttagna"
-#: ../output.py:1011
+#: ../output.py:1026
msgid "Dependency Removed"
msgstr "Borttagna beroenden"
-#: ../output.py:1013
+#: ../output.py:1028
msgid "Dependency Installed"
msgstr "Installerade beroenden"
-#: ../output.py:1015
+#: ../output.py:1030
msgid "Dependency Updated"
msgstr "Uppdaterade beroenden"
-#: ../output.py:1017
+#: ../output.py:1032
msgid "Replaced"
msgstr "Ersatte"
-#: ../output.py:1018
+#: ../output.py:1033
msgid "Failed"
msgstr "Misslyckade"
+#. Delta between C-c's so we treat as exit
+#: ../output.py:1099
+msgid "two"
+msgstr "två"
+
# Alla utom fjärde %s ger styrtecken för att styra fetstil.
#
-# Det sista är den hårdkodade strängen "two", felrapporterad:
-# http://yum.baseurl.org/ticket/34
-#: ../output.py:1091
+# Det sista är den översättningen av strängen "two".
+#: ../output.py:1106
#, python-format
msgid ""
"\n"
" Current download cancelled, %sinterrupt (ctrl-c) again%s within %s%s%s "
"seconds to exit.\n"
-msgstr "\n Aktuell nedladdning avbröts, %savbryt (ctrl-c) igen%s inom %s%s%s sekunder för att avsluta.\n"
+msgstr ""
+"\n"
+" Aktuell nedladdning avbröts, %savbryt (ctrl-c) igen%s inom %s%s%s sekunder "
+"för att avsluta.\n"
-#: ../output.py:1101
+#: ../output.py:1116
msgid "user interrupt"
msgstr "avbrott från användaren"
-#: ../output.py:1117
+#: ../output.py:1132
msgid "Total"
msgstr "Totalt"
-#: ../output.py:1131
+#: ../output.py:1146
msgid "installed"
msgstr "installeras"
-#: ../output.py:1132
+#: ../output.py:1147
msgid "updated"
msgstr "uppdateras"
-#: ../output.py:1133
+#: ../output.py:1148
msgid "obsoleted"
msgstr "fasas ut"
-#: ../output.py:1134
+#: ../output.py:1149
msgid "erased"
msgstr "raderas"
-#: ../output.py:1138
+#: ../output.py:1153
#, python-format
msgid "---> Package %s.%s %s:%s-%s set to be %s"
msgstr "---> Paket %s.%s %s:%s-%s satt till att %s"
-#: ../output.py:1145
+#: ../output.py:1160
msgid "--> Running transaction check"
msgstr "--> Kör transaktionskontroll"
-#: ../output.py:1150
+#: ../output.py:1165
msgid "--> Restarting Dependency Resolution with new changes."
msgstr "--> Startar om beroendeupplösning med nya ändringar."
-#: ../output.py:1155
+#: ../output.py:1170
msgid "--> Finished Dependency Resolution"
msgstr "--> Avslutade beroendeupplösning"
-#: ../output.py:1160
+#: ../output.py:1175
#, python-format
msgid "--> Processing Dependency: %s for package: %s"
msgstr "--> Bearbetar beroende: %s för paket: %s"
-#: ../output.py:1165
+#: ../output.py:1180
#, python-format
msgid "--> Unresolved Dependency: %s"
msgstr "--> Ej upplöst beroende: %s"
-#: ../output.py:1171
+#: ../output.py:1186
#, python-format
msgid "--> Processing Conflict: %s conflicts %s"
msgstr "--> Bearbetar konflikt: %s står i konflikt med %s"
-#: ../output.py:1174
+#: ../output.py:1189
msgid "--> Populating transaction set with selected packages. Please wait."
msgstr "--> Fyller transaktionsmängden med valda paket. Var god dröj."
-#: ../output.py:1178
+#: ../output.py:1193
#, python-format
msgid "---> Downloading header for %s to pack into transaction set."
msgstr "---> Hämtar huvud för %s för att paketera i transaktionsmängden."
@@ -960,256 +981,263 @@ msgstr "Förbereder uppdateringsprocessen"
msgid "Display details about a package or group of packages"
msgstr "Visa detaljer om ett paket eller en grupp paket"
-#: ../yumcommands.py:284
+#: ../yumcommands.py:292
msgid "Installed Packages"
msgstr "Installerade paket"
-#: ../yumcommands.py:291
+#: ../yumcommands.py:300
msgid "Available Packages"
msgstr "Tillgängliga paket"
-#: ../yumcommands.py:295
+#: ../yumcommands.py:304
msgid "Extra Packages"
msgstr "Extra paket"
-#: ../yumcommands.py:297
+#: ../yumcommands.py:308
msgid "Updated Packages"
msgstr "Uppdaterade paket"
-#: ../yumcommands.py:304 ../yumcommands.py:311 ../yumcommands.py:578
+#. This only happens in verbose mode
+#: ../yumcommands.py:316 ../yumcommands.py:323 ../yumcommands.py:600
msgid "Obsoleting Packages"
msgstr "Fasar ut paket"
-#: ../yumcommands.py:313
+#: ../yumcommands.py:325
msgid "Recently Added Packages"
msgstr "Nyligen tillagda paket"
-#: ../yumcommands.py:320
+#: ../yumcommands.py:332
msgid "No matching Packages to list"
msgstr "Inga matchande paket att lista"
-#: ../yumcommands.py:334
+#: ../yumcommands.py:346
msgid "List a package or groups of packages"
msgstr "Lista ett paket eller en grupp paket"
-#: ../yumcommands.py:346
+#: ../yumcommands.py:358
msgid "Remove a package or packages from your system"
msgstr "Ta bort ett eller flera paket från ditt system"
-#: ../yumcommands.py:353
+#: ../yumcommands.py:365
msgid "Setting up Remove Process"
msgstr "Förbereder processen att ta bort"
-#: ../yumcommands.py:367
+#: ../yumcommands.py:379
msgid "Setting up Group Process"
msgstr "Förbereder grupprocessen"
-#: ../yumcommands.py:373
+#: ../yumcommands.py:385
msgid "No Groups on which to run command"
msgstr "Inga grupper att köra kommandot på"
-#: ../yumcommands.py:386
+#: ../yumcommands.py:398
msgid "List available package groups"
msgstr "Lista tillgängliga paketgrupper"
-#: ../yumcommands.py:403
+#: ../yumcommands.py:415
msgid "Install the packages in a group on your system"
msgstr "Installera paketen i en grupp på ditt system"
-#: ../yumcommands.py:425
+#: ../yumcommands.py:437
msgid "Remove the packages in a group from your system"
msgstr "Ta bort paketen in en grupp från ditt system"
-#: ../yumcommands.py:452
+#: ../yumcommands.py:464
msgid "Display details about a package group"
msgstr "Visa detaljer om en paketgrupp"
-#: ../yumcommands.py:476
+#: ../yumcommands.py:488
msgid "Generate the metadata cache"
msgstr "Generera metadata-cache:n"
-#: ../yumcommands.py:482
+#: ../yumcommands.py:494
msgid "Making cache files for all metadata files."
msgstr "Skapar cache-filer för alla metadatafiler."
-#: ../yumcommands.py:483
+#: ../yumcommands.py:495
msgid "This may take a while depending on the speed of this computer"
msgstr "Detta kan ta ett tag beroende på datorns fart"
-#: ../yumcommands.py:504
+#: ../yumcommands.py:516
msgid "Metadata Cache Created"
msgstr "Metadata-cache skapad"
-#: ../yumcommands.py:518
+#: ../yumcommands.py:530
msgid "Remove cached data"
msgstr "Ta bort cache:ade data"
-#: ../yumcommands.py:539
+#: ../yumcommands.py:551
msgid "Find what package provides the given value"
msgstr "Ta reda på vilka paket som tillhandahåller det angivna värdet"
-#: ../yumcommands.py:559
+#: ../yumcommands.py:571
msgid "Check for available package updates"
msgstr "Leta efter tillgängliga paketuppdateringar"
-#: ../yumcommands.py:598
+#: ../yumcommands.py:620
msgid "Search package details for the given string"
msgstr "Sök i paketdetaljer efter den angivna strängen"
-#: ../yumcommands.py:604
+#: ../yumcommands.py:626
msgid "Searching Packages: "
msgstr "Söker paket: "
-#: ../yumcommands.py:621
+#: ../yumcommands.py:643
msgid "Update packages taking obsoletes into account"
msgstr "Uppdatera paket med hänsyn tagen till utfasningar"
-#: ../yumcommands.py:629
+#: ../yumcommands.py:651
msgid "Setting up Upgrade Process"
msgstr "Förbereder uppgraderingsprocessen"
-#: ../yumcommands.py:643
+#: ../yumcommands.py:665
msgid "Install a local RPM"
msgstr "Installera en lokal RPM"
-#: ../yumcommands.py:651
+#: ../yumcommands.py:673
msgid "Setting up Local Package Process"
msgstr "Förbereder den lokala paketprocessen"
-#: ../yumcommands.py:670
+#: ../yumcommands.py:692
msgid "Determine which package provides the given dependency"
msgstr "Avgör vilket paket som tillhandahåller ett angivet beroende"
-#: ../yumcommands.py:673
+#: ../yumcommands.py:695
msgid "Searching Packages for Dependency:"
msgstr "Söker i paketen efter beroende:"
-#: ../yumcommands.py:687
+#: ../yumcommands.py:709
msgid "Run an interactive yum shell"
msgstr "Kör ett interactivt yum-skal"
-#: ../yumcommands.py:693
+#: ../yumcommands.py:715
msgid "Setting up Yum Shell"
msgstr "Förbereder ett yum-skal"
-#: ../yumcommands.py:711
+#: ../yumcommands.py:733
msgid "List a package's dependencies"
msgstr "Lista ett pakets beroenden"
-#: ../yumcommands.py:717
+#: ../yumcommands.py:739
msgid "Finding dependencies: "
msgstr "Letar efter beroenden: "
-#: ../yumcommands.py:733
+#: ../yumcommands.py:755
msgid "Display the configured software repositories"
msgstr "Visa konfigurerade programvaruförråd"
-#: ../yumcommands.py:781 ../yumcommands.py:782
+#: ../yumcommands.py:803 ../yumcommands.py:804
msgid "enabled"
msgstr "aktivt"
-#: ../yumcommands.py:790 ../yumcommands.py:791
+#: ../yumcommands.py:812 ../yumcommands.py:813
msgid "disabled"
msgstr "inaktivt"
-#: ../yumcommands.py:805
+#: ../yumcommands.py:827
msgid "Repo-id : "
msgstr "Förråds-id : "
-#: ../yumcommands.py:806
+#: ../yumcommands.py:828
msgid "Repo-name : "
msgstr "Förrådsnamn : "
-#: ../yumcommands.py:807
+#: ../yumcommands.py:829
msgid "Repo-status : "
msgstr "Förrådsstatus : "
-#: ../yumcommands.py:809
+#: ../yumcommands.py:831
msgid "Repo-revision: "
msgstr "Förrådsversion : "
-#: ../yumcommands.py:813
+#: ../yumcommands.py:835
msgid "Repo-tags : "
msgstr "Förrådstaggar : "
-#: ../yumcommands.py:819
+#: ../yumcommands.py:841
msgid "Repo-distro-tags: "
msgstr "Förråds-distro-taggar: "
-#: ../yumcommands.py:824
+#: ../yumcommands.py:846
msgid "Repo-updated: "
msgstr "Förråd uppdat. : "
-#: ../yumcommands.py:826
+#: ../yumcommands.py:848
msgid "Repo-pkgs : "
msgstr "Förrådspaket : "
-#: ../yumcommands.py:827
+#: ../yumcommands.py:849
msgid "Repo-size : "
msgstr "Förrådstorlek : "
-#: ../yumcommands.py:834
+#: ../yumcommands.py:856
msgid "Repo-baseurl: "
msgstr "Förrådsbasurl : "
-#: ../yumcommands.py:838
+#: ../yumcommands.py:860
msgid "Repo-metalink: "
msgstr "Förrådsmetalänk : "
-#: ../yumcommands.py:841
+#: ../yumcommands.py:863
msgid "Repo-mirrors: "
msgstr "Förrådspeglar : "
-#: ../yumcommands.py:845
+#: ../yumcommands.py:867
msgid "Repo-exclude: "
msgstr "Förrådsuteslut : "
-#: ../yumcommands.py:849
+#: ../yumcommands.py:871
msgid "Repo-include: "
msgstr "Förrådsinkludera: "
#. Work out the first (id) and last (enabled/disalbed/count),
#. then chop the middle (name)...
-#: ../yumcommands.py:859 ../yumcommands.py:885
+#: ../yumcommands.py:881 ../yumcommands.py:907
msgid "repo id"
msgstr "förråds-id"
-#: ../yumcommands.py:873 ../yumcommands.py:874 ../yumcommands.py:888
+#: ../yumcommands.py:895 ../yumcommands.py:896 ../yumcommands.py:910
msgid "status"
msgstr "status"
-#: ../yumcommands.py:886
+#: ../yumcommands.py:908
msgid "repo name"
msgstr "förrådsnamn"
-#: ../yumcommands.py:912
+#: ../yumcommands.py:934
msgid "Display a helpful usage message"
msgstr "Visa ett hjälpsamt meddelande om användning"
-#: ../yumcommands.py:946
+#: ../yumcommands.py:968
#, python-format
msgid "No help available for %s"
msgstr "Ingen hjälp tillgänglig för %s"
-#: ../yumcommands.py:951
+#: ../yumcommands.py:973
msgid ""
"\n"
"\n"
"aliases: "
-msgstr "\n\nalias: "
+msgstr ""
+"\n"
+"\n"
+"alias: "
-#: ../yumcommands.py:953
+#: ../yumcommands.py:975
msgid ""
"\n"
"\n"
"alias: "
-msgstr "\n\nalias: "
+msgstr ""
+"\n"
+"\n"
+"alias: "
-#: ../yumcommands.py:981
+#: ../yumcommands.py:1003
msgid "Setting up Reinstall Process"
msgstr "Förbereder ominstallationsprocessen"
-#: ../yumcommands.py:995
+#: ../yumcommands.py:1017
msgid "reinstall a package"
msgstr "ominstallera ett paket"
@@ -1218,99 +1246,126 @@ msgid ""
"\n"
"\n"
"Exiting on user cancel"
-msgstr "\n\nSlutar efter att användaren avbröt"
+msgstr ""
+"\n"
+"\n"
+"Slutar efter att användaren avbröt"
#: ../yummain.py:48
msgid ""
"\n"
"\n"
"Exiting on Broken Pipe"
-msgstr "\n\nSlutar med brutet rör (pipe)"
+msgstr ""
+"\n"
+"\n"
+"Slutar med brutet rör (pipe)"
-#: ../yummain.py:122
+#: ../yummain.py:126
msgid "Running"
msgstr "Kör"
-#: ../yummain.py:123
+#: ../yummain.py:127
msgid "Sleeping"
msgstr "Sover"
-#: ../yummain.py:124
+#: ../yummain.py:128
msgid "Uninteruptable"
msgstr "Oavbrytbar"
-#: ../yummain.py:125
+#: ../yummain.py:129
msgid "Zombie"
msgstr "Zombie"
-#: ../yummain.py:126
+#: ../yummain.py:130
msgid "Traced/Stopped"
msgstr "Spårad/Stoppad"
-#: ../yummain.py:127
+#: ../yummain.py:131
msgid "Unknown"
msgstr "Okänd"
-#: ../yummain.py:131
+#: ../yummain.py:135
msgid " The other application is: PackageKit"
msgstr " Det andra programmet är: PackageKit"
-#: ../yummain.py:133
+#: ../yummain.py:137
#, python-format
msgid " The other application is: %s"
msgstr " Det andra programmet är: %s"
-#: ../yummain.py:136
+#: ../yummain.py:140
#, python-format
msgid " Memory : %5s RSS (%5sB VSZ)"
msgstr " Minne : %5s RSS (%5s B VSZ)"
-#: ../yummain.py:140
+#: ../yummain.py:144
#, python-format
msgid " Started: %s - %s ago"
msgstr " Startade: %s - för %s sedan"
-#: ../yummain.py:142
+#: ../yummain.py:146
#, python-format
msgid " State : %s, pid: %d"
msgstr " Status : %s, pid: %d"
-#: ../yummain.py:167
+#: ../yummain.py:171
msgid ""
"Another app is currently holding the yum lock; waiting for it to exit..."
-msgstr "Ett annat program håller för närvarande yum-låset, väntar på att den skall avsluta ..."
+msgstr ""
+"Ett annat program håller för närvarande yum-låset, väntar på att den skall "
+"avsluta ..."
-#: ../yummain.py:195 ../yummain.py:234
+#: ../yummain.py:199 ../yummain.py:238
#, python-format
msgid "Error: %s"
msgstr "Fel: %s"
-#: ../yummain.py:205 ../yummain.py:241
+#: ../yummain.py:209 ../yummain.py:250
#, python-format
msgid "Unknown Error(s): Exit Code: %d:"
msgstr "Okänt fel: Felkod: %d:"
#. Depsolve stage
-#: ../yummain.py:212
+#: ../yummain.py:216
msgid "Resolving Dependencies"
msgstr "Löser upp beroenden"
-#: ../yummain.py:247
+#: ../yummain.py:240
+msgid " You could try using --skip-broken to work around the problem"
+msgstr " Du kan försöka använda --skip-broken för att gå runt problemet"
+
+#: ../yummain.py:241
+msgid ""
+" You could try running: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+msgstr ""
+" Du kan försöka köra: package-cleanup --problems\n"
+" package-cleanup --dupes\n"
+" rpm -Va --nofiles --nodigest"
+
+#: ../yummain.py:256
msgid ""
"\n"
"Dependencies Resolved"
-msgstr "\nBeroenden upplösta"
+msgstr ""
+"\n"
+"Beroenden upplösta"
-#: ../yummain.py:261
+#: ../yummain.py:270
msgid "Complete!"
msgstr "Klart!"
-#: ../yummain.py:308
+#: ../yummain.py:325
msgid ""
"\n"
"\n"
"Exiting on user cancel."
-msgstr "\n\nSlutar efter att användaren avbröt."
+msgstr ""
+"\n"
+"\n"
+"Slutar efter att användaren avbröt."
#: ../yum/depsolve.py:84
msgid "doTsSetup() will go away in a future version of Yum.\n"
@@ -1392,7 +1447,7 @@ msgstr "Läge för paket som tillhandahåller %s: %s"
#: ../yum/depsolve.py:381
#, python-format
msgid "TSINFO: %s package requiring %s marked as erase"
-msgstr "TSINFO: paket %s behöver %s noterat att raderas"
+msgstr "TSINFO: paket %s behöver %s noteras att raderas"
#: ../yum/depsolve.py:394
#, python-format
@@ -1423,39 +1478,41 @@ msgstr "Snabb matcning av %s mot behov för %s"
#: ../yum/depsolve.py:480
#, python-format
msgid "%s is in providing packages but it is already installed, removing."
-msgstr "%s finns bland tillhandahållande paket men det är redan installerat, tar bort."
+msgstr ""
+"%s finns bland tillhandahållande paket men det är redan installerat, tar "
+"bort."
-#: ../yum/depsolve.py:495
+#: ../yum/depsolve.py:496
#, python-format
msgid "Potential resolving package %s has newer instance in ts."
msgstr "Potentiellt upplösande paket %s har nyare instans i ts."
-#: ../yum/depsolve.py:506
+#: ../yum/depsolve.py:507
#, python-format
msgid "Potential resolving package %s has newer instance installed."
msgstr "Potentiellt upplösande paket %s har nyare instans installerad."
-#: ../yum/depsolve.py:514 ../yum/depsolve.py:563
+#: ../yum/depsolve.py:515 ../yum/depsolve.py:564
#, python-format
msgid "Missing Dependency: %s is needed by package %s"
msgstr "Saknat beroende: %s behövs av paketet %s"
-#: ../yum/depsolve.py:527
+#: ../yum/depsolve.py:528
#, python-format
msgid "%s already in ts, skipping this one"
msgstr "%s är redan i ts, hoppar över denna"
-#: ../yum/depsolve.py:573
+#: ../yum/depsolve.py:574
#, python-format
msgid "TSINFO: Marking %s as update for %s"
msgstr "TSINFO: Noterar %s som en uppdatering av %s"
-#: ../yum/depsolve.py:581
+#: ../yum/depsolve.py:582
#, python-format
msgid "TSINFO: Marking %s as install for %s"
msgstr "TSINFO: Noterar %s som en installation av %s"
-#: ../yum/depsolve.py:674 ../yum/depsolve.py:756
+#: ../yum/depsolve.py:675 ../yum/depsolve.py:756
msgid "Success - empty transaction"
msgstr "Klart - tom transaktion"
@@ -1496,12 +1553,12 @@ msgstr "Kör compare_providers() för %s"
msgid "better arch in po %s"
msgstr "bättre arkitektur i po %s"
-#: ../yum/depsolve.py:1084
+#: ../yum/depsolve.py:1091
#, python-format
msgid "%s obsoletes %s"
msgstr "%s fasar ut %s"
-#: ../yum/depsolve.py:1100
+#: ../yum/depsolve.py:1107
#, python-format
msgid ""
"archdist compared %s to %s on %s\n"
@@ -1510,202 +1567,209 @@ msgstr ""
"arkitekturavstånd jämför %s med %s på %s\n"
" Vinnare: %s"
-#: ../yum/depsolve.py:1107
+#: ../yum/depsolve.py:1114
#, python-format
msgid "common sourcerpm %s and %s"
msgstr "samma käll-rpm %s och %s"
-#: ../yum/depsolve.py:1113
+#: ../yum/depsolve.py:1120
#, python-format
msgid "common prefix of %s between %s and %s"
msgstr "gemensamt prefix för %s mellan %s och %s"
-#: ../yum/depsolve.py:1121
+#: ../yum/depsolve.py:1128
#, python-format
msgid "Best Order: %s"
msgstr "Bästa ordning: %s"
-#: ../yum/__init__.py:154
+#: ../yum/__init__.py:176
msgid "doConfigSetup() will go away in a future version of Yum.\n"
msgstr "doConfigSetup() kommer att försvinna i en framtida version av Yum.\n"
-#: ../yum/__init__.py:340
+#. FIXME: Use critical? or exception?
+#: ../yum/__init__.py:386
#, python-format
msgid "Repository %r is missing name in configuration, using id"
msgstr "Förrådet %r saknar namn i konfigurationen, använder id"
-#: ../yum/__init__.py:378
+#: ../yum/__init__.py:424
msgid "plugins already initialised"
msgstr "insticksmoduler redan initierade"
-#: ../yum/__init__.py:385
+#: ../yum/__init__.py:431
msgid "doRpmDBSetup() will go away in a future version of Yum.\n"
msgstr "doRpmDBSetup() kommer att försvinna i en framtida version av Yum.\n"
-#: ../yum/__init__.py:395
+#: ../yum/__init__.py:441
msgid "Reading Local RPMDB"
msgstr "Läser lokal RPMDB"
-#: ../yum/__init__.py:413
+#: ../yum/__init__.py:459
msgid "doRepoSetup() will go away in a future version of Yum.\n"
msgstr "doRepoSetup() kommer att försvinna i en framtida version av Yum.\n"
-#: ../yum/__init__.py:433
+#: ../yum/__init__.py:479
msgid "doSackSetup() will go away in a future version of Yum.\n"
msgstr "doSackSetup() kommer att försvinna i en framtida version av Yum.\n"
-#: ../yum/__init__.py:450
+#: ../yum/__init__.py:496
msgid "Setting up Package Sacks"
msgstr "Förbereder paketsäckar"
-#: ../yum/__init__.py:493
+#: ../yum/__init__.py:539
#, python-format
msgid "repo object for repo %s lacks a _resetSack method\n"
msgstr "förrådsobjekt för förrådet %s saknar en _resetSack-metod\n"
-#: ../yum/__init__.py:494
+#: ../yum/__init__.py:540
msgid "therefore this repo cannot be reset.\n"
msgstr "därför kan inte detta förråd återställas.\n"
-#: ../yum/__init__.py:499
+#: ../yum/__init__.py:545
msgid "doUpdateSetup() will go away in a future version of Yum.\n"
msgstr "doUpdateSetup() kommer att försvinna i en framtida version av Yum.\n"
-#: ../yum/__init__.py:511
+#: ../yum/__init__.py:557
msgid "Building updates object"
msgstr "Bygger uppdateringsobjekt"
-#: ../yum/__init__.py:542
+#: ../yum/__init__.py:588
msgid "doGroupSetup() will go away in a future version of Yum.\n"
msgstr "doGroupSetup() kommer att försvinna i en framtida version av Yum.\n"
-#: ../yum/__init__.py:566
+#: ../yum/__init__.py:612
msgid "Getting group metadata"
msgstr "Hämtar gruppmetadata"
-#: ../yum/__init__.py:592
+#: ../yum/__init__.py:637
#, python-format
msgid "Adding group file from repository: %s"
msgstr "Lägger till gruppfil från förrådet: %s"
-#: ../yum/__init__.py:601
+#: ../yum/__init__.py:642
#, python-format
msgid "Failed to add groups file for repository: %s - %s"
msgstr "Kunde inte lägga till gruppfil för förrådet: %s - %s"
-#: ../yum/__init__.py:607
+#: ../yum/__init__.py:648
msgid "No Groups Available in any repository"
msgstr "Inga grupper tillgängliga i något förråd"
-#: ../yum/__init__.py:657
+#: ../yum/__init__.py:698
msgid "Importing additional filelist information"
msgstr "Importerar ytterligare fillisteinformation"
-#: ../yum/__init__.py:666
+#: ../yum/__init__.py:706
msgid ""
"There are unfinished transactions remaining. You might consider running yum-"
"complete-transaction first to finish them."
-msgstr "Det finns oavslutade transaktioner kvar. Du kan överväga att köra yumcomplete-transaction först för att avsluta dem."
+msgstr ""
+"Det finns oavslutade transaktioner kvar. Du kan överväga att köra "
+"yumcomplete-transaction först för att avsluta dem."
-#: ../yum/__init__.py:732
+#: ../yum/__init__.py:772
#, python-format
msgid "Skip-broken round %i"
msgstr "Hoppa-över-trasiga runda %i"
-#: ../yum/__init__.py:784
+#: ../yum/__init__.py:824
#, python-format
msgid "Skip-broken took %i rounds "
msgstr "Hoppa-över-trasiga tog %i rundor "
-#: ../yum/__init__.py:785
+#: ../yum/__init__.py:825
msgid ""
"\n"
"Packages skipped because of dependency problems:"
-msgstr "\nPaket hoppades över på grund av beroendeproblem:"
+msgstr ""
+"\n"
+"Paket hoppades över på grund av beroendeproblem:"
-#: ../yum/__init__.py:789
+#: ../yum/__init__.py:829
#, python-format
msgid " %s from %s"
msgstr " %s från %s"
-#: ../yum/__init__.py:933
+#: ../yum/__init__.py:968
msgid ""
"Warning: scriptlet or other non-fatal errors occurred during transaction."
-msgstr "Varning: skript- eller annat icke ödesdigert fel inträffade under transaktionen."
+msgstr ""
+"Varning: skript- eller annat icke ödesdigert fel inträffade under "
+"transaktionen."
-#: ../yum/__init__.py:948
+#: ../yum/__init__.py:983
#, python-format
msgid "Failed to remove transaction file %s"
msgstr "Kunde inte ta bort transaktionsfilen %s"
-#: ../yum/__init__.py:989
+#: ../yum/__init__.py:1025
#, python-format
msgid "excluding for cost: %s from %s"
msgstr "utesluter på grund av kostnad: %s från %s"
-#: ../yum/__init__.py:1020
+#: ../yum/__init__.py:1056
msgid "Excluding Packages in global exclude list"
msgstr "Utesluter paket i global uteslutningslista"
-#: ../yum/__init__.py:1022
+#: ../yum/__init__.py:1058
#, python-format
msgid "Excluding Packages from %s"
msgstr "Utesluter paket från %s"
-#: ../yum/__init__.py:1049
+#: ../yum/__init__.py:1085
#, python-format
msgid "Reducing %s to included packages only"
msgstr "Reducerar %s till endast inkluderade paket"
-#: ../yum/__init__.py:1055
+#: ../yum/__init__.py:1091
#, python-format
msgid "Keeping included package %s"
msgstr "Behåller inkluderat paket %s"
-#: ../yum/__init__.py:1061
+#: ../yum/__init__.py:1097
#, python-format
msgid "Removing unmatched package %s"
msgstr "Tar bort ej matchat paket %s"
-#: ../yum/__init__.py:1064
+#: ../yum/__init__.py:1100
msgid "Finished"
msgstr "Klar"
#. Whoa. What the heck happened?
-#: ../yum/__init__.py:1094
+#: ../yum/__init__.py:1130
#, python-format
msgid "Unable to check if PID %s is active"
msgstr "Kan inte kontrollera om PID %s är aktiv"
#. Another copy seems to be running.
-#: ../yum/__init__.py:1098
+#: ../yum/__init__.py:1134
#, python-format
msgid "Existing lock %s: another copy is running as pid %s."
msgstr "Existerande lås %s: en annan kopia kör som pid %s."
-#: ../yum/__init__.py:1165
+#: ../yum/__init__.py:1204
msgid "Package does not match intended download"
msgstr "Paketet matchar inte avsedd det avsett att laddas ner"
-#: ../yum/__init__.py:1180
+#: ../yum/__init__.py:1219
msgid "Could not perform checksum"
msgstr "Kunde inte utföra kontrollsummering"
-#: ../yum/__init__.py:1183
+#: ../yum/__init__.py:1222
msgid "Package does not match checksum"
msgstr "Paketet stämmer inte med kontrollsumman"
-#: ../yum/__init__.py:1226
+#: ../yum/__init__.py:1265
#, python-format
msgid "package fails checksum but caching is enabled for %s"
msgstr "paketet misslyckas med kontrollsumman men cachning är aktiverat för %s"
-#: ../yum/__init__.py:1229 ../yum/__init__.py:1258
+#: ../yum/__init__.py:1268 ../yum/__init__.py:1297
#, python-format
msgid "using local copy of %s"
msgstr "använder lokal kopia av %s"
-#: ../yum/__init__.py:1270
+#: ../yum/__init__.py:1309
#, python-format
msgid ""
"Insufficient space in download directory %s\n"
@@ -1716,421 +1780,430 @@ msgstr ""
" * fritt %s\n"
" * behovet %s"
-#: ../yum/__init__.py:1317
+#: ../yum/__init__.py:1356
msgid "Header is not complete."
msgstr "Huvudet är inte komplett."
-#: ../yum/__init__.py:1354
+#: ../yum/__init__.py:1393
#, python-format
msgid ""
"Header not in local cache and caching-only mode enabled. Cannot download %s"
-msgstr "Huvudet finns inte i den lokala cachen och endast-cache-läget är aktiverat. Kan inte hämta %s"
+msgstr ""
+"Huvudet finns inte i den lokala cachen och endast-cache-läget är aktiverat. "
+"Kan inte hämta %s"
-#: ../yum/__init__.py:1409
+#: ../yum/__init__.py:1448
#, python-format
msgid "Public key for %s is not installed"
msgstr "Den publika nyckeln för %s är inte installerad"
-#: ../yum/__init__.py:1413
+#: ../yum/__init__.py:1452
#, python-format
msgid "Problem opening package %s"
msgstr "Problem att öppna paketet %s"
-#: ../yum/__init__.py:1421
+#: ../yum/__init__.py:1460
#, python-format
msgid "Public key for %s is not trusted"
msgstr "Den publika nyckeln för %s är inte betrodd"
-#: ../yum/__init__.py:1425
+#: ../yum/__init__.py:1464
#, python-format
msgid "Package %s is not signed"
msgstr "Paket %s är inte signerat"
-#: ../yum/__init__.py:1463
+#: ../yum/__init__.py:1502
#, python-format
msgid "Cannot remove %s"
msgstr "Det går inte att ta bort %s"
-#: ../yum/__init__.py:1467
+#: ../yum/__init__.py:1505
#, python-format
msgid "%s removed"
msgstr "%s borttaget"
# Första %s blir ett oöversatt engelskt ord.
# Felrapporterat: http://yum.baseurl.org/ticket/41
-#: ../yum/__init__.py:1504
+#: ../yum/__init__.py:1541
#, python-format
msgid "Cannot remove %s file %s"
msgstr "Det går inte att ta bort %s-filen %s"
-#: ../yum/__init__.py:1508
+#: ../yum/__init__.py:1544
#, python-format
msgid "%s file %s removed"
msgstr "%s-filen %s borttagen"
-#: ../yum/__init__.py:1510
+#: ../yum/__init__.py:1546
#, python-format
msgid "%d %s files removed"
msgstr "%d %s-filer borttagna"
-#: ../yum/__init__.py:1579
+#: ../yum/__init__.py:1614
#, python-format
msgid "More than one identical match in sack for %s"
msgstr "Mer än en identisk matchning i säcken för %s"
-#: ../yum/__init__.py:1585
+#: ../yum/__init__.py:1619
#, python-format
msgid "Nothing matches %s.%s %s:%s-%s from update"
msgstr "Ingenting matchar %s.%s %s:%s-%s från uppdateringarna"
-#: ../yum/__init__.py:1803
+#: ../yum/__init__.py:1838
msgid ""
"searchPackages() will go away in a future version of "
"Yum. Use searchGenerator() instead. \n"
-msgstr "searchPackages() kommer att försvinna i en framtida version av Yum. Använd searchGenerator() istället. \n"
+msgstr ""
+"searchPackages() kommer att försvinna i en framtida version av "
+"Yum. Använd searchGenerator() istället. \n"
-#: ../yum/__init__.py:1841
+#: ../yum/__init__.py:1876
#, python-format
msgid "Searching %d packages"
msgstr "Söker i %d paket"
-#: ../yum/__init__.py:1845
+#: ../yum/__init__.py:1879
#, python-format
msgid "searching package %s"
msgstr "söker i paketet %s"
-#: ../yum/__init__.py:1857
+#: ../yum/__init__.py:1890
msgid "searching in file entries"
msgstr "söker i filposter"
-#: ../yum/__init__.py:1864
+#: ../yum/__init__.py:1896
msgid "searching in provides entries"
msgstr "söker i tillhandahållandeposter"
-#: ../yum/__init__.py:1897
+#: ../yum/__init__.py:1929
#, python-format
msgid "Provides-match: %s"
msgstr "Tillhandahållandematchning: %s"
-#: ../yum/__init__.py:1946
+#: ../yum/__init__.py:1978
msgid "No group data available for configured repositories"
msgstr "Inga gruppdata är tillgängliga för de konfigurerade förråden"
-#: ../yum/__init__.py:1977 ../yum/__init__.py:1996 ../yum/__init__.py:2027
-#: ../yum/__init__.py:2033 ../yum/__init__.py:2106 ../yum/__init__.py:2110
+#: ../yum/__init__.py:2009 ../yum/__init__.py:2028 ../yum/__init__.py:2058
+#: ../yum/__init__.py:2064 ../yum/__init__.py:2143 ../yum/__init__.py:2147
#, python-format
msgid "No Group named %s exists"
msgstr "Det finns ingen grupp med namnet %s"
-#: ../yum/__init__.py:2008 ../yum/__init__.py:2123
+#: ../yum/__init__.py:2039 ../yum/__init__.py:2159
#, python-format
msgid "package %s was not marked in group %s"
msgstr "paket %s noterades inte i gruppen %s"
-#: ../yum/__init__.py:2055
+#: ../yum/__init__.py:2085
#, python-format
msgid "Adding package %s from group %s"
msgstr "Lägger till paket %s från grupp %s"
-#: ../yum/__init__.py:2059
+#: ../yum/__init__.py:2090
#, python-format
msgid "No package named %s available to be installed"
msgstr "Inget paket med namnet %s är tillgängligt för installation"
-#: ../yum/__init__.py:2148
+#: ../yum/__init__.py:2186
#, python-format
msgid "Package tuple %s could not be found in packagesack"
msgstr "Pakettupel %s fanns inte i paketsäcken"
-#: ../yum/__init__.py:2163
+#: ../yum/__init__.py:2201
msgid ""
"getInstalledPackageObject() will go away, use self.rpmdb.searchPkgTuple().\n"
-msgstr "getInstalledPackageObject() kommer att försvinna, använd self.rpmdb.searchPkgTuple().\n"
-
-#: ../yum/__init__.py:2215 ../yum/__init__.py:2258
-msgid "Invalid versioned dependency string, try quoting it."
-msgstr "Ogiltig versionsberoendesträng, försök att citera den."
+msgstr ""
+"getInstalledPackageObject() kommer att försvinna, använd self.rpmdb."
+"searchPkgTuple().\n"
-#: ../yum/__init__.py:2217 ../yum/__init__.py:2260
+#: ../yum/__init__.py:2253 ../yum/__init__.py:2294
msgid "Invalid version flag"
msgstr "Ogiltig versionsflagga"
-#: ../yum/__init__.py:2232 ../yum/__init__.py:2236
+#: ../yum/__init__.py:2268 ../yum/__init__.py:2272
#, python-format
msgid "No Package found for %s"
msgstr "Inga paket hittades för %s"
-#: ../yum/__init__.py:2415
+#: ../yum/__init__.py:2449
msgid "Package Object was not a package object instance"
msgstr "Paketobjektet var inte en paketobjektinstans"
-#: ../yum/__init__.py:2419
+#: ../yum/__init__.py:2453
msgid "Nothing specified to install"
msgstr "Inget angivet att installeras"
-#. only one in there
-#: ../yum/__init__.py:2437
+#: ../yum/__init__.py:2469
#, python-format
msgid "Checking for virtual provide or file-provide for %s"
-msgstr "Kontrollerar virtuella tillhandahållanden eller filtillhandahållanden för %s"
+msgstr ""
+"Kontrollerar virtuella tillhandahållanden eller filtillhandahållanden för %s"
-#: ../yum/__init__.py:2443 ../yum/__init__.py:2691 ../yum/__init__.py:2861
+#: ../yum/__init__.py:2475 ../yum/__init__.py:2740 ../yum/__init__.py:2900
#, python-format
msgid "No Match for argument: %s"
msgstr "Ingen matchning för argument: %s"
-#: ../yum/__init__.py:2509
+#: ../yum/__init__.py:2548
#, python-format
msgid "Package %s installed and not available"
msgstr "Paket %s installerat och inte tillgänligt"
-#: ../yum/__init__.py:2512
+#: ../yum/__init__.py:2551
msgid "No package(s) available to install"
msgstr "Inga paket tillgängliga att installera"
-#: ../yum/__init__.py:2524
+#: ../yum/__init__.py:2564
#, python-format
msgid "Package: %s - already in transaction set"
msgstr "Paket: %s - redan i transaktionsmängden"
-#: ../yum/__init__.py:2539
+#: ../yum/__init__.py:2580
#, python-format
msgid "Package %s is obsoleted by %s, trying to install %s instead"
msgstr "Paket %s fasas ut av %s, försöker installera %s istället"
-#: ../yum/__init__.py:2547
+#: ../yum/__init__.py:2588
#, python-format
msgid "Package %s already installed and latest version"
msgstr "Paket %s är redan installerast och senaste version"
-#: ../yum/__init__.py:2554
+#: ../yum/__init__.py:2595
#, python-format
msgid "Package matching %s already installed. Checking for update."
msgstr "Paket som matchar %s är redan installerat. Letar efter uppdatering."
#. update everything (the easy case)
-#: ../yum/__init__.py:2635
+#: ../yum/__init__.py:2675
msgid "Updating Everything"
msgstr "Uppdaterar allt"
-#: ../yum/__init__.py:2653 ../yum/__init__.py:2763 ../yum/__init__.py:2784
-#: ../yum/__init__.py:2810
+#: ../yum/__init__.py:2693 ../yum/__init__.py:2802 ../yum/__init__.py:2823
+#: ../yum/__init__.py:2849
#, python-format
msgid "Not Updating Package that is already obsoleted: %s.%s %s:%s-%s"
msgstr "Uppdaterar inte paket som redan är utfasade: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2688 ../yum/__init__.py:2858
+#: ../yum/__init__.py:2728 ../yum/__init__.py:2897
#, python-format
msgid "%s"
msgstr "%s"
-#: ../yum/__init__.py:2754
+#: ../yum/__init__.py:2793
#, python-format
msgid "Package is already obsoleted: %s.%s %s:%s-%s"
msgstr "Paketet är redan utfasat: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2787 ../yum/__init__.py:2813
+#: ../yum/__init__.py:2826 ../yum/__init__.py:2852
#, python-format
msgid "Not Updating Package that is already updated: %s.%s %s:%s-%s"
msgstr "Uppdaterar inte paket som redan är uppdaterat: %s.%s %s:%s-%s"
-#: ../yum/__init__.py:2874
+#: ../yum/__init__.py:2913
msgid "No package matched to remove"
msgstr "Inget paket matchar att tas bort"
-#: ../yum/__init__.py:2908
+#: ../yum/__init__.py:2947
#, python-format
msgid "Cannot open file: %s. Skipping."
msgstr "Det går inte att öppna filen: %s. Hoppar över."
-#: ../yum/__init__.py:2911
+#: ../yum/__init__.py:2949
#, python-format
msgid "Examining %s: %s"
msgstr "Undersöker %s: %s"
-#: ../yum/__init__.py:2919
+#: ../yum/__init__.py:2957
#, python-format
msgid "Cannot add package %s to transaction. Not a compatible architecture: %s"
-msgstr "Kan inte lägga till paket %s till transaktionen. Inte en kompatibel arkitektur: %s"
+msgstr ""
+"Kan inte lägga till paket %s till transaktionen. Inte en kompatibel "
+"arkitektur: %s"
-#: ../yum/__init__.py:2927
+#: ../yum/__init__.py:2965
#, python-format
msgid ""
"Package %s not installed, cannot update it. Run yum install to install it "
"instead."
-msgstr "Paket %s är inte installerat, kan inte uppdatera det. Kör yum install för att installera det istället."
+msgstr ""
+"Paket %s är inte installerat, kan inte uppdatera det. Kör yum install för "
+"att installera det istället."
-#: ../yum/__init__.py:2960
+#: ../yum/__init__.py:2998
#, python-format
msgid "Excluding %s"
msgstr "Utesluter %s"
-#: ../yum/__init__.py:2965
+#: ../yum/__init__.py:3002
#, python-format
msgid "Marking %s to be installed"
msgstr "Noterar %s för installation"
-#: ../yum/__init__.py:2971
+#: ../yum/__init__.py:3007
#, python-format
msgid "Marking %s as an update to %s"
msgstr "Noterar %s som en uppdatering av %s"
-#: ../yum/__init__.py:2978
+#: ../yum/__init__.py:3012
#, python-format
msgid "%s: does not update installed package."
msgstr "%s: uppdaterar inte ett installerat paket."
-#: ../yum/__init__.py:2996
+#: ../yum/__init__.py:3029
msgid "Problem in reinstall: no package matched to remove"
msgstr "Problem att ominstallera: inget paket matchades att tas bort"
-#: ../yum/__init__.py:3007
+#: ../yum/__init__.py:3040
#, python-format
msgid "Package %s is allowed multiple installs, skipping"
msgstr "Paket %s tillåts multipla installationer, hoppar över"
-#: ../yum/__init__.py:3014
+#: ../yum/__init__.py:3050
msgid "Problem in reinstall: no package matched to install"
msgstr "Problem att ominstallera: inget paket matchades att installeras"
-#: ../yum/__init__.py:3049
+#: ../yum/__init__.py:3085
#, python-format
msgid "Retrieving GPG key from %s"
msgstr "Hämtar GPG-nyckel från %s"
-#: ../yum/__init__.py:3069
+#: ../yum/__init__.py:3105
msgid "GPG key retrieval failed: "
msgstr "Hämtandet av GPG-nyckeln misslyckades: "
-#: ../yum/__init__.py:3080
+#: ../yum/__init__.py:3116
#, python-format
msgid "GPG key parsing failed: key does not have value %s"
msgstr "GPG-nyckeltolkning misslyckades: nyckeln har inte värde %s"
-#: ../yum/__init__.py:3112
+#: ../yum/__init__.py:3148
#, python-format
msgid "GPG key at %s (0x%s) is already installed"
msgstr "GPG-nyckel vid %s (0x%s) är redan installerad"
#. Try installing/updating GPG key
-#: ../yum/__init__.py:3117 ../yum/__init__.py:3179
+#: ../yum/__init__.py:3153 ../yum/__init__.py:3214
#, python-format
msgid "Importing GPG key 0x%s \"%s\" from %s"
msgstr "Importerar GPG-nyckel 0x%s \"%s\" från %s"
-#: ../yum/__init__.py:3134
+#: ../yum/__init__.py:3169
msgid "Not installing key"
msgstr "Installerar inte nyckeln"
-#: ../yum/__init__.py:3140
+#: ../yum/__init__.py:3175
#, python-format
msgid "Key import failed (code %d)"
msgstr "Nyckelimport misslyckades (kod %d)"
-#: ../yum/__init__.py:3141 ../yum/__init__.py:3200
+#: ../yum/__init__.py:3176 ../yum/__init__.py:3236
msgid "Key imported successfully"
msgstr "Nyckelimport lyckades"
-#: ../yum/__init__.py:3146 ../yum/__init__.py:3205
+#: ../yum/__init__.py:3181 ../yum/__init__.py:3241
#, python-format
msgid ""
"The GPG keys listed for the \"%s\" repository are already installed but they "
"are not correct for this package.\n"
"Check that the correct key URLs are configured for this repository."
msgstr ""
-"GPG-nycklarna uppräknade för förrådet \"%s\" är redan installerade men de är inte korrekta för detta paket.\n"
+"GPG-nycklarna uppräknade för förrådet \"%s\" är redan installerade men de är "
+"inte korrekta för detta paket.\n"
"Kontrollera att de rätta nyckel-URL:erna är konfigurerade för detta förråd."
-#: ../yum/__init__.py:3155
+#: ../yum/__init__.py:3190
msgid "Import of key(s) didn't help, wrong key(s)?"
msgstr "Import av nycklar hjälpte inte, fel nycklar?"
-#: ../yum/__init__.py:3174
+#: ../yum/__init__.py:3209
#, python-format
msgid "GPG key at %s (0x%s) is already imported"
msgstr "GPG-nyckel vid %s (0x%s) är redan importerad"
-#: ../yum/__init__.py:3194
+#: ../yum/__init__.py:3228
#, python-format
msgid "Not installing key for repo %s"
msgstr "Installerar inte nyckel för förråd %s"
-#: ../yum/__init__.py:3199
+#: ../yum/__init__.py:3235
msgid "Key import failed"
msgstr "Nyckelimport misslyckades"
-#: ../yum/__init__.py:3290
+#: ../yum/__init__.py:3325
msgid "Unable to find a suitable mirror."
msgstr "Kan inte hitta en lämplig spegel."
-#: ../yum/__init__.py:3292
+#: ../yum/__init__.py:3327
msgid "Errors were encountered while downloading packages."
msgstr "Fel uppstod när paket hämtades."
-#: ../yum/__init__.py:3333
+#: ../yum/__init__.py:3367
#, python-format
msgid "Please report this error at %s"
msgstr "Rapportera gärna detta fel till %s"
-#: ../yum/__init__.py:3357
+#: ../yum/__init__.py:3391
msgid "Test Transaction Errors: "
msgstr "Transaktionstestfel: "
#. Mostly copied from YumOutput._outKeyValFill()
-#: ../yum/plugins.py:201
+#: ../yum/plugins.py:204
msgid "Loaded plugins: "
msgstr "Inlästa insticksmoduler: "
-#: ../yum/plugins.py:215 ../yum/plugins.py:221
+#: ../yum/plugins.py:218 ../yum/plugins.py:224
#, python-format
msgid "No plugin match for: %s"
msgstr "Ingen insticksmodul matchar: %s"
-#: ../yum/plugins.py:251
+#: ../yum/plugins.py:254
#, python-format
-msgid "\"%s\" plugin is disabled"
-msgstr "Insticksmodulen \"%s\" avaktiverad"
+msgid "Not loading \"%s\" plugin, as it is disabled"
+msgstr "Läser inte in insticksmodulen \"%s\" eftersom den är inaktiverad"
#. Give full backtrace:
-#: ../yum/plugins.py:263
+#: ../yum/plugins.py:266
#, python-format
msgid "Plugin \"%s\" can't be imported"
msgstr "Insticksmodulen \"%s\" kan inte importeras"
-#: ../yum/plugins.py:270
+#: ../yum/plugins.py:273
#, python-format
msgid "Plugin \"%s\" doesn't specify required API version"
msgstr "Insticksmodulen \"%s\" specificerare inte nödvändig API-version"
-#: ../yum/plugins.py:275
+#: ../yum/plugins.py:278
#, python-format
msgid "Plugin \"%s\" requires API %s. Supported API is %s."
msgstr "Insticksmodulen \"%s\" kräver API %s. API:er som stöds är %s."
-#: ../yum/plugins.py:308
+#: ../yum/plugins.py:311
#, python-format
msgid "Loading \"%s\" plugin"
msgstr "Läser in insticksmodulen \"%s\""
-#: ../yum/plugins.py:315
+#: ../yum/plugins.py:318
#, python-format
msgid ""
"Two or more plugins with the name \"%s\" exist in the plugin search path"
-msgstr "Två eller flera insticksmoduler med namnet \"%s\" finns i sökvägen för insticksmoduler"
+msgstr ""
+"Två eller flera insticksmoduler med namnet \"%s\" finns i sökvägen för "
+"insticksmoduler"
-#: ../yum/plugins.py:335
+#: ../yum/plugins.py:338
#, python-format
msgid "Configuration file %s not found"
msgstr "Konfigurationsfilen %s finns inte"
#. for
#. Configuration files for the plugin not found
-#: ../yum/plugins.py:338
+#: ../yum/plugins.py:341
#, python-format
msgid "Unable to find configuration file for plugin %s"
msgstr "Kan inte hitta konfigurationsfil för insticksmodulen %s"
-#: ../yum/plugins.py:492
+#: ../yum/plugins.py:495
msgid "registration of commands not supported"
msgstr "registrering av kommandon stöds inte"
@@ -2150,7 +2223,8 @@ msgstr "RPM %s misslyckas med md5-kontroll"
#: ../rpmUtils/oldUtils.py:144
msgid "Could not open RPM database for reading. Perhaps it is already in use?"
-msgstr "Det gick inte att öppna RPM-databasen för läsning. Kanske den redan används?"
+msgstr ""
+"Det gick inte att öppna RPM-databasen för läsning. Kanske den redan används?"
#: ../rpmUtils/oldUtils.py:174
msgid "Got an empty Header, something has gone wrong"
diff --git a/rpmUtils/arch.py b/rpmUtils/arch.py
index e88cbde..d22782b 100644
--- a/rpmUtils/arch.py
+++ b/rpmUtils/arch.py
@@ -291,7 +291,7 @@ def getCanonX86_64Arch(arch):
if vendor is None:
return arch
- if vendor.find("Authentic AMD") != -1:
+ if vendor.find("Authentic AMD") != -1 or vendor.find("AuthenticAMD") != -1:
return "amd64"
if vendor.find("GenuineIntel") != -1:
return "ia32e"
@@ -380,3 +380,41 @@ def getBaseArch(myarch=None):
return basearch
+
+class ArchStorage(object):
+ """class for keeping track of what arch we have set and doing various
+ permutations based on it"""
+ def __init__(self):
+ self.canonarch = None
+ self.basearch = None
+ self.bestarch = None
+ self.compatarches = []
+ self.archlist = []
+ self.multilib = False
+ self.setup_arch()
+
+ def setup_arch(self, arch=None):
+ if arch:
+ self.canonarch = arch
+ else:
+ self.canonarch = getCanonArch()
+
+ self.basearch = getBaseArch(myarch=self.canonarch)
+ self.archlist = getArchList(thisarch=self.canonarch)
+ self.bestarch = getBestArch(myarch=self.canonarch)
+ self.compatarches = getMultiArchInfo(arch=self.canonarch)
+ self.multilib = isMultiLibArch(arch=self.canonarch)
+ self.legit_multi_arches = legitMultiArchesInSameLib(arch = self.canonarch)
+
+ def get_best_arch_from_list(self, archlist, fromarch=None):
+ if not fromarch:
+ fromarch = self.canonarch
+ return getBestArchFromList(archlist, myarch=fromarch)
+
+ def score(self, arch):
+ return archDifference(self.canonarch, arch)
+
+ def get_arch_list(self, arch):
+ if not arch:
+ return self.archlist
+ return getArchList(thisarch=arch)
diff --git a/rpmUtils/miscutils.py b/rpmUtils/miscutils.py
index 0e04194..a925027 100644
--- a/rpmUtils/miscutils.py
+++ b/rpmUtils/miscutils.py
@@ -146,7 +146,8 @@ def rangeCompare(reqtuple, provtuple):
if reqn != n:
return 0
- if f is None or reqf is None:
+ # unversioned satisfies everything
+ if not f or not reqf:
return 1
# and you thought we were done having fun
@@ -172,8 +173,12 @@ def rangeCompare(reqtuple, provtuple):
if reqf in ['GT', 'GE', 4, 12]:
return 1
if reqf in ['EQ', 8]:
- if f in ['LE', 10]:
+ if f in ['LE', 10, 'LT', 2]:
+ return 1
+ if reqf in ['LE', 'LT', 'EQ', 10, 2, 8]:
+ if f in ['LE', 'LT', 10, 2]:
return 1
+
if rc == 0:
if reqf in ['GT', 4]:
if f in ['GT', 'GE', 4, 12]:
@@ -409,7 +414,7 @@ def hdrFromPackage(ts, package):
raise rpmUtils.RpmUtilsError, "RPM Error opening Package"
if type(hdr) != rpm.hdr:
os.close(fdno)
- raise rpmUtils.RpmUtilsError, "RPM Error opening Package"
+ raise rpmUtils.RpmUtilsError, "RPM Error opening Package (type)"
os.close(fdno)
return hdr
diff --git a/rpmUtils/updates.py b/rpmUtils/updates.py
index 0e697bc..f2d43f8 100644
--- a/rpmUtils/updates.py
+++ b/rpmUtils/updates.py
@@ -48,10 +48,15 @@ class Updates:
self.myarch = rpmUtils.arch.canonArch # set this if you want to
# test on some other arch
# otherwise leave it alone
+ self._is_multilib = rpmUtils.arch.isMultiLibArch(self.myarch)
+ self._archlist = rpmUtils.arch.getArchList(self.myarch)
+
+ self._multilib_compat_arches = rpmUtils.arch.getMultiArchInfo(self.myarch)
+
# make some dicts from installed and available
self.installdict = self.makeNADict(self.installed, 1)
- self.availdict = self.makeNADict(self.available, 1)
+ self.availdict = self.makeNADict(self.available, 0) # Done in doUpdate
# holder for our updates dict
self.updatesdict = {}
@@ -288,19 +293,10 @@ class Updates:
# make the new ones a list b/c while we _shouldn't_
# have multiple updaters, we might and well, it needs
# to be solved one way or the other <sigh>
- newpkgs = []
newpkgs = self.availdict
- archlist = rpmUtils.arch.getArchList(self.myarch)
+ archlist = self._archlist
for (n, a) in newpkgs.keys():
- # remove stuff not in our archdict
- # high log here
- if a is None:
- for (arch, e,v,r) in newpkgs[(n, a)]:
- if arch not in archlist:
- newpkgs[(n, a)].remove((arch, e,v,r))
- continue
-
if a not in archlist:
# high log here
del newpkgs[(n, a)]
@@ -309,19 +305,12 @@ class Updates:
# remove the older stuff - if we're doing an update we only want the
# newest evrs
for (n, a) in newpkgs:
- if a is None:
- continue
-
(new_e,new_v,new_r) = self.returnNewest(newpkgs[(n, a)])
- for (e, v, r) in newpkgs[(n, a)]:
+ for (e, v, r) in newpkgs[(n, a)][:]:
if (new_e, new_v, new_r) != (e, v, r):
newpkgs[(n, a)].remove((e, v, r))
-
for (n, a) in newpkgs:
- if a is None: # the None archs are only for lookups
- continue
-
# simple ones - look for exact matches or older stuff
if self.installdict.has_key((n, a)):
for (rpm_e, rpm_v, rpm_r) in self.installdict[(n, a)]:
@@ -337,6 +326,11 @@ class Updates:
except ValueError:
pass
+ # Now we add the (n, None) entries back...
+ for na in newpkgs.keys():
+ all_arches = map(lambda x: (na[1], x[0], x[1], x[2]), newpkgs[na])
+ newpkgs.setdefault((na[0], None), []).extend(all_arches)
+
# get rid of all the empty dict entries:
for nakey in newpkgs.keys():
if len(newpkgs[nakey]) == 0:
@@ -408,14 +402,14 @@ class Updates:
# however, we do want to descend x86_64->noarch, sadly.
archlists = []
- if rpmUtils.arch.isMultiLibArch(arch=self.myarch):
+ if self._is_multilib:
if rpmUtils.arch.multilibArches.has_key(self.myarch):
biarches = [self.myarch]
else:
biarches = [self.myarch, rpmUtils.arch.arches[self.myarch]]
biarches.append('noarch')
- multicompat = rpmUtils.arch.getMultiArchInfo(self.myarch)[0]
+ multicompat = self._multilib_compat_arches[0]
multiarchlist = rpmUtils.arch.getArchList(multicompat)
archlists = [ set(biarches), set(multiarchlist) ]
# archlists = [ biarches, multiarchlist ]
diff --git a/shell.py b/shell.py
index 2ac5c59..f1c82a3 100644
--- a/shell.py
+++ b/shell.py
@@ -86,13 +86,17 @@ class YumShell(cmd.Cmd):
else:
(cmd, args, line) = self.parseline(line)
if cmd not in self.commandlist:
- self.do_help('')
- return False
+ xargs = [cmd]
+ self.base.plugins.run('args', args=xargs)
+ if xargs[0] == cmd:
+ self.do_help('')
+ return False
if cmd == 'shell':
return
self.base.cmdstring = line
self.base.cmdstring = self.base.cmdstring.replace('\n', '')
self.base.cmds = self._shlex_split(self.base.cmdstring)
+ self.base.plugins.run('args', args=self.base.cmds)
try:
self.base.parseCommands()
diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index e6c4619..02bbf8f 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -329,10 +329,7 @@ class DepsolveTests(DepsolveTests):
self.xsack.addPackage(xpo64)
self.assertEquals('ok', *self.resolveCode())
- if self.canonArch == 'x86_64':
- self.assertResult((po, xpo64))
- else:
- self.assertResult((po, xpo))
+ self.assertResult((po, xpo64))
def testUpdateSinglePackage(self):
ipo = FakePackage('zsh', '1', '1', None, 'i386')
@@ -648,11 +645,6 @@ class DepsolveTests(DepsolveTests):
def testCompareProvidersSameLen2_noarch_to_64_1(self):
# Make sure they are still ok, the other way around
- myarch = self.canonArch
-
- if myarch not in ('i386', 'x86_64'):
- return
-
po = FakePackage('abcd', arch='noarch')
po.addRequires('libxyz-1.so.0', None, (None, None, None))
@@ -666,20 +658,12 @@ class DepsolveTests(DepsolveTests):
self.xsack.addPackage(po1)
self.assertEquals('ok', *self.resolveCode())
- if myarch == 'i386':
- self.assertResult((po, po2))
-
- if myarch == 'x86_64':
- self.assertResult((po, po1))
+ self.assertResult((po, po1))
def testCompareProvidersSameLen2_noarch_to_64_2(self):
# Make sure they are still ok, the other way around
- myarch = self.canonArch
- if myarch not in ('i386', 'x86_64'):
- return
-
po = FakePackage('abcd', arch='noarch')
po.addRequires('libxyz-1.so.0', None, (None, None, None))
self.tsInfo.addInstall(po)
@@ -692,10 +676,7 @@ class DepsolveTests(DepsolveTests):
self.xsack.addPackage(po1)
self.assertEquals('ok', *self.resolveCode())
- if myarch == 'x86_64':
- self.assertResult((po, po2))
- if myarch == 'i386':
- self.assertResult((po, po1))
+ self.assertResult((po, po2))
def testCompareProvidersDiffLen_64(self):
@@ -1196,3 +1177,23 @@ class DepsolveTests(DepsolveTests):
self.assertEquals('ok', *self.resolveCode())
self.assertResult((ipo1, apo3))
+
+ def testCompareProvidersNoarchWithHigherVer_to_64(self):
+
+ po = FakePackage('abcd', arch='x86_64')
+ po.addRequires('libxyz-1.so.0', None, (None, None, None))
+ self.tsInfo.addInstall(po)
+
+ po3 = FakePackage('libbar', version='1.1', arch='x86_64')
+ po3.addProvides('libxyz-1.so.0', None,(None,None,None))
+ self.xsack.addPackage(po3)
+ po2 = FakePackage('libbar', version='1.2', arch='noarch')
+ po2.addProvides('libxyz-1.so.0', None,(None,None,None))
+ self.xsack.addPackage(po2)
+ po1 = FakePackage('libbar', version='1.1', arch='i386')
+ po1.addProvides('libxyz-1.so.0', None,(None,None,None))
+ self.xsack.addPackage(po1)
+
+ self.assertEquals('ok', *self.resolveCode())
+ self.assertResult((po, po2))
+
diff --git a/test/misc-tests.py b/test/misc-tests.py
index 4709ce1..d6e49d8 100644
--- a/test/misc-tests.py
+++ b/test/misc-tests.py
@@ -94,6 +94,7 @@ class MiscTests(DepsolveTests):
def resolveCode(self,skip = False):
solver = YumBase()
solver.conf = FakeConf()
+ solver.arch.setup_arch('x86_64')
solver.conf.skip_broken = skip
solver.tsInfo = solver._tsInfo = self.tsInfo
solver.rpmdb = self.rpmdb
diff --git a/test/operationstests.py b/test/operationstests.py
index df52f9a..18f4b84 100644
--- a/test/operationstests.py
+++ b/test/operationstests.py
@@ -68,7 +68,7 @@ class ComplicatedObsoletesTests(OperationsTests):
p = self.pkgs
res, msg = self.runOperation(['update'], [p.installed], [p.obsoletes, p.obsoletes2])
self.assert_(res=='ok', msg)
- if new_behavior:
+ if True or new_behavior:
self.assertResult((p.obsoletes2,))
else:
self.assertResult((p.obsoletes,))
@@ -85,7 +85,7 @@ class ComplicatedObsoletesTests(OperationsTests):
if new_behavior:
self.assertResult((p.obsoletecircle,))
else:
- self.assertResult((p.obsoletes,))
+ self.assertResult((p.obsoletes2,))
def testObsoleteCircleNext(self):
p = self.pkgs
res, msg = self.runOperation(['update'], [p.obsoletes], [p.obsoletecircle, p.obsoletes, p.obsoletes2])
@@ -109,7 +109,7 @@ class ComplicatedObsoletesTests(OperationsTests):
if new_behavior:
self.assertResult((p.obsoletecircle,))
else:
- self.assertResult((p.obsoletes,))
+ self.assertResult((p.obsoletes2,))
# continue endlessly
class KernelTests(OperationsTests):
diff --git a/test/packagetests.py b/test/packagetests.py
index 628247d..e658cfa 100644
--- a/test/packagetests.py
+++ b/test/packagetests.py
@@ -184,9 +184,72 @@ class BuildPackageDictRefTests(unittest.TestCase):
self.assertEquals(0, len(unseen_keys))
+def _perms(evr): # Magic comp. sci. stuff ... oooh
+ e, v, r = evr
+ for num in range(8):
+ perm = []
+ if num & 1:
+ perm.append(e)
+ else:
+ perm.append(None)
+ if num & 2:
+ perm.append(v)
+ else:
+ perm.append(None)
+ if num & 4:
+ perm.append(r)
+ else:
+ perm.append(None)
+ yield tuple(perm)
+
class RangeCompareTests(unittest.TestCase):
def testRangeCompare(self):
+ def tst(requires, provides, result):
+ print requires, provides
+ self.assertEquals(miscutils.rangeCompare(requires, provides),result)
+ def tst_lege_prov(requires, provides, result):
+ if not result or provides[1] != 'EQ':
+ return
+ for flag in ('GE', 'LE'): # EQ is a subset of either LE or GE
+ nprovides = (provides[0], flag, provides[2])
+ tst(requires, nprovides, result)
+ def tst_lege_reqs(requires, provides, result):
+ tst_lege_prov(requires, provides, result)
+ if not result or requires[1] != 'EQ':
+ return
+ for flag in ('GE', 'LE'): # EQ is a subset of either LE or GE
+ nrequires = (requires[0], flag, requires[2])
+ tst(nrequires, provides, result)
+ tst_lege_prov(nrequires, provides, result)
+ def tst_none_reqs(requires, provides, result):
+ if (not result or requires[1] or provides[1] != 'EQ' or
+ requires[2] != (None, None, None)):
+ return
+ tst_lege_prov(requires, provides, result)
+ # Doesn't matter about versions
+ for flag in ('GE', 'EQ', 'LE'):
+ nrequires = (requires[0], flag, requires[2])
+ tst(nrequires, provides, result)
+ tst_lege_prov(nrequires, provides, result)
+ def tst_none_expand(requires, provides, result, *args):
+ if requires[2] != (None, None, None):
+ return
+ # Expand parts of the version, replacing with data from provides.
+ # Eg. (None, None, None) and ('1', '2', '3') becomes:
+ # (None, None, None)
+ # ('1', None, None)
+ # (None, '2', None)
+ # (None, None, '3')
+ # ('1', '2', None)
+ # ...
+ # ('1', '2', '3')
+
+ for evr in _perms(provides[2]):
+ nrequires = (requires[0], requires[1], evr)
+ for func in args:
+ func(nrequires, provides, result)
+
for requires, provides, result in (
(('foo', 'EQ', ('0', '1.4.4', '0')), ('foo', 'EQ', ('0', '1.4.4', '0')), 1),
(('foo', 'EQ', ('0', '1.4.4', '0')), ('foo', 'EQ', ('0', '1.4.4', None)), 1),
@@ -195,5 +258,25 @@ class RangeCompareTests(unittest.TestCase):
(('foo', 'GE', ('0', '1.4.4', '7.1')), ('foo', 'EQ', ('0', '1.4.4', '7')), 0),
(('foo', 'EQ', ('0', '1.4', None)), ('foo', 'EQ', ('0', '1.4.4', '7')), 0),
(('foo', 'GT', ('1', '1.4.4', None)), ('foo', 'EQ', ('3', '1.2.4', '7')), 1),
+ (('foo', None, (None, None, None)), ('foo', 'EQ', ('3', '1.2.4', '7')), 1),
+ (('fuu', None, (None, None, None)), ('foo', 'EQ', ('3', '1.2.4', '7')), 0),
+ (('foo', None, (None, None, None)), ('foo', 'GT', ('3', '1.2.4', '7')), 1),
+
+ (('foo', 'EQ', (None, None, None)), ('foo', 'GT', ('3', '1.2.4', '7')), 0),
+ (('foo', 'LT', (None, None, None)), ('foo', 'GT', ('3', '1.2.4', '7')), 0),
+ (('foo', 'LE', (None, None, None)), ('foo', 'GT', ('3', '1.2.4', '7')), 0),
+ (('foo', 'GE', (None, None, None)), ('foo', 'GT', ('3', '1.2.4', '7')), 1),
+ (('foo', 'GT', (None, None, None)), ('foo', 'GT', ('3', '1.2.4', '7')), 1),
+
+ (('foo', 'EQ', (None, None, None)), ('foo', 'LT', ('3', '1.2.4', '7')), 0),
+ (('foo', 'LT', (None, None, None)), ('foo', 'LT', ('3', '1.2.4', '7')), 1),
+ (('foo', 'LE', (None, None, None)), ('foo', 'LT', ('3', '1.2.4', '7')), 1),
+ (('foo', 'GE', (None, None, None)), ('foo', 'LT', ('3', '1.2.4', '7')), 0),
+ (('foo', 'GT', (None, None, None)), ('foo', 'LT', ('3', '1.2.4', '7')), 0),
):
- self.assertEquals(miscutils.rangeCompare(requires, provides), result)
+
+ tst(requires, provides, result)
+
+ tst_lege_reqs(requires, provides, result)
+ tst_none_expand(requires, provides, result,
+ tst, tst_lege_reqs, tst_none_reqs)
diff --git a/test/simpleobsoletestests.py b/test/simpleobsoletestests.py
index 4fdf67c..cf1821f 100644
--- a/test/simpleobsoletestests.py
+++ b/test/simpleobsoletestests.py
@@ -436,8 +436,142 @@ class SimpleObsoletesTests(OperationsTests):
res, msg = self.runOperation(['update'],
[rp1], [aop1, aop2])
self.assert_(res=='err', msg)
- # self.assertResult((aop1,aop2))
+ # FIXME: This is really what should happen, but just sucking works too
+ # self.assert_(res=='ok', msg)
+ # self.assertResult((aop1,))
+ def _helperRLDaplMess(self):
+ rp1 = FakePackage('dapl', '1.2.1', '7', arch='i386')
+ rp2 = FakePackage('dapl-devel', '1.2.1', '7', arch='i386')
+ rp2.addRequires('dapl', 'EQ', ('0', '1.2.1', '7'))
+
+ arp1 = FakePackage('dapl', '1.2.1.1', '7', arch='i386')
+ arp2 = FakePackage('dapl-devel', '1.2.1.1', '7', arch='i386')
+ arp2.addRequires('dapl', 'EQ', ('0', '1.2.1.1', '7'))
+ arp3 = FakePackage('dapl', '2.0.15', '1.el4', arch='i386')
+ arp4 = FakePackage('dapl-devel', '2.0.15', '1.el4', arch='i386')
+ arp4.addRequires('dapl', 'EQ', ('0', '2.0.15', '1.el4'))
+
+ aop1 = FakePackage('compat-dapl-1.2.5', '2.0.7', '2.el4', arch='i386')
+ aop1.addObsoletes('dapl', 'LE', (None, '1.2.1.1', None))
+ aop2 = FakePackage('compat-dapl-devel-1.2.5', '2.0.7', '2.el4',
+ arch='i386')
+ aop2.addObsoletes('dapl-devel', 'LE', (None, '1.2.1.1', None))
+ aop2.addRequires('dapl', 'EQ', ('0', '2.0.7', '2.el4'))
+
+ aoop1 = FakePackage('compat-dapl', '2.0.15', '1.el4', arch='i386')
+ aoop1.addObsoletes('dapl', 'LE', (None, '1.2.1.1', None))
+ aoop1.addObsoletes('compat-dapl-1.2.5', None, (None, None, None))
+ aoop2 = FakePackage('compat-dapl-devel', '2.0.15', '1.el4', arch='i386')
+ aoop2.addObsoletes('dapl-devel', 'LE', (None, '1.2.1.1', None))
+ aoop2.addObsoletes('compat-dapl-devel-1.2.5', None, (None, None, None))
+ aoop2.addRequires('compat-dapl', 'EQ', ('0', '2.0.15', '1.el4'))
+
+ return [rp1, rp2], [arp1, arp2, arp3, arp4,
+ aop1, aop2, aoop1, aoop2], [aoop1, aoop2], locals()
+
+ def testRLDaplMess1(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ def testRLDaplMess2(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update', 'dapl'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ def testRLDaplMess3(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update', 'dapl-devel'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ def testRLDaplMess4(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'compat-dapl'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ def testRLDaplMess5(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'compat-dapl-devel'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ def testRLDaplMess6(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'compat-dapl-1.2.5'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ def testRLDaplMess7(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'compat-dapl-devel-1.2.5'],
+ rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+
+ # Now we get a bit weird, as we have obsoletes fighting with updates
+ def testRLDaplMessWeirdInst1(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'dapl-1.2.1.1-7'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+ def testRLDaplMessWeirdInst2(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'dapl-2.0.15',
+ 'dapl-devel-2.0.15'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult((all['arp3'], all['arp4']))
+ def testRLDaplMessWeirdInst3(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['install', 'dapl-2.0.15'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ # This will almost certainly fail, but it's pretty weird:
+ self.assertResult((all['arp3'], all['aoop1'], all['aoop2']))
+ # FIXME: Optimally we'd get:
+ # self.assertResult((all['arp3'], all['arp4']))
+ def testRLDaplMessWeirdUp1(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update', 'dapl-1.2.1.1-7'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult(ret)
+ def testRLDaplMessWeirdUp2(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update', 'dapl-2.0.15',
+ 'dapl-devel-2.0.15'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ self.assertResult((all['arp3'], all['arp4']))
+ def testRLDaplMessWeirdUp3(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update', 'dapl-2.0.15'], rps, aps)
+
+ self.assert_(res=='ok', msg)
+ # This will almost certainly fail, but it's pretty weird:
+ self.assertResult((all['arp3'], all['aoop1'], all['aoop2']))
+ # FIXME: Optimally we'd get:
+ # self.assertResult((all['arp3'], all['arp4']))
+
+ def testRLDaplFixUpdateNotInstall(self):
+ rps, aps, ret, all = self._helperRLDaplMess()
+ res, msg = self.runOperation(['update', 'dapl-1.2.1*'], [], rps + aps)
+
+ # self.assert_(res=='err', msg)
+ self.assertResult([])
class GitMetapackageObsoletesTests(OperationsTests):
diff --git a/test/simpleupdatetests.py b/test/simpleupdatetests.py
index d52cc9d..f02cc75 100644
--- a/test/simpleupdatetests.py
+++ b/test/simpleupdatetests.py
@@ -100,18 +100,12 @@ class SimpleUpdateTests(OperationsTests):
p = self.pkgs
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_noarch], [p.update_x86_64, p.update_i386, p.requires_update])
self.assert_(res=='ok', msg)
- if self.canonArch == 'x86_64':
- self.assertResult((p.update_x86_64, p.requires_update))
- else:
- self.assertResult((p.update_i386, p.requires_update))
+ self.assertResult((p.update_x86_64, p.requires_update))
def testUpdatenoarchToMultilibForDependency(self):
p = self.pkgs
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_noarch], [p.update_i386, p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
- if self.canonArch == 'x86_64':
- self.assertResult((p.update_x86_64, p.requires_update))
- else:
- self.assertResult((p.update_i386, p.requires_update))
+ self.assertResult((p.update_x86_64, p.requires_update))
def testUpdatenoarchToMultilibForDependency2(self):
p = self.pkgs
res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_noarch],
@@ -683,3 +677,90 @@ class SimpleUpdateTests(OperationsTests):
[p11, pr12, py12])
self.assert_(res=='ok', msg)
self.assertResult((pi12,py12))
+
+ def testUpdateMultiArchConflict(self):
+ pi1 = FakePackage('A', '1', '1', '0', 'i386')
+ pi2 = FakePackage('B', '1', '1', '0', 'i386')
+ pi3 = FakePackage('B', '1', '1', '0', 'x86_64')
+
+ pa1 = FakePackage('A', '1', '2', '0', 'i386')
+ pa2 = FakePackage('B', '1', '2', '0', 'i386')
+ pa2.addConflicts('A', 'LE', ('0', '1', '1'))
+ pa3 = FakePackage('B', '1', '2', '0', 'x86_64')
+ pa3.addConflicts('A', 'LE', ('0', '1', '1'))
+
+ res, msg = self.runOperation(['update', 'B'],
+ [pi1, pi2, pi3],
+ [pa1, pa2, pa3])
+ self.assert_(res=='ok', msg)
+ self.assertResult((pa1, pa2, pa3))
+
+ # What I was trying to model here is a problem where the Fedora builders
+ # tried to install "ncurses-libs" and got a choice of:
+ # ncurses-libs-1.x86_64, ncurses-libs-1.i586, ncurses-libs-1.x86_64
+ # ...and the we should have picked one of the .x86_64 packages in
+ # _compare_providers(), but we picked the .i586 one.
+ # However that didn't happen, as the testcases "just worked".
+ # But from experimenting it was observed that if you just had one .x86_64
+ # and one .i586 then _compare_providers() got the right answer. So these
+ # testcases model that problem in _compare_providers(), kinda.
+ # Then we can fix that problem, which should also fix the original problem
+ # whatever the hell that was.
+ def testUpdateMultiAvailPkgs1(self):
+ pa1 = FakePackage('A', '1', '1', '0', 'x86_64')
+ pa1.addRequires('blah', 'EQ', ('0', '1', '1'))
+ pa2 = FakePackage('B', '1', '1', '0', 'i586')
+ pa2.addProvides('blah', 'EQ', ('0', '1', '1'))
+ pa3 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('one'))
+ pa3.addProvides('blah', 'EQ', ('0', '1', '1'))
+ pa4 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('two'))
+ pa4.addProvides('blah', 'EQ', ('0', '1', '1'))
+
+ res, msg = self.runOperation(['install', 'A'],
+ [],
+ [pa1, pa2, pa3, pa4])
+ self.assert_(res=='ok', msg)
+ self.assertResult((pa1, pa3))
+
+ def testUpdateMultiAvailPkgs2(self):
+ pa1 = FakePackage('A', '1', '1', '0', 'x86_64')
+ pa1.addRequires('blah', 'EQ', ('0', '1', '1'))
+ pa2 = FakePackage('B', '1', '1', '0', 'i586')
+ pa2.addProvides('blah', 'EQ', ('0', '1', '1'))
+ pa3 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('one'))
+ pa3.addProvides('blah', 'EQ', ('0', '1', '1'))
+ pa4 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('two'))
+ pa4.addProvides('blah', 'EQ', ('0', '1', '1'))
+
+ res, msg = self.runOperation(['install', 'A'],
+ [],
+ [pa1, pa2, pa4, pa3])
+ self.assert_(res=='ok', msg)
+ self.assertResult((pa1, pa3))
+
+ def testUpdateMultiAvailPkgs3(self):
+ pa1 = FakePackage('A', '1', '1', '0', 'x86_64')
+ pa1.addRequires('B', 'EQ', ('0', '1', '1'))
+ pa2 = FakePackage('B', '1', '1', '0', 'i386')
+ pa3 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('one'))
+ pa4 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('two'))
+
+ res, msg = self.runOperation(['install', 'A'],
+ [],
+ [pa1, pa2, pa3, pa4])
+ self.assert_(res=='ok', msg)
+ self.assertResult((pa1, pa3))
+
+
+ def testUpdateMultiAvailPkgs4(self):
+ pa1 = FakePackage('A', '1', '1', '0', 'x86_64')
+ pa1.addRequires('B', 'EQ', ('0', '1', '1'))
+ pa2 = FakePackage('B', '1', '1', '0', 'i386')
+ pa3 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('one'))
+ pa4 = FakePackage('B', '1', '1', '0', 'x86_64', repo=FakeRepo('two'))
+
+ res, msg = self.runOperation(['install', 'A'],
+ [],
+ [pa1, pa2, pa4, pa3])
+ self.assert_(res=='ok', msg)
+ self.assertResult((pa1, pa3))
diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
index d6f763c..db71a21 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -585,6 +585,7 @@ class SkipBrokenTests(DepsolveTests):
def resolveCode(self,skip = False):
solver = YumBase()
+ solver.arch.setup_arch('x86_64')
solver.conf = FakeConf()
solver.conf.skip_broken = skip
solver.tsInfo = solver._tsInfo = self.tsInfo
diff --git a/test/testbase.py b/test/testbase.py
index 9cab5f9..cadc28b 100644
--- a/test/testbase.py
+++ b/test/testbase.py
@@ -30,7 +30,7 @@ class FakeConf(object):
def __init__(self):
self.installonlypkgs = ['kernel']
self.exclude = []
- self.debuglevel = 0
+ self.debuglevel = 8
self.obsoletes = True
self.exactarch = False
self.exactarchlist = []
@@ -49,6 +49,17 @@ class FakeRepo(object):
def __init__(self, id=None,sack=None):
self.id = id
self.sack = sack
+ self.cost = 1000
+
+ def __cmp__(self, other):
+ """ Sort base class repos. by alphanumeric on their id, also
+ see __cmp__ in YumRepository(). """
+ if self.id > other.id:
+ return 1
+ elif self.id < other.id:
+ return -1
+ else:
+ return 0
class FakePackage(packages.YumAvailablePackage):
@@ -156,7 +167,6 @@ class DepSolveProgressCallBack:
class _DepsolveTestsBase(unittest.TestCase):
res = {0 : 'empty', 2 : 'ok', 1 : 'err'}
- canonArch = "x86_64"
def __init__(self, methodName='runTest'):
unittest.TestCase.__init__(self, methodName)
@@ -164,10 +174,9 @@ class _DepsolveTestsBase(unittest.TestCase):
self.buildPkgs(self.pkgs)
def setUp(self):
- self._canonArch = arch.canonArch
- arch.canonArch = self.canonArch
+ pass
def tearDown(self):
- arch.canonArch = self._canonArch
+ pass
@staticmethod
def buildPkgs(pkgs, *args):
@@ -284,6 +293,7 @@ class DepsolveTests(_DepsolveTestsBase):
def resolveCode(self):
solver = YumBase()
solver.conf = FakeConf()
+ solver.arch.setup_arch('x86_64')
solver.tsInfo = solver._tsInfo = self.tsInfo
solver.rpmdb = self.rpmdb
solver.pkgSack = self.xsack
@@ -291,10 +301,14 @@ class DepsolveTests(_DepsolveTestsBase):
for po in self.rpmdb:
po.repoid = po.repo.id = "installed"
for po in self.xsack:
- po.repoid = po.repo.id = "TestRepository"
+ if po.repo.id is None:
+ po.repo.id = "TestRepository"
+ po.repoid = po.repo.id
for txmbr in self.tsInfo:
if txmbr.ts_state in ('u', 'i'):
- txmbr.po.repoid = txmbr.po.repo.id = "TestRepository"
+ if txmbr.po.repo.id is None:
+ txmbr.po.repo.id = "TestRepository"
+ txmbr.po.repoid = txmbr.po.repo.id
else:
txmbr.po.repoid = txmbr.po.repo.id = "installed"
@@ -325,6 +339,7 @@ class OperationsTests(_DepsolveTestsBase):
requirements from.
"""
depsolver = YumBaseCli()
+ depsolver.arch.setup_arch('x86_64')
self.rpmdb = depsolver.rpmdb = FakeRpmDb()
self.xsack = depsolver._pkgSack = packageSack.PackageSack()
self.repo = depsolver.repo = FakeRepo("installed")
@@ -338,7 +353,9 @@ class OperationsTests(_DepsolveTestsBase):
po.repoid = po.repo.id = "installed"
self.depsolver.rpmdb.addPackage(po)
for po in available:
- po.repoid = po.repo.id = "TestRepository"
+ if po.repo.id is None:
+ po.repo.id = "TestRepository"
+ po.repoid = po.repo.id
self.depsolver._pkgSack.addPackage(po)
self.depsolver.basecmd = args[0]
diff --git a/test/yum-pylintrc b/test/yum-pylintrc
index f7aee50..bb9339a 100644
--- a/test/yum-pylintrc
+++ b/test/yum-pylintrc
@@ -80,9 +80,9 @@ disable-msg-cat=C,R
# W1001: *Use of "property" on an old style class*
# W0221: *Arguments number differs from %s method*
# W0703: *Catch "Exception"*
-# W1010: *Exception doesn't inherit from standard "Exception" class* (give false positives on ex. KeyboardInterrupt)
+# 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)
-disable-msg=E1101,F0401,W0704,W0612,W0212,W0613,W0602,W0511,W0401,W0614,W0232,W0201,W0603,W0621,W0142,W0102,W0105,W0702,W0231,E0202,W0622,W0403,W0223,W0104,W1001,W0221,W0703,W1010,W0631
+disable-msg=E1101,F0401,W0704,W0612,W0212,W0613,W0602,W0511,W0401,W0614,W0232,W0201,W0603,W0621,W0142,W0102,W0105,W0702,W0231,E0202,W0622,W0403,W0223,W0104,W1001,W0221,W0703,W0710,W0631
[REPORTS]
diff --git a/test/yum-release-i18n-test.sh b/test/yum-release-i18n-test.sh
index 33f5491..93ddcb3 100755
--- a/test/yum-release-i18n-test.sh
+++ b/test/yum-release-i18n-test.sh
@@ -53,9 +53,9 @@ I18N="C \
cmd()
{
echo $beg_hdr
- echo "Doing: LANG=$lang yum --enablerepo=development $@"
+ echo "Doing: LANG=$lang yum --enablerepo=rawhide $@"
echo $end_hdr
- LANG=$lang yum --enablerepo=development "$@"
+ LANG=$lang yum --enablerepo=rawhide "$@"
}
scmd()
{
diff --git a/yum/Errors.py b/yum/Errors.py
index 322765e..6f0ffe4 100644
--- a/yum/Errors.py
+++ b/yum/Errors.py
@@ -86,6 +86,12 @@ class RemoveError(YumBaseError):
class ReinstallError(YumBaseError):
pass
+class ReinstallRemoveError(ReinstallError):
+ pass
+
+class ReinstallInstallError(ReinstallError):
+ pass
+
class DowngradeError(YumBaseError):
pass
diff --git a/yum/__init__.py b/yum/__init__.py
index 6378cdc..97e38c3 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -36,18 +36,14 @@ import yum.i18n
_ = yum.i18n._
P_ = yum.i18n.P_
-try:
- from iniparse.compat import ParsingError, RawConfigParser as ConfigParser
-except ImportError:
- from ConfigParser import ParsingError, ConfigParser
+import config
+from config import ParsingError, ConfigParser
import Errors
import rpmsack
import rpmUtils.updates
-import rpmUtils.arch
-from rpmUtils.arch import getCanonArch, archDifference, canCoinstall
+from rpmUtils.arch import canCoinstall, ArchStorage, isMultiLibArch
import rpmUtils.transaction
import comps
-import config
from repos import RepoStorage
import misc
from parser import ConfigPreProcessor, varReplace
@@ -72,6 +68,8 @@ from yum.i18n import to_unicode
import string
+from weakref import proxy as weakref
+
from urlgrabber.grabber import default_grabber
__version__ = '3.2.23'
@@ -101,7 +99,30 @@ class _YumPreBaseConf:
self.syslog_ident = None
self.syslog_facility = None
self.syslog_device = '/dev/log'
+ self.arch = None
+ self.releasever = None
+
+class _YumCostExclude:
+ """ This excludes packages that are in repos. of lower cost than the passed
+ repo. """
+ def __init__(self, repo, repos):
+ self.repo = weakref(repo)
+ self._repos = weakref(repos)
+
+ def __contains__(self, pkgtup):
+ # (n, a, e, v, r) = pkgtup
+ for repo in self._repos.listEnabled():
+ if repo.cost >= self.repo.cost:
+ break
+ # searchNevra is a bit slower, although more generic for repos.
+ # that don't use sqlitesack as the backend ... although they are
+ # probably screwed anyway.
+ #
+ # if repo.sack.searchNevra(n, e, v, r, a):
+ if pkgtup in repo.sack._pkgtup2pkgs:
+ return True
+ return False
class YumBase(depsolve.Depsolve):
"""This is a primary structure and base class. It houses the objects and
@@ -129,9 +150,10 @@ class YumBase(depsolve.Depsolve):
self.localPackages = [] # for local package handling
self.mediagrabber = None
-
+ self.arch = ArchStorage()
self.preconf = _YumPreBaseConf()
+
def __del__(self):
self.close()
self.closeRpmDB()
@@ -203,10 +225,13 @@ class YumBase(depsolve.Depsolve):
syslog_ident = self.preconf.syslog_ident
syslog_facility = self.preconf.syslog_facility
syslog_device = self.preconf.syslog_device
+ releasever = self.preconf.releasever
+ arch = self.preconf.arch
- # We don't want people accessing/altering preconf after it becomes
- # worthless. So we delete it, and thus. it'll raise AttributeError
- del self.preconf
+ if arch: # if preconf is setting an arch we need to pass that up
+ self.arch.setup_arch(arch)
+ else:
+ arch = self.arch.canonarch
# TODO: Remove this block when we no longer support configs outside
# of /etc/yum/
@@ -215,6 +240,9 @@ class YumBase(depsolve.Depsolve):
fn = '/etc/yum.conf'
startupconf = config.readStartupConfig(fn, root)
+ startupconf.arch = arch
+ startupconf.basearch = self.arch.basearch
+
if startupconf.gaftonmode:
global _
_ = yum.i18n.dummy_wrapper
@@ -227,6 +255,8 @@ class YumBase(depsolve.Depsolve):
startupconf.syslog_ident = syslog_ident
if syslog_facility != None:
startupconf.syslog_facility = syslog_facility
+ if releasever != None:
+ startupconf.releasever = releasever
self.doLoggingSetup(startupconf.debuglevel, startupconf.errorlevel,
startupconf.syslog_ident,
@@ -238,6 +268,10 @@ class YumBase(depsolve.Depsolve):
self._conf = config.readMainConfig(startupconf)
+ # We don't want people accessing/altering preconf after it becomes
+ # worthless. So we delete it, and thus. it'll raise AttributeError
+ del self.preconf
+
# run the postconfig plugin hook
self.plugins.run('postconfig')
self.yumvar = self.conf.yumvar
@@ -427,6 +461,9 @@ class YumBase(depsolve.Depsolve):
def closeRpmDB(self):
"""closes down the instances of the rpmdb we have wangling around"""
+ if self._rpmdb is not None:
+ self._rpmdb.ts = None
+ self._rpmdb.dropCachedData()
self._rpmdb = None
self._ts = None
self._tsInfo = None
@@ -467,7 +504,20 @@ class YumBase(depsolve.Depsolve):
"""populates the package sacks for information from our repositories,
takes optional archlist for archs to include"""
- if self._pkgSack and thisrepo is None:
+ # FIXME: Fist of death ... normally we'd do either:
+ #
+ # 1. use self._pkgSack is not None, and only init. once.
+ # 2. auto. correctly re-init each time a repo is added/removed
+ #
+ # ...we should probably just smeg it and do #2, but it's hard and will
+ # probably break something (but it'll "fix" excludes).
+ # #1 can't be done atm. because we did self._pkgSack and external
+ # tools now rely on being able to create an empty sack and then have it
+ # auto. re-init when they add some stuff. So we add a bit more "clever"
+ # and don't setup the pkgSack to not be None when it's empty. This means
+ # we skip excludes/includes/etc. ... but there's no packages, so
+ # hopefully that's ok.
+ if self._pkgSack is not None and thisrepo is None:
return self._pkgSack
if thisrepo is None:
@@ -478,7 +528,7 @@ class YumBase(depsolve.Depsolve):
self.verbose_logger.debug(_('Setting up Package Sacks'))
sack_st = time.time()
if not archlist:
- archlist = rpmUtils.arch.getArchList()
+ archlist = self.arch.archlist
archdict = {}
for arch in archlist:
@@ -486,6 +536,8 @@ class YumBase(depsolve.Depsolve):
self.repos.getPackageSack().setCompatArchs(archdict)
self.repos.populateSack(which=repos)
+ if not self.repos.getPackageSack():
+ return self.repos.getPackageSack() # ha ha, see above
self._pkgSack = self.repos.getPackageSack()
self.excludePackages()
@@ -495,8 +547,8 @@ class YumBase(depsolve.Depsolve):
if repos == 'enabled':
repos = self.repos.listEnabled()
for repo in repos:
- self.excludePackages(repo)
self.includePackages(repo)
+ self.excludePackages(repo)
self.plugins.run('exclude')
self._pkgSack.buildIndexes()
@@ -548,7 +600,11 @@ class YumBase(depsolve.Depsolve):
obs_init = time.time()
self._up.rawobsoletes = self.pkgSack.returnObsoletes()
self.verbose_logger.debug('up:Obs Init time: %0.3f' % (time.time() - obs_init))
-
+
+ self._up.myarch = self.arch.canonarch
+ self._up._is_multilib = self.arch.multilib
+ self._up._archlist = self.arch.archlist
+ self._up._multilib_compat_arches = self.arch.compatarches
self._up.exactarch = self.conf.exactarch
self._up.exactarchlist = self.conf.exactarchlist
up_pr_st = time.time()
@@ -861,11 +917,10 @@ class YumBase(depsolve.Depsolve):
def _getPackagesToRemoveAllArch(self,po):
''' get all compatible arch packages in pkgSack'''
pkgs = []
- if rpmUtils.arch.isMultiLibArch():
- archs = rpmUtils.arch.getArchList()
+ if self.arch.multilib:
n,a,e,v,r = po.pkgtup
# skip for all compat archs
- for a in archs:
+ for a in self.arch.archlist:
pkgtup = (n,a,e,v,r)
matched = self.pkgSack.searchNevra(n,e,v,r,a)
pkgs.extend(matched)
@@ -879,10 +934,9 @@ class YumBase(depsolve.Depsolve):
def _skipFromTransaction(self,po):
skipped = []
- archs = rpmUtils.arch.getArchList()
n,a,e,v,r = po.pkgtup
# skip for all compat archs
- for a in archs:
+ for a in self.arch.archlist:
pkgtup = (n,a,e,v,r)
if self.tsInfo.exists(pkgtup):
for txmbr in self.tsInfo.getMembers(pkgtup):
@@ -1008,6 +1062,7 @@ class YumBase(depsolve.Depsolve):
# for any kind of install add from_repo to the yumdb, and the cmdline
# and the install reason
+ self.rpmdb.dropCachedData()
for txmbr in self.tsInfo:
if txmbr.output_state in TS_INSTALL_STATES:
if not self.rpmdb.contains(po=txmbr.po):
@@ -1017,11 +1072,34 @@ class YumBase(depsolve.Depsolve):
' but is not!' % txmbr.po))
continue
po = self.rpmdb.searchPkgTuple(txmbr.pkgtup)[0]
- po.yumdb_info.from_repo = txmbr.po.repoid
+ rpo = txmbr.po
+ po.yumdb_info.from_repo = rpo.repoid
po.yumdb_info.reason = txmbr.reason
po.yumdb_info.releasever = self.yumvar['releasever']
if hasattr(self, 'cmds') and self.cmds:
po.yumdb_info.command_line = ' '.join(self.cmds)
+ csum = rpo.returnIdSum()
+ if csum is not None:
+ po.yumdb_info.checksum_type = str(csum[0])
+ po.yumdb_info.checksum_data = str(csum[1])
+
+ if isinstance(rpo, YumLocalPackage):
+ try:
+ st = os.stat(rpo.localPkg())
+ lp_ctime = str(int(st.st_ctime))
+ lp_mtime = str(int(st.st_mtime))
+ po.yumdb_info.from_repo_revision = lp_ctime
+ po.yumdb_info.from_repo_timestamp = lp_mtime
+ except: pass
+
+ if not hasattr(rpo.repo, 'repoXML'):
+ continue
+
+ md = rpo.repo.repoXML
+ if md and md.revision is not None:
+ po.yumdb_info.from_repo_revision = str(md.revision)
+ if md:
+ po.yumdb_info.from_repo_timestamp = str(md.timestamp)
elif txmbr.output_state in TS_REMOVE_STATES:
if self.rpmdb.contains(po=txmbr.po):
@@ -1037,48 +1115,32 @@ class YumBase(depsolve.Depsolve):
else:
self.verbose_logger.log(logginglevels.DEBUG_2, 'What is this? %s' % txmbr.po)
-
+ self.rpmdb.dropCachedData()
def costExcludePackages(self):
- """exclude packages if they have an identical package in another repo
- and their repo.cost value is the greater one"""
+ """ Create an excluder for repos. with higher cost. Eg.
+ repo-A:cost=1 repo-B:cost=2 ... here we setup an excluder on repo-B
+ that looks for pkgs in repo-B."""
- # check to see if the cost per repo is anything other than equal
# if all the repo.costs are equal then don't bother running things
costs = {}
for r in self.repos.listEnabled():
- costs[r.cost] = 1
+ costs.setdefault(r.cost, []).append(r)
- if len(costs) <= 1: # if all of our costs are the same then return
+ if len(costs) <= 1:
return
-
- def _sort_by_cost(a, b):
- if a.repo.cost < b.repo.cost:
- return -1
- if a.repo.cost == b.repo.cost:
- return 0
- if a.repo.cost > b.repo.cost:
- return 1
-
- pkgdict = {}
- for po in self.pkgSack:
- if not pkgdict.has_key(po.pkgtup):
- pkgdict[po.pkgtup] = []
- pkgdict[po.pkgtup].append(po)
-
- for pkgs in pkgdict.values():
- if len(pkgs) == 1:
- continue
-
- pkgs.sort(_sort_by_cost)
- lowcost = pkgs[0].repo.cost
- #print '%s : %s : %s' % (pkgs[0], pkgs[0].repo, pkgs[0].repo.cost)
- for pkg in pkgs[1:]:
- if pkg.repo.cost > lowcost:
- msg = _('excluding for cost: %s from %s') % (pkg, pkg.repo.id)
- self.verbose_logger.log(logginglevels.DEBUG_3, msg)
- pkg.repo.sack.delPackage(pkg)
-
+
+ done = False
+ exid = "yum.costexcludes"
+ orepos = []
+ for cost in sorted(costs):
+ if done: # Skip the first one, as they have lowest cost so are good.
+ for repo in costs[cost]:
+ yce = _YumCostExclude(repo, self.repos)
+ repo.sack.addPackageExcluder(repo.id, exid,
+ 'exclude.pkgtup.in', yce)
+ orepos.extend(costs[cost])
+ done = True
def excludePackages(self, repo=None):
"""removes packages from packageSacks based on global exclude lists,
@@ -1096,30 +1158,19 @@ class YumBase(depsolve.Depsolve):
return
excludelist = self.conf.exclude
repoid = None
+ exid_beg = 'yum.excludepkgs'
else:
if repo.id in self.conf.disable_excludes:
return
excludelist = repo.getExcludePkgList()
repoid = repo.id
+ exid_beg = 'yum.excludepkgs.' + repoid
- if len(excludelist) == 0:
- return
-
- if not repo:
- self.verbose_logger.log(logginglevels.INFO_2, _('Excluding Packages in global exclude list'))
- else:
- self.verbose_logger.log(logginglevels.INFO_2, _('Excluding Packages from %s'),
- repo.name)
-
- pkgs = self._pkgSack.returnPackages(repoid, patterns=excludelist,
- ignore_case=False)
-
- for po in pkgs:
- self.verbose_logger.debug('Excluding %s', po)
- po.repo.sack.delPackage(po)
-
-
- self.verbose_logger.log(logginglevels.INFO_2, 'Finished')
+ count = 0
+ for match in excludelist:
+ count += 1
+ exid = "%s.%u" % (exid_beg, count)
+ self.pkgSack.addPackageExcluder(repoid, exid,'exclude.match', match)
def includePackages(self, repo):
"""removes packages from packageSacks based on list of packages, to include.
@@ -1130,29 +1181,18 @@ class YumBase(depsolve.Depsolve):
if len(includelist) == 0:
return
- # FIXME: Here we have to get all packages, and then exclude those that
- # don't match. Need a "negation" flag for returnPackages().
- pkglist = self.pkgSack.returnPackages(repo.id)
- exactmatch, matched, unmatched = \
- parsePackages(pkglist, includelist, casematch=1)
-
- self.verbose_logger.log(logginglevels.INFO_2,
- _('Reducing %s to included packages only'), repo.name)
- rmlist = []
- keeplist = set(exactmatch + matched)
-
- for po in pkglist:
- if po in keeplist:
- self.verbose_logger.debug(_('Keeping included package %s'), po)
- continue
- else:
- rmlist.append(po)
-
- for po in rmlist:
- self.verbose_logger.debug(_('Removing unmatched package %s'), po)
- po.repo.sack.delPackage(po)
-
- self.verbose_logger.log(logginglevels.INFO_2, _('Finished'))
+ # includepkgs actually means "exclude everything that doesn't match".
+ # So we mark everything, then wash those we want to keep and then
+ # exclude everything that is marked.
+ exid = "yum.includepkgs.1"
+ self.pkgSack.addPackageExcluder(repo.id, exid, 'mark.washed')
+ count = 0
+ for match in includelist:
+ count += 1
+ exid = "%s.%u" % ("yum.includepkgs.2", count)
+ self.pkgSack.addPackageExcluder(repo.id, exid, 'wash.match', match)
+ exid = "yum.includepkgs.3"
+ self.pkgSack.addPackageExcluder(repo.id, exid, 'exclude.marked')
def doLock(self, lockfile = YUM_PID_FILE):
"""perform the yum locking, raise yum-based exceptions, not OSErrors"""
@@ -2208,10 +2248,10 @@ class YumBase(depsolve.Depsolve):
# sure we'll catch it if its added later in this transaction
pkgs = self.pkgSack.searchNevra(name=condreq)
if pkgs:
- if rpmUtils.arch.isMultiLibArch():
+ if self.arch.multilib:
if self.conf.multilib_policy == 'best':
use = []
- best = rpmUtils.arch.legitMultiArchesInSameLib()
+ best = self.arch.legit_multi_arches
best.append('noarch')
for pkg in pkgs:
if pkg.arch in best:
@@ -2355,15 +2395,20 @@ class YumBase(depsolve.Depsolve):
"""Pass in a generic [build]require string and this function will
pass back the best(or first) package it finds providing that dep."""
+ # we get all sorts of randomness here
+ errstring = depstring
+ if type(depstring) not in types.StringTypes:
+ errtring = str(depstring)
+
try:
pkglist = self.returnPackagesByDep(depstring)
except Errors.YumBaseError:
- raise Errors.YumBaseError, _('No Package found for %s') % depstring
+ raise Errors.YumBaseError, _('No Package found for %s') % errstring
ps = ListPackageSack(pkglist)
result = self._bestPackageFromList(ps.returnNewestByNameArch())
if result is None:
- raise Errors.YumBaseError, _('No Package found for %s') % depstring
+ raise Errors.YumBaseError, _('No Package found for %s') % errstring
return result
@@ -2416,7 +2461,7 @@ class YumBase(depsolve.Depsolve):
multilib to singlelib packages"""
returnlist = []
- compatArchList = rpmUtils.arch.getArchList(arch)
+ compatArchList = self.arch.get_arch_list(arch)
multiLib = []
singleLib = []
noarch = []
@@ -2425,7 +2470,7 @@ class YumBase(depsolve.Depsolve):
continue
elif po.arch in ("noarch"):
noarch.append(po)
- elif rpmUtils.arch.isMultiLibArch(arch=po.arch):
+ elif isMultiLibArch(arch=po.arch):
multiLib.append(po)
else:
singleLib.append(po)
@@ -2466,6 +2511,14 @@ class YumBase(depsolve.Depsolve):
return returnlist
+ # FIXME: This doesn't really work, as it assumes one obsoleter for each pkg
+ # when we can have:
+ # 1 pkg obsoleted by multiple pkgs _and_
+ # 1 pkg obsoleting multiple pkgs
+ # ...and we need to detect loops, and get the arches "right" and do this
+ # for chains. Atm. I hate obsoletes, and I can't get it to work better,
+ # easily ... so screw it, don't create huge chains of obsoletes with some
+ # loops in there too ... or I'll have to hurt you.
def _pkg2obspkg(self, po):
""" Given a package return the package it's obsoleted by and so
we should install instead. Or None if there isn't one. """
@@ -2538,10 +2591,18 @@ class YumBase(depsolve.Depsolve):
def _find_obsoletees(self, po):
""" Return the pkgs. that are obsoleted by the po we pass in. """
- for (obstup, inst_tup) in self.up.getObsoletersTuples(name=po.name):
- if po.pkgtup == obstup:
- installed_pkg = self.rpmdb.searchPkgTuple(inst_tup)[0]
- yield installed_pkg
+ if not isinstance(po, YumLocalPackage):
+ for (obstup, inst_tup) in self.up.getObsoletersTuples(name=po.name):
+ if po.pkgtup == obstup:
+ installed_pkg = self.rpmdb.searchPkgTuple(inst_tup)[0]
+ yield installed_pkg
+ else:
+ for (obs_n, obs_f, (obs_e, obs_v, obs_r)) in po.obsoletes:
+ for pkg in self.rpmdb.searchNevra(name=obs_n):
+ installedtup = (pkg.name, 'EQ', (pkg.epoch,
+ pkg.ver, pkg.release))
+ if po.inPrcoRange('obsoletes', installedtup):
+ yield pkg
def _add_prob_flags(self, *flags):
""" Add all of the passed flags to the tsInfo.probFilterFlags array. """
@@ -2614,14 +2675,14 @@ class YumBase(depsolve.Depsolve):
# only do these things if we're multilib
- if rpmUtils.arch.isMultiLibArch():
+ if self.arch.multilib:
if was_pattern or not nevra_dict['arch']: # and only if they
# they didn't specify an arch
if self.conf.multilib_policy == 'best':
pkgs_by_name = {}
use = []
not_added = []
- best = rpmUtils.arch.legitMultiArchesInSameLib()
+ best = self.arch.legit_multi_arches
best.append('noarch')
for pkg in pkgs:
if pkg.arch in best:
@@ -2658,6 +2719,8 @@ class YumBase(depsolve.Depsolve):
ignore_case=False)
if 'name' in kwargs:
pkgs = self.rpmdb.searchNevra(name=kwargs['name'])
+ if 'pkgtup' in kwargs:
+ pkgs = self.rpmdb.searchNevra(name=kwargs['pkgtup'][0])
# Warning here does "weird" things when doing:
# yum --disablerepo='*' install '*'
# etc. ... see RHBZ#480402
@@ -2693,9 +2756,23 @@ class YumBase(depsolve.Depsolve):
# at which point ignore everything.
obsoleting_pkg = self._test_loop(po, self._pkg2obspkg)
if obsoleting_pkg is not None:
- self.verbose_logger.warning(_('Package %s is obsoleted by %s, trying to install %s instead'),
- po.name, obsoleting_pkg.name, obsoleting_pkg)
- self.install(po=obsoleting_pkg)
+ # this is not a definitive check but it'll make sure we don't
+ # pull in foo.i586 when foo.x86_64 already obsoletes the pkg and
+ # is already installed
+ already_obs = None
+ poprovtup = (po.name, 'EQ', (po.epoch, po.ver, po.release))
+ for pkg in self.rpmdb.searchNevra(name=obsoleting_pkg.name):
+ if pkg.inPrcoRange('obsoletes', poprovtup):
+ already_obs = pkg
+ continue
+
+ if already_obs:
+ self.verbose_logger.warning(_('Package %s is obsoleted by %s which is already installed'),
+ po, already_obs)
+ else:
+ self.verbose_logger.warning(_('Package %s is obsoleted by %s, trying to install %s instead'),
+ po.name, obsoleting_pkg.name, obsoleting_pkg)
+ tx_return.extend(self.install(po=obsoleting_pkg))
continue
# make sure it's not already installed
@@ -2730,6 +2807,11 @@ class YumBase(depsolve.Depsolve):
self._add_prob_flags(rpm.RPMPROB_FILTER_REPLACEPKG,
rpm.RPMPROB_FILTER_REPLACENEWFILES,
rpm.RPMPROB_FILTER_REPLACEOLDFILES)
+ # Yum needs the remove to happen before we allow the
+ # install of the same version. But rpm doesn't like that
+ # as it then has an install which removes the old version
+ # and a remove, which also tries to remove the old version.
+ self.tsInfo.remove(ipkg.pkgtup)
break
if ipkg.verGT(po):
self._add_prob_flags(rpm.RPMPROB_FILTER_OLDPACKAGE)
@@ -2744,7 +2826,7 @@ class YumBase(depsolve.Depsolve):
else:
txmbr = self.tsInfo.addInstall(po)
tx_return.append(txmbr)
-
+
return tx_return
def _check_new_update_provides(self, opkg, npkg):
@@ -2753,6 +2835,7 @@ class YumBase(depsolve.Depsolve):
too, to the latest version. """
oprovs = set(opkg.returnPrco('provides'))
nprovs = set(npkg.returnPrco('provides'))
+ tx_return = []
for prov in oprovs.difference(nprovs):
reqs = self.tsInfo.getRequires(*prov)
for pkg in reqs:
@@ -2760,10 +2843,11 @@ class YumBase(depsolve.Depsolve):
if not npkg.inPrcoRange('provides', req):
naTup = (pkg.name, pkg.arch)
for pkg in self.pkgSack.returnNewestByNameArch(naTup):
- self.update(po=pkg)
+ tx_return.extend(self.update(po=pkg))
break
+ return tx_return
- def _newer_update_in_trans(self, pkgtup, available_pkg):
+ def _newer_update_in_trans(self, pkgtup, available_pkg, tx_return):
""" We return True if there is a newer package already in the
transaction. If there is an older one, we remove it (and update any
deps. that aren't satisfied by the newer pkg) and return False so
@@ -2777,8 +2861,9 @@ class YumBase(depsolve.Depsolve):
else:
for ntxmbr in self.tsInfo.getMembers(po.pkgtup):
self.tsInfo.remove(ntxmbr.po.pkgtup)
- self._check_new_update_provides(ntxmbr.po,
- available_pkg)
+ txs = self._check_new_update_provides(ntxmbr.po,
+ available_pkg)
+ tx_return.extend(txs)
if count:
found = True
else:
@@ -2810,6 +2895,9 @@ class YumBase(depsolve.Depsolve):
for (obsoleting, installed) in obsoletes:
obsoleting_pkg = self.getPackageObject(obsoleting)
+ topkg = self._test_loop(obsoleting_pkg, self._pkg2obspkg)
+ if topkg is not None:
+ obsoleting_pkg = topkg
installed_pkg = self.rpmdb.searchPkgTuple(installed)[0]
txmbr = self.tsInfo.addObsoleting(obsoleting_pkg, installed_pkg)
self.tsInfo.addObsoleted(installed_pkg, obsoleting_pkg)
@@ -2861,7 +2949,11 @@ class YumBase(depsolve.Depsolve):
# Always look for available packages, it doesn't seem to do any
# harm (apart from some time). And it fixes weird edge cases where
# "update a" (which requires a new b) is different from "update b"
- m =self.pkgSack.returnNewestByNameArch(patterns=[kwargs['pattern']])
+ try:
+ pats = [kwargs['pattern']]
+ m = self.pkgSack.returnNewestByNameArch(patterns=pats)
+ except Errors.PackageSackError:
+ m = []
availpkgs.extend(m)
if not availpkgs and not instpkgs:
@@ -2949,11 +3041,20 @@ class YumBase(depsolve.Depsolve):
tx_return.append(txmbr)
for available_pkg in availpkgs:
+ # Make sure we're not installing a package which is obsoleted by
+ # something else in the repo. Unless there is a obsoletion loop,
+ # at which point ignore everything.
+ obsoleting_pkg = self._test_loop(available_pkg, self._pkg2obspkg)
+ if obsoleting_pkg is not None:
+ self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is obsoleted: %s'), available_pkg)
+ tx_return.extend(self.update(po=obsoleting_pkg))
+ continue
for updated in self.up.updating_dict.get(available_pkg.pkgtup, []):
if self.tsInfo.isObsoleted(updated):
self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is already obsoleted: %s.%s %s:%s-%s'),
updated)
- elif self._newer_update_in_trans(updated, available_pkg):
+ elif self._newer_update_in_trans(updated, available_pkg,
+ tx_return):
self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is already updated: %s.%s %s:%s-%s'),
updated)
@@ -2979,7 +3080,8 @@ class YumBase(depsolve.Depsolve):
if self.tsInfo.isObsoleted(ipkg.pkgtup):
self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is already obsoleted: %s.%s %s:%s-%s'),
ipkg.pkgtup)
- elif self._newer_update_in_trans(ipkg.pkgtup, available_pkg):
+ elif self._newer_update_in_trans(ipkg.pkgtup, available_pkg,
+ tx_return):
self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is already updated: %s.%s %s:%s-%s'),
ipkg.pkgtup)
elif ipkg.verLT(available_pkg):
@@ -2987,12 +3089,6 @@ class YumBase(depsolve.Depsolve):
if requiringPo:
txmbr.setAsDep(requiringPo)
tx_return.append(txmbr)
-
- #else:
- #magically make allowdowngrade work here
- # yum --allow-downgrade update something-specific here
- # could work but we will need to be careful with it
- # maybe a downgrade command is necessary
return tx_return
@@ -3065,7 +3161,6 @@ class YumBase(depsolve.Depsolve):
# append it to self.localPackages
# check if it can be installed or updated based on nevra versus rpmdb
# don't import the repos until we absolutely need them for depsolving
-
tx_return = []
installpkgs = []
updatepkgs = []
@@ -3085,7 +3180,7 @@ class YumBase(depsolve.Depsolve):
# do this: but it's not a config file sort of thing
# FIXME: Should add noarch, yum localinstall works ...
# just rm this method?
- if po.arch not in rpmUtils.arch.getArchList():
+ if po.arch not in self.arch.archlist:
self.logger.critical(_('Cannot add package %s to transaction. Not a compatible architecture: %s'), pkg, po.arch)
return tx_return
@@ -3110,8 +3205,8 @@ class YumBase(depsolve.Depsolve):
updatepkgs.append((po, installed_pkg))
elif po.verEQ(installed_pkg):
if (po.arch != installed_pkg.arch and
- (rpmUtils.arch.isMultiLibArch(po.arch) or
- rpmUtils.arch.isMultiLibArch(installed_pkg.arch))):
+ (isMultiLibArch(po.arch) or
+ isMultiLibArch(installed_pkg.arch))):
installpkgs.append(po)
else:
donothingpkgs.append(po)
@@ -3148,7 +3243,20 @@ class YumBase(depsolve.Depsolve):
for po in donothingpkgs:
self.verbose_logger.log(logginglevels.INFO_2,
_('%s: does not update installed package.'), po.localpath)
-
+
+ # this checks to make sure that any of the to-be-installed pkgs
+ # does not obsolete something else that's installed
+ # this doesn't handle the localpkgs obsoleting EACH OTHER or
+ # anything else in the transaction set, though. That could/should
+ # be fixed later but a fair bit of that is a pebkac and should be
+ # said as "don't do that". potential 'fixme'
+ for txmbr in tx_return:
+ if txmbr.po.obsoletes:
+ for obs_pkg in self._find_obsoletees(txmbr.po):
+ self.tsInfo.addObsoleted(obs_pkg, txmbr.po)
+ txmbr.obsoletes.append(obs_pkg)
+ self.tsInfo.addObsoleting(txmbr.po,obs_pkg)
+
return tx_return
def reinstallLocal(self, pkg, po=None):
@@ -3171,7 +3279,7 @@ class YumBase(depsolve.Depsolve):
self.verbose_logger.log(logginglevels.INFO_2,
_('Examining %s: %s'), po.localpath, po)
- if po.arch not in rpmUtils.arch.getArchList():
+ if po.arch not in self.arch.archlist:
self.logger.critical(_('Cannot add package %s to transaction. Not a compatible architecture: %s'), pkg, po.arch)
return []
@@ -3197,14 +3305,18 @@ class YumBase(depsolve.Depsolve):
rpm.RPMPROB_FILTER_REPLACEOLDFILES)
tx_mbrs = []
- tx_mbrs.extend(self.remove(po, **kwargs))
+ if po: # The po, is the "available" po ... we want the installed po
+ tx_mbrs.extend(self.remove(pkgtup=po.pkgtup))
+ else:
+ tx_mbrs.extend(self.remove(**kwargs))
if not tx_mbrs:
- raise Errors.ReinstallError, _("Problem in reinstall: no package matched to remove")
+ raise Errors.ReinstallRemoveError, _("Problem in reinstall: no package matched to remove")
templen = len(tx_mbrs)
# this is a reinstall, so if we can't reinstall exactly what we uninstalled
# then we really shouldn't go on
new_members = []
- for item in tx_mbrs:
+ failed = []
+ for item in tx_mbrs[:]:
#FIXME future - if things in the rpm transaction handling get
# a bit finer-grained, then we should allow reinstalls of kernels
# for now, banned and dropped.
@@ -3222,16 +3334,17 @@ class YumBase(depsolve.Depsolve):
if isinstance(po, YumLocalPackage):
members = self.install(po=po)
else:
- members = self.install(name=item.name, arch=item.arch,
- ver=item.version, release=item.release,
- epoch=item.epoch)
+ members = self.install(pkgtup=item.pkgtup)
self.conf.obsoletes = old_conf_obs
if len(members) == 0:
self.tsInfo.remove(item.pkgtup)
tx_mbrs.remove(item)
- raise Errors.ReinstallError, _("Problem in reinstall: no package matched to install")
+ failed.append(str(item.po))
+ continue
new_members.extend(members)
+ if failed and not tx_mbrs:
+ raise Errors.ReinstallInstallError, _("Problem in reinstall: no package %s matched to install") % ", ".join(failed)
tx_mbrs.extend(new_members)
return tx_mbrs
@@ -3255,7 +3368,7 @@ class YumBase(depsolve.Depsolve):
self.verbose_logger.log(logginglevels.INFO_2,
_('Examining %s: %s'), po.localpath, po)
- if po.arch not in rpmUtils.arch.getArchList():
+ if po.arch not in self.arch.archlist:
self.logger.critical(_('Cannot add package %s to transaction. Not a compatible architecture: %s'), pkg, po.arch)
return []
@@ -3385,14 +3498,11 @@ class YumBase(depsolve.Depsolve):
na = (po.name, po.arch)
if na not in downgrade_apkgs:
continue
- itxmbr = self.tsInfo.addErase(po)
- atxmbr = self.tsInfo.addInstall(downgrade_apkgs[na])
- if not atxmbr: # Fail?
- self.tsInfo.remove(itxmbr.pkgtup)
+ txmbrs = self.tsInfo.addDowngrade(downgrade_apkgs[na], po)
+ if not txmbrs: # Fail?
continue
self._add_prob_flags(rpm.RPMPROB_FILTER_OLDPACKAGE)
- tx_return.append(itxmbr)
- tx_return.append(atxmbr)
+ tx_return.extend(txmbrs)
return tx_return
@@ -3596,6 +3706,36 @@ class YumBase(depsolve.Depsolve):
def _limit_installonly_pkgs(self):
+ """ Limit packages based on conf.installonly_limit, if any of the
+ packages being installed have a provide in conf.installonlypkgs.
+ New in 3.2.24: Obey yumdb_info.installonly data. """
+
+ def _sort_and_filter_installonly(pkgs):
+ """ Allow the admin to specify some overrides fo installonly pkgs.
+ using the yumdb. """
+ ret_beg = []
+ ret_mid = []
+ ret_end = []
+ for pkg in sorted(pkgs):
+ if 'installonly' not in pkg.yumdb_info:
+ ret_mid.append(pkg)
+ continue
+
+ if pkg.yumdb_info.installonly == 'keep':
+ continue
+
+ if True: # Don't to magic sorting, yet
+ ret_mid.append(pkg)
+
+ if pkg.yumdb_info.installonly == 'remove-first':
+ ret_beg.append(pkg)
+ elif pkg.yumdb_info.installonly == 'remove-last':
+ ret_end.append(pkg)
+ else:
+ ret_mid.append(pkg)
+
+ return ret_beg + ret_mid + ret_end
+
if self.conf.installonly_limit < 1 :
return
@@ -3612,9 +3752,9 @@ class YumBase(depsolve.Depsolve):
if (m.name == instpkg or instpkg in m.po.provides_names) \
and m.ts_state in ('i', 'u'):
installed = self.rpmdb.searchNevra(name=m.name)
+ installed = _sort_and_filter_installonly(installed)
if len(installed) >= self.conf.installonly_limit - 1: # since we're adding one
numleft = len(installed) - self.conf.installonly_limit + 1
- installed.sort(comparePoEVR)
for po in installed:
if (po.version, po.release) == (cur_kernel_v, cur_kernel_r):
# don't remove running
@@ -3714,6 +3854,15 @@ class YumBase(depsolve.Depsolve):
_('Running rpm_check_debug'))
msgs = self._run_rpm_check_debug()
if msgs:
+ rpmlib_only = True
+ for msg in msgs:
+ if msg.startswith('rpmlib('):
+ continue
+ rpmlib_only = False
+ if rpmlib_only:
+ retmsgs = [_("ERROR You need to update rpm to handle:")]
+ retmsgs.extend(msgs)
+ raise Errors.YumRPMCheckError, retmsgs
retmsgs = [_('ERROR with rpm_check_debug vs depsolve:')]
retmsgs.extend(msgs)
retmsgs.append(_('Please report this error at %s')
@@ -3828,3 +3977,19 @@ class YumBase(depsolve.Depsolve):
self.repos.enableRepo(newrepo.id)
return newrepo
+ def setCacheDir(self, force=False, tmpdir='/var/tmp', reuse=True,
+ suffix='/$basearch/$releasever'):
+ ''' Set a new cache dir, using misc.getCacheDir() and var. replace
+ on suffix. '''
+
+ if not force and os.geteuid() == 0:
+ return True # We are root, not forced, so happy with the global dir.
+
+ cachedir = misc.getCacheDir(tmpdir, reuse)
+ if cachedir is None:
+ return False # Tried, but failed, to get a "user" cachedir
+
+ self.repos.setCacheDir(cachedir + varReplace(suffix, self.yumvar))
+
+ return True # We got a new cache dir
+
diff --git a/yum/config.py b/yum/config.py
index 9a47f1c..2f057c3 100644
--- a/yum/config.py
+++ b/yum/config.py
@@ -18,18 +18,25 @@
"""
Configuration parser and default values for yum.
"""
+_use_iniparse = True
import os
import warnings
import rpm
import copy
import urlparse
-from parser import ConfigPreProcessor
-from iniparse import INIConfig
-from iniparse.compat import NoSectionError, NoOptionError, ConfigParser
-from iniparse.compat import ParsingError
+import shlex
+from parser import ConfigPreProcessor, varReplace
+try:
+ from iniparse import INIConfig
+ from iniparse.compat import NoSectionError, NoOptionError, ParsingError
+ from iniparse.compat import RawConfigParser as ConfigParser
+except ImportError:
+ _use_iniparse = False
+if not _use_iniparse:
+ from ConfigParser import NoSectionError, NoOptionError, ParsingError
+ from ConfigParser import ConfigParser
import rpmUtils.transaction
-import rpmUtils.arch
import Errors
# Alter/patch these to change the default checking...
@@ -214,6 +221,10 @@ class UrlListOption(ListOption):
def parse(self, s):
out = []
+ s = s.replace('\n', ' ')
+ s = s.replace(',', ' ')
+ items = [ item.replace(' ', '%20') for item in shlex.split(s) ]
+ s = ' '.join(items)
for url in super(UrlListOption, self).parse(s):
out.append(self._urloption.parse(url))
return out
@@ -687,6 +698,12 @@ class YumConf(StartupConf):
color_search_match = Option('bold')
+ sslcacert = Option()
+ sslverify = BoolOption(True)
+ sslclientcert = Option()
+ sslclientkey = Option()
+
+
_reposlist = []
class RepoConf(BaseConfig):
@@ -740,6 +757,12 @@ class RepoConf(BaseConfig):
mdpolicy = Inherit(YumConf.mdpolicy)
cost = IntOption(1000)
+ sslcacert = Inherit(YumConf.sslcacert)
+ sslverify = Inherit(YumConf.sslverify)
+ sslclientcert = Inherit(YumConf.sslclientcert)
+ sslclientkey = Inherit(YumConf.sslclientkey)
+
+
def readStartupConfig(configfile, root):
'''
Parse Yum's main configuration file and return a StartupConf instance.
@@ -771,9 +794,10 @@ def readStartupConfig(configfile, root):
for path in startupconf.pluginpath:
if not path[0] == '/':
raise Errors.ConfigError("All plugin search paths must be absolute")
-
# Stuff this here to avoid later re-parsing
startupconf._parser = parser
+ # setup the release ver here
+ startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg)
return startupconf
@@ -789,9 +813,9 @@ def readMainConfig(startupconf):
# Set up substitution vars
yumvars = _getEnvVar()
- yumvars['basearch'] = rpmUtils.arch.getBaseArch() # FIXME make this configurable??
- yumvars['arch'] = rpmUtils.arch.getCanonArch() # FIXME make this configurable??
- yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
+ yumvars['basearch'] = startupconf.basearch
+ yumvars['arch'] = startupconf.arch
+ yumvars['releasever'] = startupconf.releasever
# Read [main] section
yumconf = YumConf()
@@ -803,6 +827,7 @@ def readMainConfig(startupconf):
ir_path = yumconf.installroot + path
ir_path = ir_path.replace('//', '/') # os.path.normpath won't fix this and
# it annoys me
+ ir_path = varReplace(ir_path, yumvars)
setattr(yumconf, option, ir_path)
# Add in some extra attributes which aren't actually configuration values
@@ -864,7 +889,11 @@ def _getsysver(installroot, distroverpkg):
'''
ts = rpmUtils.transaction.initReadOnlyTransaction(root=installroot)
ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS))
- idx = ts.dbMatch('provides', distroverpkg)
+ try:
+ idx = ts.dbMatch('provides', distroverpkg)
+ except TypeError, e:
+ # This is code for "cannot open rpmdb"
+ raise Errors.YumBaseError("Error: " + e.message)
# we're going to take the first one - if there is more than one of these
# then the user needs a beating
if idx.count() == 0:
@@ -884,6 +913,10 @@ def writeRawRepoFile(repo,only=None):
@param only: List of attributes to work on (None = All)
It work by reading the repo file, changes the values there shall be changed and write it back to disk.
"""
+
+ if not _use_iniparse:
+ return
+
ini = INIConfig(open(repo.repofile))
# Updated the ConfigParser with the changed values
cfgOptions = repo.cfg.options(repo.id)
diff --git a/yum/constants.py b/yum/constants.py
index 3711fc0..06d5a6b 100644
--- a/yum/constants.py
+++ b/yum/constants.py
@@ -111,3 +111,11 @@ PATTERNS_INDEXED_MAX = 128
RPM_CHECKSUM_TYPES = { 1:'md5', 2:'sha1', 8:'sha256', 9:'sha384', 10:'sha512',
11:'sha224' } # from RFC 4880
+
+
+# for repo verification/checks
+REPO_PROBLEM_REPOMD=1
+REPO_PROBLEM_METADATA=2
+REPO_PROBLEM_COMPS=3
+REPO_PROBLEM_OTHER=4
+REPO_PROBLEM_PACKAGE=5
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 370d12a..d6b1b02 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -15,7 +15,7 @@
# Copyright 2005 Duke University
"""
-Depedancy resolution module for yum.
+Dependency resolution module for yum.
"""
import os.path
@@ -24,8 +24,7 @@ import logging
import rpmUtils.transaction
import rpmUtils.miscutils
-import rpmUtils.arch
-from rpmUtils.arch import archDifference, isMultiLibArch, getBestArch, canCoinstall
+from rpmUtils.arch import archDifference, canCoinstall
import misc
from misc import unique, version_tuple_to_string
import rpm
@@ -555,18 +554,15 @@ class Depsolve(object):
self._last_req = pkg
return checkdeps, missingdep
- # find out which arch of the ones we can choose from is closest
- # to the arch of the requesting pkg
- newest = provSack.returnNewestByNameArch()
- if len(newest) > 1: # there's no way this can be zero
-
- pkgresults = self._compare_providers(newest, requiringPo)
- # take the first one...
- best = pkgresults[0][0]
-
- elif len(newest) == 1:
- best = newest[0]
-
+ pkgs = provSack.returnPackages()
+ if len(pkgs) == 1: # Minor opt.
+ best = pkgs[0]
+ else:
+ # Always do compare providers for multiple pkgs, it deals with
+ # newest etc. ... so no need to do NewestNameArch() ... and it
+ # stops compare_providers from being clever.
+ pkgresults = self._compare_providers(pkgs, requiringPo)
+ best = pkgresults[0][0]
if self.rpmdb.contains(po=best): # is it already installed?
missingdep = 1
@@ -1046,7 +1042,7 @@ class Depsolve(object):
# return the package which is closer or None for equal, or equally useless
x_dist = archDifference(req_compare_arch, x.arch)
- if isMultiLibArch(): # only go to the next one if we're multilib -
+ if self.arch.multilib: # only go to the next one if we're multilib -
if x_dist == 0: # can't really use best's arch anyway...
self.verbose_logger.log(logginglevels.DEBUG_4,
_("better arch in po %s") %(y))
@@ -1061,18 +1057,30 @@ class Depsolve(object):
if y_dist == x_dist:
return None
return x
+
+ # Actual start of _compare_providers().
+
+ # Do a NameArch filtering, based on repo. __cmp__
+ unique_nevra_pkgs = {}
+ for pkg in pkgs:
+ if (pkg.pkgtup in unique_nevra_pkgs and
+ unique_nevra_pkgs[pkg.pkgtup].repo <= pkg.repo):
+ continue
+ unique_nevra_pkgs[pkg.pkgtup] = pkg
+ pkgs = unique_nevra_pkgs.values()
pkgresults = {}
ipkgresults = {}
for pkg in pkgs:
pkgresults[pkg] = 0
- if self.rpmdb.contains(pkg.name):
+
+ rpmdbpkgs = self.rpmdb.searchNevra(name=pkg.name)
+ if rpmdbpkgs:
# We only want to count things as "installed" if they are
# older than what we are comparing, because this then an update
# so we give preference. If they are newer then obsoletes/etc.
# could play a part ... this probably needs a better fix.
- rpmdbpkgs = self.rpmdb.returnPackages(patterns=[pkg.name])
newest = sorted(rpmdbpkgs)[-1]
if newest.verLT(pkg):
ipkgresults[pkg] = 0
@@ -1106,6 +1114,8 @@ class Depsolve(object):
# add the negative of the length of the name to the score
+
+ lpos = {}
for po in pkgs:
for nextpo in pkgs:
if po == nextpo:
@@ -1115,9 +1125,9 @@ class Depsolve(object):
# treat it like it's obsoleted. The problem here is X-1
# accidentally provides FOO, so you release X-2 without the
# provide, but X-1 is still picked over a real provider.
- na = (po.name,po.arch)
- lpos = self.pkgSack.returnNewestByNameArch(naTup=na)
- if not lpos or po != sorted(lpos)[-1]:
+ if po.name not in lpos:
+ lpos[po.name] = self.pkgSack.returnNewestByName(po.name)[:1]
+ if not lpos[po.name] or not po.verEQ(lpos[po.name][0]):
pkgresults[po] -= 1024
obsoleted = False
@@ -1130,9 +1140,9 @@ class Depsolve(object):
_("%s obsoletes %s") % (nextpo, po))
if reqpo:
- arches = (reqpo.arch, getBestArch())
+ arches = (reqpo.arch, self.arch.bestarch)
else:
- arches = (getBestArch(),)
+ arches = (self.arch.bestarch,)
for thisarch in arches:
res = _compare_arch_distance(po, nextpo, thisarch)
diff --git a/yum/metalink.py b/yum/metalink.py
index 1f406bb..c7f5f83 100755
--- a/yum/metalink.py
+++ b/yum/metalink.py
@@ -32,7 +32,7 @@ except ImportError:
import cElementTree
xmlparse = cElementTree.parse
-class MetaLinkRepoErrorParseFail(Errors.YumBaseError):
+class MetaLinkRepoErrorParseFail(Errors.RepoError):
""" An exception thrown for an unparsable MetaLinkRepoMD file. """
pass
diff --git a/yum/misc.py b/yum/misc.py
index 7d4ee61..68ab9e4 100644
--- a/yum/misc.py
+++ b/yum/misc.py
@@ -10,6 +10,7 @@ import base64
import struct
import re
import errno
+import Errors
import pgpmsg
import tempfile
import glob
@@ -24,13 +25,13 @@ except ImportError:
gpgme = None
try:
import hashlib
- _available_checksums = ['md5', 'sha1', 'sha256', 'sha512']
+ _available_checksums = set(['md5', 'sha1', 'sha256', 'sha512'])
_default_checksums = ['sha256']
except ImportError:
# Python-2.4.z ... gah!
import sha
import md5
- _available_checksums = ['md5', 'sha1']
+ _available_checksums = set(['md5', 'sha1'])
_default_checksums = ['sha1']
class hashlib:
@@ -629,8 +630,13 @@ def bunzipFile(source,dest):
break
if not data: break
- destination.write(data)
+ try:
+ destination.write(data)
+ except (OSError, IOError), e:
+ msg = "Error writing to file %s: %s" % (dest, str(e))
+ raise Errors.MiscError, msg
+
destination.close()
s_fn.close()
@@ -815,7 +821,7 @@ def setup_locale(override_codecs=True, override_time=False):
def get_my_lang_code():
- mylang = locale.getlocale()
+ mylang = locale.getlocale(locale.LC_MESSAGES)
if mylang == (None, None): # odd :)
mylang = 'C'
else:
diff --git a/yum/packageSack.py b/yum/packageSack.py
index f405217..3716410 100644
--- a/yum/packageSack.py
+++ b/yum/packageSack.py
@@ -25,6 +25,30 @@ import fnmatch
import misc
from packages import parsePackages
+class PackageSackVersion:
+ def __init__(self):
+ self._num = 0
+ self._chksum = misc.Checksums(['sha1'])
+
+ def __str__(self):
+ return "%u:%s" % (self._num, self._chksum.hexdigest())
+
+ def __eq__(self, other):
+ if other is None: return False
+ if self._num != other._num: return False
+ if self._chksum.digest() != other._chksum.digest(): return False
+ return True
+ def __ne__(self, other):
+ return not (self == other)
+
+ def update(self, pkg, csum):
+ self._num += 1
+ self._chksum.update(str(pkg))
+ if csum is not None:
+ self._chksum.update(csum[0])
+ self._chksum.update(csum[1])
+
+
class PackageSackBase(object):
"""Base class that provides the interface for PackageSacks."""
def __init__(self):
@@ -148,6 +172,35 @@ class PackageSackBase(object):
"""return list of all packages"""
raise NotImplementedError()
+ def addPackageExcluder(self, repoid, excluderid, excluder, *args):
+ """ Add an "excluder" for all packages in the repo/sack. Can basically
+ do anything based on nevra, changes lots of exclude decisions from
+ "preload package; test; delPackage" into "load excluder".
+ Excluderid is used so the caller doesn't have to track
+ "have I loaded the excluder for this repo.", it's probably only
+ useful when repoid is None ... if it turns out utterly worthless
+ then it's still not a huge wart. """
+ raise NotImplementedError()
+
+ def simpleVersion(self):
+ """ Return a simple version for all available packages. """
+ main = PackageSackVersion()
+ arepos = {}
+ for pkg in sorted(self.returnPackages()):
+ csum = pkg.returnIdSum()
+ main.update(pkg, csum)
+
+ arevs = arepos.setdefault(pkg.repoid, {})
+ rpsv = arevs.setdefault(None, PackageSackVersion())
+ rpsv.update(pkg, csum)
+
+ if pkg.repo.repoXML.revision is not None:
+ rev = pkg.repo.repoXML.revision
+ rpsv = arevs.setdefault(rev, PackageSackVersion())
+ rpsv.update(pkg, csum)
+
+ return [main, arepos]
+
def returnNewestByNameArch(self, naTup=None,
patterns=None, ignore_case=False):
"""return list of newest packages based on name, arch matching
@@ -390,13 +443,29 @@ class MetaSack(PackageSackBase):
def returnPackages(self, repoid=None, patterns=None, ignore_case=False):
- """return list of all packages, takes optional repoid"""
+ """Returns a list of packages. Note that the packages are
+ always filtered to those matching the patterns/case. An optional
+ repoid allows you to easily get data for a specific repo. """
if not repoid:
return self._computeAggregateListResult("returnPackages",
None, patterns, ignore_case)
return self.sacks[repoid].returnPackages(patterns=patterns,
ignore_case=ignore_case)
+ def addPackageExcluder(self, repoid, excluderid, excluder, *args):
+ """ Add an "excluder" for all packages in the repo/sack. Can basically
+ do anything based on nevra, changes lots of exclude decisions from
+ "preload package; test; delPackage" into "load excluder".
+ Excluderid is used so the caller doesn't have to track
+ "have I loaded the excluder for this repo.", it's probably only
+ useful when repoid is None ... if it turns out utterly worthless
+ then it's still not a huge wart. """
+ if not repoid:
+ calr = self._computeAggregateListResult
+ return calr("addPackageExcluder", None, excluderid, excluder, *args)
+ return self.sacks[repoid].addPackageExcluder(None,
+ excluderid,excluder, *args)
+
def returnNewestByNameArch(self, naTup=None,
patterns=None, ignore_case=False):
"""return list of newest packages based on name, arch matching
@@ -691,10 +760,7 @@ class PackageSack(PackageSackBase):
repoid = obj.repoid
(name, arch, epoch, ver, rel) = obj.pkgtup
- if self.compatarchs:
- if self.compatarchs.has_key(arch):
- self._addToDictAsList(self.pkgsByRepo, repoid, obj)
- else:
+ if not self.compatarchs or arch in self.compatarchs:
self._addToDictAsList(self.pkgsByRepo, repoid, obj)
if self.indexesBuilt:
self._addPackageToIndex(obj)
diff --git a/yum/packages.py b/yum/packages.py
index e3a12f2..9a56fc4 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -27,8 +27,8 @@ import re
import fnmatch
import stat
import warnings
+from subprocess import Popen, PIPE
from rpmUtils import RpmUtilsError
-import rpmUtils.arch
import rpmUtils.miscutils
from rpmUtils.miscutils import flagToString, stringToVersion
import Errors
@@ -907,13 +907,13 @@ class YumAvailablePackage(PackageObject, RpmBase):
for (name, flags, (e,v,r)) in mylist:
pcostring = ''' <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True)
if flags:
- pcostring += ''' flags="%s"''' % flags
+ pcostring += ''' flags="%s"''' % misc.to_xml(flags, attrib=True)
if e:
- pcostring += ''' epoch="%s"''' % e
+ pcostring += ''' epoch="%s"''' % misc.to_xml(e, attrib=True)
if v:
- pcostring += ''' ver="%s"''' % v
+ pcostring += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
if r:
- pcostring += ''' rel="%s"''' % r
+ pcostring += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
pcostring += "/>\n"
msg += pcostring
@@ -978,13 +978,13 @@ class YumAvailablePackage(PackageObject, RpmBase):
continue
prcostring = ''' <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True)
if flags:
- prcostring += ''' flags="%s"''' % flags
+ prcostring += ''' flags="%s"''' % misc.to_xml(flags, attrib=True)
if e:
- prcostring += ''' epoch="%s"''' % e
+ prcostring += ''' epoch="%s"''' % misc.to_xml(e, attrib=True)
if v:
- prcostring += ''' ver="%s"''' % v
+ prcostring += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
if r:
- prcostring += ''' rel="%s"''' % r
+ prcostring += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
if pre:
prcostring += ''' pre="%s"''' % pre
@@ -1121,9 +1121,15 @@ class YumHeaderPackage(YumAvailablePackage):
#FIXME - if an error - return AttributeError, not KeyError
# ONLY FIX THIS AFTER THE API BREAK
if thing.startswith('__') and thing.endswith('__'):
- if not hasattr(self, thing):
- raise AttributeError, "%s has no attribute %s" % (self, thing)
- return self.hdr[thing]
+ # If these existed, then we wouldn't get here ...
+ # So these are missing.
+ raise AttributeError, "%s has no attribute %s" % (self, thing)
+ try:
+ return self.hdr[thing]
+ except KeyError:
+ # Note above, API break to fix this ... this at least is a nicer
+ # msg. so we know what we accessed that is bad.
+ raise KeyError, "%s has no attribute %s" % (self, thing)
def doepoch(self):
tmpepoch = self.hdr['epoch']
@@ -1154,24 +1160,13 @@ class YumHeaderPackage(YumAvailablePackage):
if not self.__mode_cache.has_key(mode):
self.__mode_cache[mode] = stat.S_ISDIR(mode)
+ fkey = 'file'
if self.__mode_cache[mode]:
- if not self.files.has_key('dir'):
- self.files['dir'] = []
- self.files['dir'].append(fn)
- else:
- if flag is None:
- if not self.files.has_key('file'):
- self.files['file'] = []
- self.files['file'].append(fn)
- else:
- if (flag & 64):
- if not self.files.has_key('ghost'):
- self.files['ghost'] = []
- self.files['ghost'].append(fn)
- continue
- if not self.files.has_key('file'):
- self.files['file'] = []
- self.files['file'].append(fn)
+ fkey = 'dir'
+ elif flag is not None and (flag & 64):
+ fkey = 'ghost'
+ self.files.setdefault(fkey, []).append(fn)
+
self._loadedfiles = True
def returnFileEntries(self, ftype='file'):
@@ -1386,8 +1381,14 @@ class YumInstalledPackage(YumHeaderPackage):
# stat
my_st = os.lstat(fn)
my_st_size = my_st.st_size
- my_user = pwd.getpwuid(my_st[stat.ST_UID])[0]
- my_group = grp.getgrgid(my_st[stat.ST_GID])[0]
+ try:
+ my_user = pwd.getpwuid(my_st[stat.ST_UID])[0]
+ except KeyError, e:
+ my_user = 'uid %s not found' % my_st[stat.ST_UID]
+ try:
+ my_group = grp.getgrgid(my_st[stat.ST_GID])[0]
+ except KeyError, e:
+ my_group = 'gid %s not found' % my_st[stat.ST_GID]
if mode < 0:
# Stupid rpm, should be unsigned value but is signed ...
@@ -1481,7 +1482,10 @@ class YumInstalledPackage(YumHeaderPackage):
if gen_csum and my_csum != csum and have_prelink:
# This is how rpm -V works, try and if that fails try
# again with prelink.
- (ig, fp,er) = os.popen3([prelink_cmd, "-y", fn])
+ p = Popen([prelink_cmd, "-y", fn],
+ shell=True, bufsize=-1, stdin=PIPE,
+ stdout=PIPE, stderr=PIPE, close_fds=True)
+ (ig, fp, er) = (p.stdin, p.stdout, p.stderr)
# er.read(1024 * 1024) # Try and get most of the stderr
fp = _CountedReadFile(fp)
my_csum = misc.checksum(csum_type, fp)
@@ -1548,9 +1552,9 @@ class YumLocalPackage(YumHeaderPackage):
try:
hdr = rpmUtils.miscutils.hdrFromPackage(ts, self.localpath)
- except RpmUtilsError:
+ except RpmUtilsError, e:
raise Errors.MiscError, \
- 'Could not open local rpm file: %s' % self.localpath
+ 'Could not open local rpm file: %s: %s' % (self.localpath, e)
fakerepo = FakeRepository(filename)
fakerepo.cost = 0
diff --git a/yum/plugins.py b/yum/plugins.py
index 68f70a4..27b1aa5 100644
--- a/yum/plugins.py
+++ b/yum/plugins.py
@@ -22,11 +22,8 @@ import gettext
import logging
import logginglevels
from constants import *
-try:
- import iniparse.compat as ConfigParser
-except ImportError:
- import ConfigParser
import config
+from config import ParsingError, ConfigParser
import Errors
from parser import ConfigPreProcessor
@@ -342,11 +339,11 @@ class YumPlugins:
self.verbose_logger.log(logginglevels.INFO_2, _("Unable to find configuration file for plugin %s")
% modname)
return None
- parser = ConfigParser.ConfigParser()
+ parser = ConfigParser()
confpp_obj = ConfigPreProcessor(conffilename)
try:
parser.readfp(confpp_obj)
- except ConfigParser.ParsingError, e:
+ except ParsingError, e:
raise Errors.ConfigError("Couldn't parse %s: %s" % (conffilename,
str(e)))
return parser
diff --git a/yum/repos.py b/yum/repos.py
index 5d9a343..32d3426 100644
--- a/yum/repos.py
+++ b/yum/repos.py
@@ -59,6 +59,10 @@ class RepoStorage:
self.gpg_import_func = _wrap_ayum_getKeyForRepo(ayum)
self.confirm_func = None
+ # This allow listEnabled() to be O(1) most of the time.
+ self._cache_enabled_repos = []
+ self.quick_enable_disable = {}
+
def doSetup(self, thisrepo = None):
self.ayum.plugins.run('prereposetup')
@@ -92,7 +96,11 @@ class RepoStorage:
if self.repos.has_key(repoobj.id):
raise Errors.DuplicateRepoError, 'Repository %s is listed more than once in the configuration' % (repoobj.id)
self.repos[repoobj.id] = repoobj
-
+ if hasattr(repoobj, 'quick_enable_disable'):
+ self.quick_enable_disable.update(repoobj.quick_enable_disable)
+ repoobj.quick_enable_disable = self.quick_enable_disable
+ else:
+ self._cache_enabled_repos = None
def delete(self, repoid):
if self.repos.has_key(repoid):
@@ -163,12 +171,21 @@ class RepoStorage:
def listEnabled(self):
"""return list of enabled repo objects"""
+
+ if (self._cache_enabled_repos is not None and
+ not self.quick_enable_disable):
+ return self._cache_enabled_repos
+
returnlist = []
for repo in self.repos.values():
if repo.isEnabled():
returnlist.append(repo)
returnlist.sort()
+
+ if self._cache_enabled_repos is not None:
+ self._cache_enabled_repos = returnlist
+ self.quick_enable_disable.clear()
return returnlist
def listGroupsEnabled(self):
@@ -266,6 +283,7 @@ class Repository:
def __init__(self, repoid):
self.id = repoid
+ self.quick_enable_disable = {}
self.disable()
def __cmp__(self, other):
@@ -303,9 +321,11 @@ class Repository:
def enable(self):
self.setAttribute('enabled', 1)
+ self.quick_enable_disable[self.id] = True
def disable(self):
self.setAttribute('enabled', 0)
+ self.quick_enable_disable[self.id] = False
def getExcludePkgList(self):
excludeList = self.getAttribute('exclude')
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index 5189b18..fbeb9b3 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -25,7 +25,7 @@ from rpmUtils.transaction import initReadOnlyTransaction
import misc
import Errors
from packages import YumInstalledPackage, parsePackages
-from packageSack import PackageSackBase
+from packageSack import PackageSackBase, PackageSackVersion
# For returnPackages(patterns=)
import fnmatch
@@ -65,9 +65,10 @@ class RPMInstalledPackage(YumInstalledPackage):
def __getattr__(self, varname):
self.hdr = val = self._get_hdr()
self._has_hdr = True
+ # If these existed, then we wouldn't get here ... and nothing in the DB
+ # starts and ends with __'s. So these are missing.
if varname.startswith('__') and varname.endswith('__'):
- if not hasattr(self, varname):
- raise AttributeError, "%s has no attribute %s" % (self, varname)
+ raise AttributeError, "%s has no attribute %s" % (self, varname)
if varname != 'hdr': # This is unusual, for anything that happens
val = val[varname] # a lot we should preload at __init__.
@@ -140,7 +141,10 @@ class RPMDBPackageSack(PackageSackBase):
self._simple_pkgtup_list = []
self._get_pro_cache = {}
self._get_req_cache = {}
- misc.unshare_data()
+ # We can be called on python shutdown (due to yb.__del__), at which
+ # point other modules might not be available.
+ if misc is not None:
+ misc.unshare_data()
self._cache = {
'provides' : { },
'requires' : { },
@@ -265,12 +269,12 @@ class RPMDBPackageSack(PackageSackBase):
(name, arch) = naTup
- allpkg = [ po.pkgtup for po in self._search(name=name, arch=arch) ]
+ allpkg = self._search(name=name, arch=arch)
if not allpkg:
raise Errors.PackageSackError, 'No Package Matching %s' % name
- return misc.newestInList(allpkg)
+ return [ po.pkgtup for po in misc.newestInList(allpkg) ]
def returnNewestByName(self, name=None):
if not name:
@@ -319,6 +323,9 @@ class RPMDBPackageSack(PackageSackBase):
return False
def returnPackages(self, repoid=None, patterns=None, ignore_case=False):
+ """Returns a list of packages. Note that the packages are
+ always filtered to those matching the patterns/case. repoid is
+ ignored, and is just here for compatibility with non-rpmdb sacks. """
if not self._completely_loaded:
rpats = self._compile_patterns(patterns, ignore_case)
for hdr, idx in self._all_packages():
@@ -332,6 +339,32 @@ class RPMDBPackageSack(PackageSackBase):
pkgobjlist = pkgobjlist[0] + pkgobjlist[1]
return pkgobjlist
+ def simpleVersion(self):
+ """ Return a simple version for all installed packages. """
+ main = PackageSackVersion()
+ irepos = {}
+ for pkg in sorted(self.returnPackages()):
+ ydbi = pkg.yumdb_info
+ csum = None
+ if 'checksum_type' in ydbi and 'checksum_data' in ydbi:
+ csum = (ydbi.checksum_type, ydbi.checksum_data)
+ main.update(pkg, csum)
+
+ repoid = 'installed'
+ rev = None
+ if 'from_repo' in pkg.yumdb_info:
+ repoid = '@' + pkg.yumdb_info.from_repo
+ if 'from_repo_revision' in pkg.yumdb_info:
+ rev = pkg.yumdb_info.from_repo_revision
+ irevs = irepos.setdefault(repoid, {})
+ rpsv = irevs.setdefault(None, PackageSackVersion())
+ rpsv.update(pkg, csum)
+ if rev is not None:
+ rpsv = irevs.setdefault(rev, PackageSackVersion())
+ rpsv.update(pkg, csum)
+
+ return [main, irepos]
+
@staticmethod
def _find_search_fields(fields, searchstrings, hdr):
count = 0
@@ -419,8 +452,7 @@ class RPMDBPackageSack(PackageSackBase):
def _search(self, name=None, epoch=None, ver=None, rel=None, arch=None):
- '''Generator that yields matching packages
- '''
+ '''List of matching packages, to zero or more of NEVRA.'''
pkgtup = (name, arch, epoch, ver, rel)
if self._tup2pkg.has_key(pkgtup):
return [self._tup2pkg[pkgtup]]
@@ -735,6 +767,9 @@ class RPMDBAdditionalDataPackage(object):
def _read(self, attr):
attr = _sanitize(attr)
+ if attr.endswith('.tmp'):
+ raise AttributeError, "%s has no attribute %s" % (self, attr)
+
if attr in self._read_cached_data:
return self._read_cached_data[attr]
@@ -751,7 +786,7 @@ class RPMDBAdditionalDataPackage(object):
def _delete(self, attr):
"""remove the attribute file"""
- self.get(attr)
+ attr = _sanitize(attr)
fn = self._mydir + '/' + attr
if attr in self._read_cached_data:
del self._read_cached_data[attr]
@@ -776,18 +811,20 @@ class RPMDBAdditionalDataPackage(object):
else:
object.__delattr__(self, attr)
- def __iter__(self):
+ def __iter__(self, show_hidden=False):
for item in self._read_cached_data:
yield item
for item in glob.glob(self._mydir + '/*'):
item = item[(len(self._mydir) + 1):]
if item in self._read_cached_data:
continue
+ if not show_hidden and item.endswith('.tmp'):
+ continue
yield item
def clean(self):
# purge out everything
- for item in self:
+ for item in self.__iter__(show_hidden=True):
self._delete(item)
try:
os.rmdir(self._mydir)
diff --git a/yum/rpmtrans.py b/yum/rpmtrans.py
index 806fd25..053b272 100644
--- a/yum/rpmtrans.py
+++ b/yum/rpmtrans.py
@@ -510,6 +510,9 @@ class RPMTransaction:
# right behavior should be
def _scriptError(self, bytes, total, h):
+ if not isinstance(h, types.TupleType):
+ # fun with install/erase transactions, see rhbz#484729
+ h = (h, None)
hdr, rpmloc = h[0], h[1]
remove_hdr = False # if we're in a clean up/remove then hdr will not be an rpm.hdr
if not isinstance(hdr, rpm.hdr):
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 7d87e0b..b6c14c5 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -36,6 +36,7 @@ import operator
from yum.misc import seq_max_split
from yum.i18n import to_utf8, to_unicode
import sys
+import re
def catchSqliteException(func):
"""This decorator converts sqlite exceptions into RepoError"""
@@ -60,6 +61,120 @@ def catchSqliteException(func):
def _share_data(value):
return misc.share_data(value)
+# FIXME: parsePackages()
+import re
+import fnmatch
+def _parse_pkg_n(match, regexp_match, n):
+ if match == n:
+ return True
+ if not regexp_match:
+ return False
+
+ if (match and n and match[0] not in ('?', '*') and match[0] != n[0]):
+ return False
+ if regexp_match(n):
+ return True
+ return False
+
+def _parse_pkg(match, regexp_match, data, e,v,r,a):
+
+ n = data['n']
+ assert e, 'Nothing in epoch'
+ # Worthless speed hacks?
+ if match == n:
+ return True
+ if (match and n and match[0] not in ('?', '*') and
+ match[0] != n[0] and match[0] != e[0]):
+ return False
+
+ if 'nameArch' not in data:
+ data['nameArch'] = '%s.%s' % (n, a)
+ data['nameVerRelArch'] = '%s-%s-%s.%s' % (n, v, r, a)
+ data['nameVer'] = '%s-%s' % (n, v)
+ data['nameVerRel'] = '%s-%s-%s' % (n, v, r)
+ data['envra'] = '%s:%s-%s-%s.%s' % (e, n, v, r, a)
+ data['nevra'] = '%s-%s:%s-%s.%s' % (n, e, v, r, a)
+ data = set([n, data['nameArch'], data['nameVerRelArch'], data['nameVer'],
+ data['nameVerRel'], data['envra'], data['nevra']])
+
+ if match in data:
+ return True
+ if not regexp_match:
+ return False
+
+ for item in data:
+ if regexp_match(item):
+ return True
+ return False
+
+def _excluder_match(excluder, match, regexp_match, data, e,v,r,a):
+ if False: pass
+ elif excluder in ('eq', 'match'):
+ if _parse_pkg(match, regexp_match, data, e,v,r,a):
+ return True
+
+ elif excluder in ('name.eq', 'name.match'):
+ if _parse_pkg_n(match, regexp_match, data['n']):
+ return True
+
+ elif excluder in ('arch.eq', 'arch.match'):
+ if _parse_pkg_n(match, regexp_match, a):
+ return True
+
+ elif excluder == 'nevr.eq':
+ if 'nevr' not in data:
+ data['nevr'] = '%s-%s:%s-%s' % (data['n'], e, v, r)
+ if match == data['nevr']:
+ return True
+
+ elif excluder in ('nevra.eq', 'nevra.match'):
+ if 'nevra' not in data:
+ data['nevra'] = '%s-%s:%s-%s.%s' % (data['n'], e, v, r, a)
+ if _parse_pkg_n(match, regexp_match, data['nevra']):
+ return True
+
+ elif excluder == 'name.in':
+ if data['n'] in match:
+ return True
+
+ elif excluder == 'nevr.in':
+ if 'nevr' not in data:
+ data['nevr'] = '%s-%s:%s-%s' % (data['n'], e, v, r)
+ if data['nevr'] in match:
+ return True
+
+ elif excluder == 'nevra.in':
+ if 'nevra' not in data:
+ data['nevra'] = '%s-%s:%s-%s.%s' % (data['n'], e, v, r, a)
+ if data['nevra'] in match:
+ return True
+
+ elif excluder == 'pkgtup.eq':
+ if match == data['pkgtup']:
+ return True
+
+ elif excluder == 'pkgtup.in':
+ if data['pkgtup'] in match:
+ return True
+
+ elif excluder == 'marked':
+ if data['marked']:
+ return True
+
+ elif excluder == 'washed':
+ if not data['marked']:
+ return True
+
+ elif excluder == '*':
+ return True
+
+ else:
+ assert False, 'Bad excluder: ' + excluder
+ return None
+
+ return False
+
+
class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
def __init__(self, repo, db_obj):
self.prco = { 'obsoletes': (),
@@ -103,13 +218,9 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
except (IndexError, KeyError):
pass
- for item in ['pkgId']:
- try:
- setattr(self, item, db_obj[item])
- except (IndexError, KeyError):
- pass
-
try:
+ self.pkgId = db_obj['pkgId']
+
checksum_type = _share_data(db_obj['checksum_type'])
check_sum = (checksum_type, db_obj['pkgId'], True)
self._checksums = [ check_sum ]
@@ -144,9 +255,10 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
'checksum_value' : 'pkgId',
}
+ # If these existed, then we wouldn't get here ... and nothing in the DB
+ # starts and ends with __'s. So these are missing.
if varname.startswith('__') and varname.endswith('__'):
- if not hasattr(self, varname):
- raise AttributeError, varname
+ raise AttributeError, varname
dbname = varname
if db2simplemap.has_key(varname):
@@ -291,15 +403,22 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
self.primarydb = {}
self.filelistsdb = {}
self.otherdb = {}
- self.excludes = {}
+ self.excludes = {} # of [repo] => {} of pkgId's => 1
self._excludes = set() # of (repo, pkgKey)
+ self._exclude_whitelist = set() # of (repo, pkgKey)
self._all_excludes = {}
self._search_cache = {
'provides' : { },
'requires' : { },
}
self._key2pkg = {}
+ self._pkgname2pkgkeys = {}
+ self._pkgtup2pkgs = {}
+ self._pkgnames_loaded = set()
self._arch_allowed = None
+ self._pkgExcluder = []
+ self._pkgExcludeIds = {}
+ self._pkgobjlist_dirty = False
@catchSqliteException
def _sql_MD(self, MD, repo, sql, *args):
@@ -315,6 +434,18 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
sql = "SELECT count(pkgId) FROM packages"
return self._sql_MD('primary', repo, sql).fetchone()[0]
+ def _clean_pkgobjlist(self):
+ """ If the pkgobjlist is dirty (possible pkgs on it which are excluded)
+ then clean it, and return the clean list. """
+ assert hasattr(self, 'pkgobjlist')
+
+ if self._pkgobjlist_dirty:
+ pol = filter(lambda x: not self._pkgExcluded(x), self.pkgobjlist)
+ self.pkgobjlist = pol
+ self._pkgobjlist_dirty = False
+
+ return self.pkgobjlist
+
def __len__(self):
# First check if everything is excluded
all_excluded = True
@@ -325,14 +456,13 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if all_excluded:
return 0
+ if hasattr(self, 'pkgobjlist'):
+ return len(self._clean_pkgobjlist())
+
exclude_num = 0
for repo in self.excludes:
exclude_num += len(self.excludes[repo])
- if hasattr(self, 'pkgobjlist'):
- return len(self.pkgobjlist) - exclude_num
-
pkg_num = 0
- sql = "SELECT count(pkgId) FROM packages"
for repo in self.primarydb:
pkg_num += self._sql_MD_pkg_num('primary', repo)
return pkg_num - exclude_num
@@ -344,7 +474,10 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
del self._memoize_provides
if hasattr(self, 'pkgobjlist'):
del self.pkgobjlist
+ self._pkgobjlist_dirty = False
self._key2pkg = {}
+ self._pkgname2pkgkeys = {}
+ self._pkgnames_loaded = set()
self._search_cache = {
'provides' : { },
'requires' : { },
@@ -364,7 +497,11 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
self.otherdb = {}
self.excludes = {}
self._excludes = set()
+ self._exclude_whitelist = set()
self._all_excludes = {}
+ self._pkgExcluder = []
+ self._pkgExcludeIds = {}
+ self._pkgobjlist_dirty = False
yumRepo.YumPackageSack.close(self)
@@ -376,6 +513,18 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
def _checkIndexes(self, failure='error'):
return
+ def _delPackageRK(self, repo, pkgKey):
+ ''' Exclude a package so that _pkgExcluded*() knows it's gone.
+ Note that this doesn't update self.exclude. '''
+ self._excludes.add((repo, pkgKey))
+ # Don't keep references around, just wastes memory.
+ if repo in self._key2pkg:
+ po = self._key2pkg[repo].pop(pkgKey, None)
+ if po is not None: # Will also be in the pkgtup2pkgs cache...
+ pos = self._pkgtup2pkgs[po.pkgtup]
+ pos = filter(lambda x: id(x) == id(po), pos)
+ self._pkgtup2pkgs[po.pkgtup] = pos
+
# Remove a package
# Because we don't want to remove a package from the database we just
# add it to the exclude list
@@ -383,7 +532,10 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if not self.excludes.has_key(obj.repo):
self.excludes[obj.repo] = {}
self.excludes[obj.repo][obj.pkgId] = 1
- self._excludes.add( (obj.repo, obj.pkgKey) )
+ if (obj.repo, obj.pkgKey) in self._exclude_whitelist:
+ self._exclude_whitelist.discard((obj.repo, obj.pkgKey))
+ self._delPackageRK(obj.repo, obj.pkgKey)
+ self._pkgobjlist_dirty = True
def _delAllPackages(self, repo):
""" Exclude all packages from the repo. """
@@ -392,6 +544,8 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
del self.excludes[repo]
if repo in self._key2pkg:
del self._key2pkg[repo]
+ if repo in self._pkgname2pkgkeys:
+ del self._pkgname2pkgkeys[repo]
def _excluded(self, repo, pkgId):
if repo in self._all_excludes:
@@ -408,42 +562,195 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
return (repo, pkgKey) in self._excludes
- def _pkgArchExcluded(self, pkgarch):
- """ Test the arch for a package against the archlist we were passed. """
- if self._arch_allowed is not None and pkgarch not in self._arch_allowed:
+ def _pkgExcludedRKNEVRA(self, repo,pkgKey, n,e,v,r,a):
+ ''' Main function to use for "can we use this package" question.
+ . Tests repo against allowed repos.
+ . Tests pkgKey against allowed packages.
+ . Tests arch against allowed arches.
+ . Tests addPackageExcluder() calls.
+ '''
+
+ if (repo, pkgKey) in self._exclude_whitelist:
+ return False
+
+ if self._pkgKeyExcluded(repo, pkgKey):
+ return True
+
+ if self._arch_allowed is not None and a not in self._arch_allowed:
+ self._delPackageRK(repo, pkgKey)
return True
+
+ if not self._pkgExcluder:
+ return False
+
+ data = {'n' : n.lower(), 'pkgtup' : (n, a, e, v, r), 'marked' : False}
+ e = e.lower()
+ v = v.lower()
+ r = r.lower()
+ a = a.lower()
+
+ for repoid, excluder, match, regexp_match in self._pkgExcluder:
+ if repoid is not None and repoid != repo.id:
+ continue
+
+ exSPLIT = excluder.split('.', 1)
+ if len(exSPLIT) != 2:
+ assert False, 'Bad excluder: ' + excluder
+ continue
+
+ exT, exM = exSPLIT
+ if False: pass
+ elif exT == 'exclude':
+ if _excluder_match(exM, match, regexp_match, data, e,v,r,a):
+ self._delPackageRK(repo, pkgKey)
+ return True
+
+ elif exT == 'include':
+ if _excluder_match(exM, match, regexp_match, data, e,v,r,a):
+ break
+
+ elif exT == 'mark':
+ if data['marked']:
+ pass # Speed opt. don't do matches we don't need to do.
+ elif _excluder_match(exM, match, regexp_match, data, e,v,r,a):
+ data['marked'] = True
+
+ elif exT == 'wash':
+ if not data['marked']:
+ pass # Speed opt. don't do matches we don't need to do.
+ elif _excluder_match(exM, match, regexp_match, data, e,v,r,a):
+ data['marked'] = False
+
+ else:
+ assert False, 'Bad excluder: ' + excluder
+
+ self._exclude_whitelist.add((repo, pkgKey))
return False
+ def _pkgExcludedRKT(self, repo,pkgKey, pkgtup):
+ ''' Helper function to call _pkgRKNEVRAExcluded.
+ Takes a repo, pkgKey and a package tuple'''
+ (n,a,e,v,r) = pkgtup
+ return self._pkgExcludedRKNEVRA(repo, pkgKey, n,e,v,r,a)
+
+ def _pkgExcludedRKD(self, repo,pkgKey, data):
+ ''' Helper function to call _pkgRKNEVRAExcluded.
+ Takes a repo, pkgKey and a dict of package data'''
+ (n,a,e,v,r) = (data['name'], data['arch'],
+ data['epoch'], data['version'], data['release'])
+ return self._pkgExcludedRKNEVRA(repo, pkgKey, n,e,v,r,a)
+
def _pkgExcluded(self, po):
- return (self._pkgKeyExcluded(po.repo, po.pkgKey) or
- self._pkgArchExcluded(po.arch))
+ ''' Helper function to call _pkgRKNEVRAExcluded.
+ Takes a package object. '''
+ return self._pkgExcludedRKT(po.repo, po.pkgKey, po.pkgtup)
+
+ def addPackageExcluder(self, repoid, excluderid, excluder, *args):
+ """ Add an "excluder" for all packages in the repo/sack. Can basically
+ do anything based on nevra, changes lots of exclude decisions from
+ "preload package; test; delPackage" into "load excluder".
+ Excluderid is used so the caller doesn't have to track
+ "have I loaded the excluder for this repo.", it's probably only
+ useful when repoid is None ... if it turns out utterly worthless
+ then it's still not a huge wart. """
+ if excluderid is not None and excluderid in self._pkgExcludeIds:
+ return
- def _packageByKey(self, repo, pkgKey):
+ match = None
+ regexp_match = None
+ if False: pass
+ elif excluder.endswith('.eq'):
+ assert len(args) == 1
+ match = args[0].lower()
+ elif excluder.endswith('.in'):
+ assert len(args) == 1
+ match = args[0]
+ elif excluder.endswith('.match'):
+ assert len(args) == 1
+ match = args[0].lower()
+ if misc.re_glob(match):
+ regexp_match = re.compile(fnmatch.translate(match)).match
+ elif excluder.endswith('.*'):
+ assert len(args) == 0
+ elif excluder.endswith('.marked'):
+ assert len(args) == 0
+ elif excluder.endswith('.washed'):
+ assert len(args) == 0
+ # Really need to do this, need to cleanup pkgExcluder first though
+ # or it does nothing.
+ # self._pkgobjlist_dirty = True
+ self._pkgExcluder.append((repoid, excluder, match, regexp_match))
+ if excluderid is not None:
+ self._pkgExcludeIds[excluderid] = len(self._pkgExcluder)
+
+ def _packageByKey(self, repo, pkgKey, exclude=True):
""" Lookup a pkg by it's pkgKey, if we don't have it load it """
+ # Speed hack, so we don't load the pkg. if the pkgKey is dead.
+ if exclude and self._pkgKeyExcluded(repo, pkgKey):
+ return None
+
if not self._key2pkg.has_key(repo):
self._key2pkg[repo] = {}
+ self._pkgname2pkgkeys[repo] = {}
if not self._key2pkg[repo].has_key(pkgKey):
- sql = "SELECT pkgKey, pkgId, name, epoch, version, release " \
+ sql = "SELECT pkgKey, pkgId, name, epoch, version, release, arch " \
"FROM packages WHERE pkgKey = ?"
data = self._sql_MD('primary', repo, sql, (pkgKey,)).fetchone()
if data is None:
msg = "pkgKey %s doesn't exist in repo %s" % (pkgKey, repo)
raise Errors.RepoError, msg
-
- self._key2pkg[repo][pkgKey] = self.pc(repo, data)
- if self._pkgArchExcluded(self._key2pkg[repo][pkgKey].arch):
- return None
+ if exclude and self._pkgExcludedRKD(repo, pkgKey, data):
+ return None
+ po = self.pc(repo, data)
+ self._key2pkg[repo][pkgKey] = po
+ self._pkgtup2pkgs.setdefault(po.pkgtup, []).append(po)
+ pkgkeys = self._pkgname2pkgkeys[repo].setdefault(data['name'], [])
+ pkgkeys.append(pkgKey)
return self._key2pkg[repo][pkgKey]
- def _packageByKeyData(self, repo, pkgKey, data):
+ def _packageByKeyData(self, repo, pkgKey, data, exclude=True):
""" Like _packageByKey() but we already have the data for .pc() """
- if self._pkgArchExcluded(data['arch']):
+ if exclude and self._pkgExcludedRKD(repo, pkgKey, data):
return None
+ if repo not in self._key2pkg:
+ self._key2pkg[repo] = {}
+ self._pkgname2pkgkeys[repo] = {}
if data['pkgKey'] not in self._key2pkg.get(repo, {}):
po = self.pc(repo, data)
- self._key2pkg.setdefault(repo, {})[pkgKey] = po
+ self._key2pkg[repo][pkgKey] = po
+ self._pkgtup2pkgs.setdefault(po.pkgtup, []).append(po)
+ pkgkeys = self._pkgname2pkgkeys[repo].setdefault(data['name'], [])
+ pkgkeys.append(pkgKey)
return self._key2pkg[repo][data['pkgKey']]
+ def _pkgtupByKeyData(self, repo, pkgKey, data):
+ """ Like _packageByKeyData() but we don't create the package, we just
+ return the pkgtup. """
+ if self._pkgExcludedRKD(repo, pkgKey, data):
+ return None
+ if repo not in self._key2pkg:
+ self._key2pkg[repo] = {}
+ self._pkgname2pkgkeys[repo] = {}
+ if data['pkgKey'] in self._key2pkg.get(repo, {}):
+ return self._key2pkg[repo][data['pkgKey']].pkgtup
+ return (data['name'], data['arch'],
+ data['epoch'], data['version'], data['release'])
+
+ def _packagesByName(self, pkgname):
+ """ Load all pkgnames from cache, with a given name. """
+ ret = []
+ for repo in self.primarydb:
+ pkgkeys = self._pkgname2pkgkeys.get(repo, {}).get(pkgname, [])
+ if not pkgkeys:
+ continue
+
+ for pkgkey in pkgkeys:
+ pkg = self._packageByKey(repo, pkgkey)
+ if pkg is None:
+ continue
+ ret.append(pkg)
+ return ret
+
def addDict(self, repo, datatype, dataobj, callback=None):
if self.added.has_key(repo):
if datatype in self.added[repo]:
@@ -481,8 +788,6 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
""" Takes a cursor and maps the pkgKey rows into a list of packages. """
if pkgs is None: pkgs = []
for ob in cur:
- if self._pkgKeyExcluded(repo, ob['pkgKey']):
- continue
if have_data:
pkg = self._packageByKeyData(repo, ob['pkgKey'], ob)
else:
@@ -528,6 +833,22 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
return skip_all
@catchSqliteException
+ def _search_primary_files(self, name):
+ querytype = 'glob'
+ if not misc.re_glob(name):
+ querytype = '='
+ results = []
+
+ for (rep,cache) in self.primarydb.items():
+ if rep in self._all_excludes:
+ continue
+ cur = cache.cursor()
+ executeSQL(cur, "select DISTINCT pkgKey from files where name %s ?" % querytype, (name,))
+ self._sql_pkgKey2po(rep, cur, results)
+
+ return misc.unique(results)
+
+ @catchSqliteException
def searchFiles(self, name, strict=False):
"""search primary if file will be in there, if not, search filelists, use globs, if possible"""
@@ -539,16 +860,28 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
# if so, just use those for the lookup
glob = True
+ file_glob = True
querytype = 'glob'
+ dirname = os.path.dirname(name)
+ filename = os.path.basename(name)
if strict or not misc.re_glob(name):
glob = False
+ file_glob = False
querytype = '='
+ elif not misc.re_glob(filename):
+ file_glob = False
# Take off the trailing slash to act like rpm
if name[-1] == '/':
name = name[:-1]
pkgs = []
+
+ # ultra simple optimization
+ if misc.re_primary_filename(name):
+ if not misc.re_glob(dirname): # is the dirname a glob?
+ return self._search_primary_files(name)
+
if len(self.filelistsdb) == 0:
# grab repo object from primarydb and force filelists population in this sack using repo
# sack.populate(repo, mdtype, callback, cacheonly)
@@ -566,41 +899,53 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if pri_pkgs != fil_pkgs:
raise Errors.RepoError
+ sql_params = []
+ dirname_check = ""
+ if not glob:
+ (pattern, esc) = self._sql_esc(filename)
+ dirname_check = "dirname = ? and filenames LIKE ? %s and " % esc
+ sql_params.append(dirname)
+ sql_params.append('%' + pattern + '%')
+ elif not file_glob:
+ (pattern, esc) = self._sql_esc(filename)
+ dirname_check = "dirname GLOB ? and filenames LIKE ? %s and " % esc
+ sql_params.append(dirname)
+ sql_params.append('%' + pattern + '%')
+
for (rep,cache) in self.filelistsdb.items():
if rep in self._all_excludes:
continue
cur = cache.cursor()
- if glob:
- dirname_check = ""
- else:
- dirname = os.path.dirname(name)
- dirname_check = "dirname = \"%s\" and " % dirname
-
# grab the entries that are a single file in the
# filenames section, use sqlites globbing if it is a glob
executeSQL(cur, "select pkgKey from filelist where \
%s length(filetypes) = 1 and \
dirname || ? || filenames \
- %s ?" % (dirname_check, querytype), ('/', name))
+ %s ?" % (dirname_check, querytype), sql_params + ['/',name])
self._sql_pkgKey2po(rep, cur, pkgs)
- def filelist_globber(dirname, filenames):
- files = filenames.split('/')
- fns = map(lambda f: '%s/%s' % (dirname, f), files)
- if glob:
- matches = fnmatch.filter(fns, name)
- else:
- matches = filter(lambda x: name==x, fns)
- return len(matches)
+ if file_glob:
+ name_re = re.compile(fnmatch.translate(name))
+ def filelist_globber(sql_dirname, sql_filenames):
+ files = sql_filenames.split('/')
+ if not file_glob:
+ return filename in files
+
+ fns = map(lambda f: '%s/%s' % (sql_dirname, f), files)
+ for match in fns:
+ if name_re.match(match):
+ return True
+ return False
cache.create_function("filelist_globber", 2, filelist_globber)
# for all the ones where filenames is multiple files,
# make the files up whole and use python's globbing method
executeSQL(cur, "select pkgKey from filelist where \
%s length(filetypes) > 1 \
- and filelist_globber(dirname,filenames)" % dirname_check)
+ and filelist_globber(dirname,filenames)" % dirname_check,
+ sql_params)
self._sql_pkgKey2po(rep, cur, pkgs)
@@ -676,8 +1021,6 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
cur = cache.cursor()
executeSQL(cur, totalstring)
for ob in cur:
- if self._pkgKeyExcluded(rep, ob['pkgKey']):
- continue
pkg = self._packageByKey(rep, ob['pkgKey'])
if pkg is None:
continue
@@ -704,16 +1047,12 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
obsoletes.flags as oflags\
from obsoletes,packages where obsoletes.pkgKey = packages.pkgKey")
for ob in cur:
- # If the package that is causing the obsoletes is excluded
- # continue without processing the obsoletes
- if self._pkgKeyExcluded(rep, ob['pkgKey']):
- continue
- if self._pkgArchExcluded(ob['arch']):
- continue
-
key = ( _share_data(ob['name']), _share_data(ob['arch']),
_share_data(ob['epoch']), _share_data(ob['version']),
_share_data(ob['release']))
+ if self._pkgExcludedRKT(rep, ob['pkgKey'], key):
+ continue
+
(n,f,e,v,r) = ( _share_data(ob['oname']),
_share_data(ob['oflags']),
_share_data(ob['oepoch']),
@@ -817,8 +1156,6 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if rpmUtils.miscutils.rangeCompare(req, val):
tmp.setdefault(pkgkey, []).append(val)
for pkgKey, hits in tmp.iteritems():
- if self._pkgKeyExcluded(rep, pkgKey):
- continue
pkg = self._packageByKey(rep, pkgKey)
if pkg is None:
continue
@@ -840,8 +1177,6 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if rpmUtils.miscutils.rangeCompare(req, val):
tmp.setdefault(x['pkgKey'], []).append(val)
for pkgKey, hits in tmp.iteritems():
- if self._pkgKeyExcluded(rep, pkgKey):
- continue
pkg = self._packageByKey(rep, pkgKey)
if pkg is None:
continue
@@ -862,20 +1197,10 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
return result
# If it is a filename, search the primary.xml file info
- for (rep,cache) in self.primarydb.items():
- if rep in self._all_excludes:
- continue
-
- cur = cache.cursor()
- executeSQL(cur, "select DISTINCT pkgKey from files where name = ?", (name,))
- for ob in cur:
- if self._pkgKeyExcluded(rep, ob['pkgKey']):
- continue
- pkg = self._packageByKey(rep, ob['pkgKey'])
- if pkg is None:
- continue
- result[pkg] = [(name, None, None)]
- self._search_cache[prcotype][req] = result
+
+ for pkg in self._search_primary_files(name):
+ result[pkg] = [(name, None, None)]
+ self._search_cache[prcotype][req] = result
return result
def getProvides(self, name, flags=None, version=(None, None, None)):
@@ -892,23 +1217,25 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if self._skip_all():
return []
+ loaded_all_names = hasattr(self, 'pkgobjlist')
returnList = []
- if hasattr(self, 'pkgobjlist'):
- names = set(names)
- for po in self.pkgobjlist:
- if po.name not in names:
- continue
- if self._pkgExcluded(po):
- continue
- returnList.append(po)
+ user_names = set(names)
+ names = []
+ for pkgname in user_names:
+ if loaded_all_names or pkgname in self._pkgnames_loaded:
+ returnList.extend(self._packagesByName(pkgname))
+ else:
+ names.append(pkgname)
+
+ if not names:
return returnList
max_entries = constants.PATTERNS_INDEXED_MAX
if len(names) > max_entries:
- returnList = set() # Unique
+ # Unique is done at user_names time, above.
for names in seq_max_split(names, max_entries):
- returnList.update(self.searchNames(names))
- return list(returnList)
+ returnList.extend(self.searchNames(names))
+ return returnList
pat_sqls = []
qsql = """select pkgId,pkgKey,name,epoch,version,release,arch
@@ -919,10 +1246,13 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
for (repo, cache) in self.primarydb.items():
cur = cache.cursor()
- executeSQL(cur, qsql, list(names))
+ executeSQL(cur, qsql, names)
self._sql_pkgKey2po(repo, cur, returnList, have_data=True)
+ # Mark all the processed pkgnames as fully loaded
+ self._pkgnames_loaded.update([name for name in names])
+
return returnList
@catchSqliteException
@@ -951,10 +1281,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
return results
# If it is a filename, search the primary.xml file info
- for (rep,cache) in self.primarydb.items():
- cur = cache.cursor()
- executeSQL(cur, "select DISTINCT pkgKey from files where name %s ?" % querytype, (name,))
- self._sql_pkgKey2po(rep, cur, results)
+ results.extend(self._search_primary_files(name))
# if its in the primary.xml files then skip the other check
if misc.re_primary_filename(name) and not glob:
@@ -1129,16 +1456,13 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
unmatched = misc.unique(unmatched)
return exactmatch, matched, unmatched
- @catchSqliteException
- def _buildPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
- """Builds a list of packages, only containing nevra information. No
- excludes are done at this stage. """
+ def _setupPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
+ """Setup need_full and patterns for _yieldSQLDataList, also see if
+ we can get away with just using searchNames(). """
if patterns is None:
patterns = []
- returnList = []
-
fields = ['name', 'sql_nameArch', 'sql_nameVerRelArch',
'sql_nameVer', 'sql_nameVerRel',
'sql_envra', 'sql_nevra']
@@ -1158,12 +1482,22 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
patterns = self._sql_esc_glob(patterns)
else:
tmp = []
+ need_glob = False
for pat in patterns:
if misc.re_glob(pat):
tmp.append((pat, 'glob'))
+ need_glob = True
else:
tmp.append((pat, '='))
+ if not need_full and not need_glob and patterns:
+ return (need_full, patterns, fields, True)
patterns = tmp
+ return (need_full, patterns, fields, False)
+
+ @catchSqliteException
+ def _yieldSQLDataList(self, repoid, patterns, fields, ignore_case):
+ """Yields all the package data for the given params. Excludes are done
+ at this stage. """
for (repo,cache) in self.primarydb.items():
if (repoid == None or repoid == repo.id):
@@ -1184,45 +1518,97 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if pat_sqls:
qsql = _FULL_PARSE_QUERY_BEG + " OR ".join(pat_sqls)
executeSQL(cur, qsql, pat_data)
- # Note: Not using _sql_pkgKey2po() so that we can "un-exclude"
- # things later on ... if that matters.
for x in cur:
- po = self._packageByKeyData(repo, x['pkgKey'], x)
- if po is None: # Arch exclude is done here.
- continue
- returnList.append(po)
- if not patterns:
+ yield (repo, x)
+
+ def _buildPkgObjList(self, repoid=None, patterns=None, ignore_case=False):
+ """Builds a list of packages, only containing nevra information.
+ Excludes are done at this stage. """
+
+ returnList = []
+
+ data = self._setupPkgObjList(repoid, patterns, ignore_case)
+ (need_full, patterns, fields, names) = data
+ if names:
+ return self.searchNames(patterns)
+
+ for (repo, x) in self._yieldSQLDataList(repoid, patterns, fields,
+ ignore_case):
+ po = self._packageByKeyData(repo, x['pkgKey'], x)
+ if po is None:
+ continue
+ returnList.append(po)
+ if not patterns and repoid is None:
self.pkgobjlist = returnList
+ self._pkgnames_loaded = set() # Save memory
+ if not need_full and repoid is None:
+ # Mark all the processed pkgnames as fully loaded
+ self._pkgnames_loaded.update([po.name for po in returnList])
+
return returnList
def returnPackages(self, repoid=None, patterns=None, ignore_case=False):
"""Returns a list of packages, only containing nevra information. The
- packages are processed for excludes. Note that patterns is just
- a hint, we are free it ignore it. """
+ packages are processed for excludes. Note that the packages are
+ always filtered to those matching the patterns/case. """
if self._skip_all():
return []
- if hasattr(self, 'pkgobjlist'):
- pkgobjlist = self.pkgobjlist
+ internal_pkgoblist = hasattr(self, 'pkgobjlist')
+ if internal_pkgoblist:
+ pkgobjlist = self._clean_pkgobjlist()
else:
pkgobjlist = self._buildPkgObjList(repoid, patterns, ignore_case)
+ internal_pkgoblist = hasattr(self, 'pkgobjlist')
- if hasattr(self, 'pkgobjlist') and patterns:
+ if internal_pkgoblist and patterns:
+ internal_pkgoblist = False
pkgobjlist = parsePackages(pkgobjlist, patterns, not ignore_case,
unique='repo-pkgkey')
pkgobjlist = pkgobjlist[0] + pkgobjlist[1]
+ # Can't unexclude things, and new excludes are done above...
+ if repoid is None:
+ if internal_pkgoblist:
+ pkgobjlist = pkgobjlist[:]
+ return pkgobjlist
+
returnList = []
for po in pkgobjlist:
- if repoid is not None and repoid != po.repoid:
- continue
- if self._pkgExcluded(po):
+ if repoid != po.repoid:
continue
returnList.append(po)
return returnList
+ 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
+ matching the patterns/case. """
+
+ if self._skip_all():
+ return []
+
+ internal_pkgoblist = hasattr(self, 'pkgobjlist')
+ if internal_pkgoblist:
+ return yumRepo.YumPackageSack.simplePkgList(self, patterns,
+ ignore_case)
+
+ repoid = None
+ returnList = []
+ # Haven't loaded everything, so _just_ get the pkgtups...
+ data = self._setupPkgObjList(repoid, patterns, ignore_case)
+ (need_full, patterns, fields, names) = data
+ for (repo, x) in self._yieldSQLDataList(repoid, patterns, fields,
+ ignore_case):
+ # NOTE: Can't unexclude things...
+ pkgtup = self._pkgtupByKeyData(repo, x['pkgKey'], x)
+ if pkgtup is None:
+ continue
+ returnList.append(pkgtup)
+ return returnList
+
@catchSqliteException
def searchNevra(self, name=None, epoch=None, ver=None, rel=None, arch=None):
"""return list of pkgobjects matching the nevra requested"""
@@ -1231,6 +1617,18 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
returnList = []
+ if name: # Almost always true...
+ for pkg in self.searchNames(names=[name]):
+ match = True
+ for (col, var) in [('epoch', epoch), ('version', ver),
+ ('arch', arch), ('release', rel)]:
+ if var and getattr(pkg, col) != var:
+ match = False
+ break
+ if match:
+ returnList.append(pkg)
+ return returnList
+
# make sure some dumbass didn't pass us NOTHING to search on
empty = True
for arg in (name, epoch, ver, rel, arch):
diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py
index 05820fa..be772e5 100644
--- a/yum/transactioninfo.py
+++ b/yum/transactioninfo.py
@@ -63,6 +63,8 @@ class TransactionData:
self.depremoved = []
self.depinstalled = []
self.depupdated = []
+ self.reinstalled = []
+ self.downgraded = []
def __len__(self):
return len(self.pkgdict)
@@ -242,7 +244,7 @@ class TransactionData:
return False
- def makelists(self):
+ def makelists(self, include_reinstall=False, include_downgrade=False):
"""returns lists of transaction Member objects based on mode:
updated, installed, erased, obsoleted, depupdated, depinstalled
deperased"""
@@ -256,6 +258,8 @@ class TransactionData:
self.depremoved = []
self.depinstalled = []
self.depupdated = []
+ self.reinstalled = []
+ self.downgraded = []
self.failed = []
for txmbr in self.getMembers():
@@ -265,7 +269,15 @@ class TransactionData:
else:
self.updated.append(txmbr)
- elif txmbr.output_state == TS_INSTALL or txmbr.output_state == TS_TRUEINSTALL:
+ elif txmbr.output_state in (TS_INSTALL, TS_TRUEINSTALL):
+ if include_reinstall and self.rpmdb.contains(po=txmbr.po):
+ self.reinstalled.append(txmbr)
+ continue
+
+ if include_downgrade and txmbr.downgrades:
+ self.downgraded.append(txmbr)
+ continue
+
if txmbr.groups:
for g in txmbr.groups:
if g not in self.instgroups:
@@ -276,6 +288,9 @@ class TransactionData:
self.installed.append(txmbr)
elif txmbr.output_state == TS_ERASE:
+ if include_downgrade and txmbr.downgraded_by:
+ continue
+
for g in txmbr.groups:
if g not in self.instgroups:
self.removedgroups.append(g)
@@ -368,6 +383,23 @@ class TransactionData:
self.add(txmbr)
return txmbr
+ def addDowngrade(self, po, oldpo):
+ """adds a package as an downgrade takes a packages object and returns
+ a pair of TransactionMember Objects"""
+
+ itxmbr = self.addErase(oldpo)
+ itxmbr.relatedto.append((po, 'downgradedby'))
+ itxmbr.downgraded_by.append(po)
+
+ atxmbr = self.addInstall(po)
+ if not atxmbr: # Fail?
+ self.remove(itxmbr.pkgtup)
+ return None
+ atxmbr.relatedto.append((oldpo, 'downgrades'))
+ atxmbr.downgrades.append(oldpo)
+
+ return (itxmbr, atxmbr)
+
def addUpdated(self, po, updating_po):
"""adds a package as being updated by another pkg
takes a packages object and returns a TransactionMember Object"""
@@ -544,6 +576,8 @@ class TransactionMember:
self.obsoleted_by = []
self.updates = []
self.updated_by = []
+ self.downgrades = []
+ self.downgraded_by = []
self.groups = [] # groups it's in
self._poattr = ['pkgtup', 'repoid', 'name', 'arch', 'epoch', 'version',
'release']
diff --git a/yum/update_md.py b/yum/update_md.py
index b297704..b3a120e 100644
--- a/yum/update_md.py
+++ b/yum/update_md.py
@@ -113,6 +113,8 @@ class UpdateNotice(object):
head += "Description : %s\n" % '\n'.join(desc)
# Get a list of arches we care about:
+ #XXX ARCH CHANGE - what happens here if we set the arch - we need to
+ # pass this in, perhaps
arches = set(rpmUtils.arch.getArchList())
filelist = " Files :"
@@ -375,7 +377,12 @@ class UpdateMetadata(object):
for event, elem in iterparse(infile):
if elem.tag == 'update':
- un = UpdateNotice(elem)
+ try:
+ un = UpdateNotice(elem)
+ except UpdateNoticeException, e:
+ print >> sys.stderr, "An update notice is broken, skipping."
+ # what else should we do?
+ continue
if not self._notices.has_key(un['update_id']):
self._notices[un['update_id']] = un
for pkg in un['pkglist']:
diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 94e352c..fac218a 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -19,6 +19,7 @@ import time
import types
import urlparse
urlparse.uses_fragment.append("media")
+import gzip
import Errors
from urlgrabber.grabber import URLGrabber
@@ -33,6 +34,7 @@ import sqlitecachec
import sqlitesack
from yum import config
from yum import misc
+from yum import comps
from constants import *
import metalink
@@ -473,7 +475,12 @@ class YumRepository(Repository, config.RepoConf):
timeout=self.timeout,
copy_local=self.copy_local,
http_headers=headers,
- reget='simple')
+ reget='simple',
+ ssl_verify_peer=self.sslverify,
+ ssl_verify_host=self.sslverify,
+ ssl_ca_cert=self.sslcacert,
+ ssl_cert=self.sslclientcert,
+ ssl_key=self.sslclientkey)
self._grabfunc.opts.user_agent = default_grabber.opts.user_agent
@@ -495,6 +502,21 @@ class YumRepository(Repository, config.RepoConf):
grabfunc = property(lambda self: self._getgrabfunc())
grab = property(lambda self: self._getgrab())
+ def _dirSetupMkdir_p(self, dpath):
+ """make the necessary directory path, if possible, raise on failure"""
+ if os.path.exists(dpath) and os.path.isdir(dpath):
+ return
+
+ if self.cache:
+ raise Errors.RepoError, "Cannot access repository dir %s" % dpath
+
+ try:
+ os.makedirs(dpath, mode=0755)
+ except OSError, e:
+ msg = "%s: %s %s: %s" % ("Error making cache directory",
+ dpath, "error was", e)
+ raise Errors.RepoError, msg
+
def dirSetup(self):
"""make the necessary dirs, if possible, raise on failure"""
@@ -510,19 +532,8 @@ class YumRepository(Repository, config.RepoConf):
self.setAttribute('_dir_setup_metadata_cookie', cookie)
for dir in [self.cachedir, self.pkgdir]:
- if self.cache == 0:
- if os.path.exists(dir) and os.path.isdir(dir):
- continue
- else:
- try:
- os.makedirs(dir, mode=0755)
- except OSError, e:
- raise Errors.RepoError, \
- "Error making cache directory: %s error was: %s" % (dir, e)
- else:
- if not os.path.exists(dir):
- raise Errors.RepoError, \
- "Cannot access repository dir %s" % dir
+ self._dirSetupMkdir_p(dir)
+
# if we're using a cachedir that's not the system one, copy over these
# basic items from the system one
self._preload_md_from_system_cache('repomd.xml')
@@ -530,17 +541,35 @@ class YumRepository(Repository, config.RepoConf):
self._preload_md_from_system_cache('mirrorlist.txt')
self._preload_md_from_system_cache('metalink.xml')
- def _dirAttr(self, attr):
+ def _dirGetAttr(self, attr):
""" Make the directory attributes call .dirSetup() if needed. """
attr = '_dir_setup_' + attr
if not hasattr(self, attr):
self.dirSetup()
return getattr(self, attr)
- cachedir = property(lambda self: self._dirAttr('cachedir'))
- pkgdir = property(lambda self: self._dirAttr('pkgdir'))
- hdrdir = property(lambda self: self._dirAttr('hdrdir'))
- gpgdir = property(lambda self: self._dirAttr('gpgdir'))
- metadata_cookie = property(lambda self: self._dirAttr('metadata_cookie'))
+ def _dirSetAttr(self, attr, val):
+ """ Make the directory attributes call .dirSetup() if needed. """
+ attr = '_dir_setup_' + attr
+ if not hasattr(self, attr):
+ self.dirSetup()
+
+ if attr == '_dir_setup_pkgdir':
+ if not hasattr(self, '_old_pkgdirs'):
+ self._old_pkgdirs = []
+ self._old_pkgdirs.append(getattr(self, attr))
+
+ ret = setattr(self, attr, val)
+ if attr in ('_dir_setup_pkgdir', ):
+ self._dirSetupMkdir_p(val)
+ return ret
+ cachedir = property(lambda self: self._dirGetAttr('cachedir'))
+ pkgdir = property(lambda self: self._dirGetAttr('pkgdir'),
+ lambda self, x: self._dirSetAttr('pkgdir', x))
+ hdrdir = property(lambda self: self._dirGetAttr('hdrdir'),
+ lambda self, x: self._dirSetAttr('hdrdir', x))
+ gpgdir = property(lambda self: self._dirGetAttr('gpgdir'),
+ lambda self, x: self._dirSetAttr('gpgdir', x))
+ metadata_cookie = property(lambda self: self._dirGetAttr('metadata_cookie'))
def baseurlSetup(self):
warnings.warn('baseurlSetup() will go away in a future version of Yum.\n',
@@ -602,6 +631,9 @@ class YumRepository(Repository, config.RepoConf):
goodurls = []
skipped = None
for url in url_list:
+ # obvious bogons get ignored b/c, we could get more interesting checks but <shrug>
+ if url in ['', None]:
+ continue
url = parser.varReplace(url, self.yumvar)
if url[-1] != '/':
url= url + '/'
@@ -640,7 +672,12 @@ class YumRepository(Repository, config.RepoConf):
retry = self.retries,
throttle = self.throttle,
progress_obj = self.callback,
- proxies=self.proxy_dict)
+ proxies=self.proxy_dict,
+ ssl_verify_peer=self.sslverify,
+ ssl_verify_host=self.sslverify,
+ ssl_ca_cert=self.sslcacert,
+ ssl_cert=self.sslclientcert,
+ ssl_key=self.sslclientkey)
ug.opts.user_agent = default_grabber.opts.user_agent
result = ug.urlgrab(url, local, text=self.id + "/metalink")
@@ -743,6 +780,11 @@ class YumRepository(Repository, config.RepoConf):
timeout=self.timeout,
checkfunc=checkfunc,
http_headers=headers,
+ ssl_verify_peer=self.sslverify,
+ ssl_verify_host=self.sslverify,
+ ssl_ca_cert=self.sslcacert,
+ ssl_cert=self.sslclientcert,
+ ssl_key=self.sslclientkey
)
ug.opts.user_agent = default_grabber.opts.user_agent
@@ -790,6 +832,11 @@ class YumRepository(Repository, config.RepoConf):
local = package.localPkg()
basepath = package.basepath
+ if self._preload_pkg_from_system_cache(package):
+ if package.verifyLocalPkg():
+ return local
+ misc.unlink_f(local)
+
return self._getFile(url=basepath,
relative=remote,
local=local,
@@ -820,18 +867,28 @@ class YumRepository(Repository, config.RepoConf):
age of the cookie is less than metadata_expire time then return true
else return False. This result is cached, so that metalink/repomd.xml
are synchronized."""
- if self._metadataCurrent is None:
- mlfn = self.cachedir + '/' + 'metalink.xml'
- if self.metalink and not os.path.exists(mlfn):
- self._metadataCurrent = False
- if self._metadataCurrent is None:
- repomdfn = self.cachedir + '/' + 'repomd.xml'
- if not os.path.exists(repomdfn):
- self._metadataCurrent = False
- if self._metadataCurrent is None:
- self._metadataCurrent = self.withinCacheAge(self.metadata_cookie,
- self.metadata_expire)
- return self._metadataCurrent
+ if self._metadataCurrent is not None:
+ return self._metadataCurrent
+
+ mC_def = self.withinCacheAge(self.metadata_cookie, self.metadata_expire)
+ if not mC_def: # Normal path...
+ self._metadataCurrent = mC_def
+ return mC_def
+
+ # Edge cases, both repomd.xml and metalink (if used). Must exist.
+ repomdfn = self.cachedir + '/' + 'repomd.xml'
+ if not os.path.exists(repomdfn):
+ self._metadataCurrent = False
+ return False
+
+ self._hack_mirrorlist_for_anaconda()
+ mlfn = self.cachedir + '/' + 'metalink.xml'
+ if self.metalink and not os.path.exists(mlfn):
+ self._metadataCurrent = False
+ return False
+
+ self._metadataCurrent = True
+ return True
# The metalink _shouldn't_ be newer than the repomd.xml or the checksums
# will be off, but we only really care when we are downloading the
@@ -1596,7 +1653,19 @@ class YumRepository(Repository, config.RepoConf):
return returnlist
- def _preload_file_from_system_cache(self, filename, subdir=''):
+ def _preload_file(self, fn, destfn):
+ """attempts to copy the file, if possible"""
+ # don't copy it if the copy in our users dir is newer or equal
+ if not os.path.exists(fn):
+ return False
+ if os.path.exists(destfn):
+ if os.stat(fn)[stat.ST_CTIME] <= os.stat(destfn)[stat.ST_CTIME]:
+ return False
+ shutil.copy2(fn, destfn)
+ return True
+
+ def _preload_file_from_system_cache(self, filename, subdir='',
+ destfn=None):
"""attempts to copy the file from the system-wide cache,
if possible"""
if not hasattr(self, 'old_base_cache_dir'):
@@ -1611,16 +1680,10 @@ class YumRepository(Repository, config.RepoConf):
return False
# Try to copy whatever file it is
- fn = glob_repo_cache_dir + '/' + subdir + os.path.basename(filename)
- destfn = self.cachedir + '/' + subdir + os.path.basename(filename)
- # don't copy it if the copy in our users dir is newer or equal
- if not os.path.exists(fn):
- return False
- if os.path.exists(destfn):
- if os.stat(fn)[stat.ST_CTIME] <= os.stat(destfn)[stat.ST_CTIME]:
- return False
- shutil.copy2(fn, destfn)
- return True
+ fn = glob_repo_cache_dir + '/' + subdir + os.path.basename(filename)
+ if destfn is None:
+ destfn = self.cachedir + '/' + subdir + os.path.basename(filename)
+ return self._preload_file(fn, destfn)
def _preload_md_from_system_cache(self, filename):
"""attempts to copy the metadata file from the system-wide cache,
@@ -1630,7 +1693,87 @@ class YumRepository(Repository, config.RepoConf):
def _preload_pkg_from_system_cache(self, pkg):
"""attempts to copy the package from the system-wide cache,
if possible"""
- return self._preload_file_from_system_cache(pkg.localPkg(),subdir='packages/')
+ pname = os.path.basename(pkg.localPkg())
+ destfn = os.path.join(self.pkgdir, pname)
+ if self._preload_file_from_system_cache(pkg.localPkg(),
+ subdir='packages/',
+ destfn=destfn):
+ return True
+
+ if not hasattr(self, '_old_pkgdirs'):
+ return False
+ for opkgdir in self._old_pkgdirs:
+ if self._preload_file(os.path.join(opkgdir, pname), destfn):
+ return True
+ return False
+
+ def _verify_md(self):
+ problems = []
+ print 'verifying md'
+ try:
+ md_types = self.repoXML.fileTypes()
+ except Errors.RepoError, e:
+ prb = RepoVerifyProblem(1, "failed to load repomd.xml", str(e))
+ problems.append(prb)
+ return problems
+
+ for md_type in md_types:
+ print 'verifying %s' % md_type
+ try:
+ self.retrieveMD(md_type)
+ except Errors.RepoError, e:
+ msg = "%s metadata missing or does not match checksum" % md_type
+ prb = RepoVerifyProblem(2, msg, str(e))
+ problems.append(prb)
+
+ return problems
+
+ def _verify_comps(self):
+ print 'verifying comps'
+ problems = []
+ # grab the comps for this repo
+ # run the xmllint on it
+ # chuck it into a comps object
+ # make sure it parses
+
+ grpfile = self.getGroups()
+
+ # open it up as a file object so iterparse can cope with our gz file
+ if grpfile is not None and grpfile.endswith('.gz'):
+ grpfile = gzip.open(grpfile)
+ try:
+ c = comps.Comps()
+ c.add(grpfile)
+ except (Errors.GroupsError, Errors.CompsException), e:
+ msg = "comps file failed to add"
+ prb = RepoVerifyProblem(REPO_PROBLEM_COMPS, msg, str(e))
+ problems.add(prb)
+ else:
+ if c.compscount == 0:
+ msg = "no groups in comps"
+ prb = RepoVerifyProblem(REPO_PROBLEM_COMPS, msg, "")
+ problems.add(prb)
+
+ return problems
+
+ def _verify_packages(self):
+ return []
+
+ def verify(self, items=['repodata', 'comps']):
+ """download/verify the specified items
+ @items = ['repodata', 'comps'] can include: repodata, comps, packages
+ """
+ problems = []
+ if 'repodata' in items:
+ problems.extend(self._verify_md())
+ if 'comps' in items:
+ if self.enablegroups:
+ problems.extend(self._verify_comps())
+ if 'packages' in items:
+ problems.extend(self._verify_packages())
+ # what else can we verify?
+
+ return problems
def getMirrorList(mirrorlist, pdict = None):
@@ -1670,3 +1813,11 @@ def getMirrorList(mirrorlist, pdict = None):
return returnlist
+class RepoVerifyProblem:
+ """ Holder for each "problem" we find with a repo.verify(). """
+
+ def __init__(self, type, msg, details, fake=False):
+ self.type = type
+ self.message = msg
+ self.details = details
+ self.fake = fake
diff --git a/yumcommands.py b/yumcommands.py
index 706d908..bd73d0c 100644
--- a/yumcommands.py
+++ b/yumcommands.py
@@ -531,7 +531,6 @@ class CleanCommand(YumCommand):
return _("Remove cached data")
def doCheck(self, base, basecmd, extcmds):
- checkRootUID(base)
checkCleanArg(base, basecmd, extcmds)
def doCommand(self, base, basecmd, extcmds):
@@ -825,15 +824,15 @@ class RepoListCommand(YumCommand):
md = repo.repoXML
else:
md = None
- out = [base.fmtKeyValFill(_("Repo-id : "), repo),
- base.fmtKeyValFill(_("Repo-name : "), repo.name),
- base.fmtKeyValFill(_("Repo-status : "), ui_enabled)]
+ out = [base.fmtKeyValFill(_("Repo-id : "), repo),
+ base.fmtKeyValFill(_("Repo-name : "), repo.name),
+ base.fmtKeyValFill(_("Repo-status : "), ui_enabled)]
if md and md.revision is not None:
out += [base.fmtKeyValFill(_("Repo-revision: "),
md.revision)]
if md and md.tags['content']:
tags = md.tags['content']
- out += [base.fmtKeyValFill(_("Repo-tags : "),
+ out += [base.fmtKeyValFill(_("Repo-tags : "),
", ".join(sorted(tags)))]
if md and md.tags['distro']:
@@ -844,19 +843,23 @@ class RepoListCommand(YumCommand):
", ".join(sorted(tags))))]
if md:
- out += [base.fmtKeyValFill(_("Repo-updated: "),
+ out += [base.fmtKeyValFill(_("Repo-updated : "),
time.ctime(md.timestamp)),
- base.fmtKeyValFill(_("Repo-pkgs : "), ui_num),
- base.fmtKeyValFill(_("Repo-size : "),ui_size)]
+ base.fmtKeyValFill(_("Repo-pkgs : "),ui_num),
+ base.fmtKeyValFill(_("Repo-size : "),ui_size)]
if hasattr(repo, '_orig_baseurl'):
baseurls = repo._orig_baseurl
else:
baseurls = repo.baseurl
if baseurls:
- out += [base.fmtKeyValFill(_("Repo-baseurl: "),
+ out += [base.fmtKeyValFill(_("Repo-baseurl : "),
", ".join(baseurls))]
+ if enabled:
+ # This needs to be here due to the mirrorlists are
+ # metalinks hack.
+ repo.urls
if repo.metalink:
out += [base.fmtKeyValFill(_("Repo-metalink: "),
repo.metalink)]
@@ -865,15 +868,31 @@ class RepoListCommand(YumCommand):
out += [base.fmtKeyValFill(_(" Updated : "),
time.ctime(ts))]
elif repo.mirrorlist:
- out += [base.fmtKeyValFill(_("Repo-mirrors: "),
+ out += [base.fmtKeyValFill(_("Repo-mirrors : "),
repo.mirrorlist)]
+ if not os.path.exists(repo.metadata_cookie):
+ last = _("Unknown")
+ else:
+ last = os.stat(repo.metadata_cookie).st_mtime
+ last = time.ctime(last)
+
+ if repo.metadata_expire <= -1:
+ num = _("Never (last: %s)") % last
+ elif not repo.metadata_expire:
+ num = _("Instant (last: %s)") % last
+ else:
+ num = locale.format("%d", repo.metadata_expire, True)
+ num = _("%s second(s) (last: %s)") % (num, last)
+
+ out += [base.fmtKeyValFill(_("Repo-expire : "), num)]
+
if repo.exclude:
- out += [base.fmtKeyValFill(_("Repo-exclude: "),
+ out += [base.fmtKeyValFill(_("Repo-exclude : "),
", ".join(repo.exclude))]
if repo.includepkgs:
- out += [base.fmtKeyValFill(_("Repo-include: "),
+ out += [base.fmtKeyValFill(_("Repo-include : "),
", ".join(repo.includepkgs))]
base.verbose_logger.log(logginglevels.DEBUG_3,
@@ -1043,3 +1062,74 @@ class DowngradeCommand(YumCommand):
def needTs(self, base, basecmd, extcmds):
return False
+
+class VersionCommand(YumCommand):
+ def getNames(self):
+ return ['version']
+
+ def getUsage(self):
+ return "[all|installed|available]"
+
+ def getSummary(self):
+ return _("Display a version for the machine and/or available repos.")
+
+ def doCommand(self, base, basecmd, extcmds):
+ vcmd = 'installed'
+ if extcmds:
+ vcmd = extcmds[0]
+
+ def _append_repos(cols, repo_data):
+ for repoid in sorted(repo_data):
+ cur = repo_data[repoid]
+ ncols = []
+ last_rev = None
+ for rev in sorted(cur):
+ if rev is None:
+ continue
+ last_rev = cur[rev]
+ ncols.append((" %s/%s" % (repoid, rev), str(cur[rev])))
+ if None in cur and (not last_rev or cur[None] != last_rev):
+ cols.append((" %s" % repoid, str(cur[None])))
+ cols.extend(ncols)
+
+ rel = base.yumvar['releasever']
+ ba = base.yumvar['basearch']
+ cols = []
+ if vcmd in ('installed', 'all'):
+ try:
+ data = base.rpmdb.simpleVersion()
+ cols.append(("%s %s/%s" % (_("Installed:"), rel, ba),
+ str(data[0])))
+ if base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3):
+ _append_repos(cols, data[1])
+ except yum.Errors.YumBaseError, e:
+ return 1, [str(e)]
+ if vcmd in ('available', 'all'):
+ try:
+ data = base.pkgSack.simpleVersion()
+ cols.append(("%s %s/%s" % (_("Available:"), rel, ba),
+ str(data[0])))
+ if base.verbose_logger.isEnabledFor(logginglevels.DEBUG_3):
+ _append_repos(cols, data[1])
+ except yum.Errors.YumBaseError, e:
+ return 1, [str(e)]
+
+ data = {'rid' : {}, 'ver' : {}}
+ for (rid, ver) in cols:
+ for (d, v) in (('rid', len(rid)), ('ver', len(ver))):
+ data[d].setdefault(v, 0)
+ data[d][v] += 1
+ data = [data['rid'], data['ver']]
+ columns = base.calcColumns(data)
+ columns = (-columns[0], columns[1])
+
+ for line in cols:
+ print base.fmtColumns(zip(line, columns))
+
+ return 0, []
+
+ def needTs(self, base, basecmd, extcmds):
+ vcmd = 'installed'
+ if extcmds:
+ vcmd = extcmds[0]
+ return vcmd in ('available', 'all')
diff --git a/yummain.py b/yummain.py
index 281d0fc..964975b 100755
--- a/yummain.py
+++ b/yummain.py
@@ -46,6 +46,8 @@ def main(args):
def exIOError(e):
if e.errno == 32:
logger.critical(_('\n\nExiting on Broken Pipe'))
+ else:
+ logger.critical(_('\n\n%s') % str(e))
if unlock(): return 200
return 1