[PackageKit-commit] packagekit: Branch 'master' - 6 commits
Richard Hughes
hughsient at kemper.freedesktop.org
Fri Jul 31 06:13:52 PDT 2009
backends/portage/portageBackend.py | 12 +-
backends/yum/yumBackend.py | 5 +
backends/yum/yumMediaManager.py | 4
backends/yum/yumMediaManagerGIO.py | 153 ++++++++++++++++++++++++++++++++++++
backends/yum/yumMediaManagerHAL.py | 14 +--
backends/yum/yumMediaManagerOS.py | 136 ++++++++++++++++++++++++++++++++
po/es.po | 155 +++++++++++++++++++++----------------
7 files changed, 398 insertions(+), 81 deletions(-)
New commits:
commit 97ba7c687b872eecf622123aa56956b82fdf8dd2
Author: Muayyad Saleh Alsadi <alsadi at ojuba.org>
Date: Fri Jul 31 14:11:38 2009 +0100
Add a few fixes to the existing MediaManager implementation
Signed-off-by: Richard Hughes <richard at hughsie.com>
diff --git a/backends/yum/yumMediaManager.py b/backends/yum/yumMediaManager.py
index 8b89c04..a8eaaa2 100644
--- a/backends/yum/yumMediaManager.py
+++ b/backends/yum/yumMediaManager.py
@@ -35,7 +35,7 @@ class MediaDevice(object):
media_id argument is the implementation-specific id, provided by MediaManager.
"""
self._unmount_needed = False
- self._unlocked_needed = False
+ self._unlock_needed = False
raise NotImplemented
def __del__(self):
@@ -45,7 +45,7 @@ class MediaDevice(object):
"""
if self._unmount_needed:
self.unmount()
- if self._unlocked_needed:
+ if self._unlock_needed:
self.unlock()
def is_removable(self):
diff --git a/backends/yum/yumMediaManagerHAL.py b/backends/yum/yumMediaManagerHAL.py
index b4068dd..6230ee3 100644
--- a/backends/yum/yumMediaManagerHAL.py
+++ b/backends/yum/yumMediaManagerHAL.py
@@ -23,7 +23,7 @@ This module is inteded to be a proof of concept and it is not supposed to be use
it's used like this
- from yumMediaManager import MediaManager
+ from yumMediaManagerHAL import MediaManagerHAL as MediaManager
manager = MediaManager()
media, found = None, False
for media in manager:
@@ -63,9 +63,8 @@ class MediaDeviceHAL(MediaDevice):
media_id argument is the implementation-specific id in our case it's udi in hal,
it's provided by MediaManager.
"""
- MediaDevice.__init__(self, media_id)
- self.__unmount_needed = False
- self.__unlocked_needed = False
+ self._unmount_needed = False
+ self._unlock_needed = False
self.__uid = media_id
self.__dev = bus.get_object("org.freedesktop.Hal", media_id)
storage_uid = self.__dev.GetPropertyString('block.storage_device', dbus_interface = interface)
@@ -95,7 +94,7 @@ class MediaDeviceHAL(MediaDevice):
# FIXME: it does not work, it returns None instead of True
r = self.__dev.Lock('needed by Package Manager', dbus_interface = interface) != False
# print r
- self.__unlocked_needed |= bool(r)
+ self._unlock_needed |= bool(r)
return r
def unlock(self):
@@ -130,7 +129,7 @@ class MediaDeviceHAL(MediaDevice):
if r != 0:
return None
- self.__unmount_needed = True
+ self._unmount_needed = True
return self.get_mount_point() # return Mount point
def unmount(self):
@@ -148,7 +147,6 @@ class MediaDeviceHAL(MediaDevice):
class MediaManagerHAL(MediaManager):
"""Just iterate over an instance of this class to get MediaDevice objects"""
def __init__(self):
- MediaManager.__init__(self)
self.__dev = bus.get_object("org.freedesktop.Hal", "/org/freedesktop/Hal/Manager")
def __close_tray_and_be_ready(self):
@@ -163,7 +161,7 @@ class MediaManagerHAL(MediaManager):
self.__close_tray_and_be_ready()
# use volume.disc to restrict that to optical discs
for i in self.__dev.FindDeviceByCapability('volume', dbus_interface = 'org.freedesktop.Hal.Manager'):
- o = MediaDevice(i)
+ o = MediaDeviceHAL(i)
if o.is_removable():
yield o
commit 5d1dede4a5fd8e0712e2b737eff7a988841c9632
Author: Muayyad Saleh Alsadi <alsadi at ojuba.org>
Date: Fri Jul 31 14:11:12 2009 +0100
Add a linux native MediaManager implementation
Signed-off-by: Richard Hughes <richard at hughsie.com>
diff --git a/backends/yum/yumMediaManagerOS.py b/backends/yum/yumMediaManagerOS.py
new file mode 100644
index 0000000..f8cd3a3
--- /dev/null
+++ b/backends/yum/yumMediaManagerOS.py
@@ -0,0 +1,136 @@
+# Licensed under the GNU General Public License Version 2
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Copyright (C) 2009
+# Muayyad Saleh Alsadi <alsadi at ojuba.org>
+
+"""
+This is the os.system implementation of MediaManager module for dealing with removable media
+This module is inteded to be a proof of concept and it is not supposed to be used in final release
+
+it's used like this
+
+ from yumMediaManagerOS import MediaManagerOS as MediaManager
+ manager=MediaManager()
+ media,found=None,False
+ for media in manager:
+ mnt=media.acquire() # get mount point, mount and lock if needed
+ found=is_it_the_needed_media(mnt)
+ if found: break
+ if found: copy_files ..etc.
+ if media: del media
+
+NOTE: releasing (unmounting and unlocking) is done when media is destructed
+"""
+
+import re,sys, os, os.path
+from glob import glob
+from tempfile import mkdtemp
+from yumMediaManager import MediaManager,MediaDevice
+class MediaDeviceOS(MediaDevice):
+ """
+ You should just use acquire() to get the mount point (the implementation is
+ supposed to be smart enough to return mount point when it's already mounted)
+ You don't need to manually call release(), just destruct MediaDevice object
+ and the implementation should do that if needed.
+ """
+ __ch_re=re.compile(r'\\(0\d\d)')
+ def __init__(self,media_id):
+ """
+ media_id argument is the implementation-specific id
+ in our case it's a the device file in /dev/
+ """
+ self._unmount_needed = False
+ self._unlock_needed = False
+ self.__d = media_id
+
+ def is_removable(self):
+ return True
+
+ def is_mounted(self):
+ return self.get_mount_point()!=None
+
+ def is_locked(self):
+ # FIXME: there is no locks in OS
+ return False
+
+ def get_mount_point(self):
+ """
+ return the mount point or None if not mounted
+ """
+ l=map(lambda i: i.split(), open('/proc/mounts','rt').readlines())
+ d=filter(lambda i: len(i)==6 and i[0]==self.__d, l)
+ if not d: return None
+ mnt=self.__ch_re.sub(lambda m: chr(int(m.group(1),8)),d[0][1])
+ if not os.path.ismount(mnt): return None
+ return mnt
+
+ def lock(self):
+ """
+ return True if lock is successfully acquired.
+ """
+ # FIXME: there is no locks in OS
+ return False
+
+ def unlock(self):
+ """
+ return True if it was able to release the lock successfully.
+ """
+ # FIXME: there is no locks in OS
+ return False
+
+ def mount(self):
+ """
+ mount the device and return the mount point.
+ If it's already mounted, just return the mount point.
+ """
+ mnt=self.get_mount_point()
+ if mnt!=None: return mnt
+ # do the actual mounting
+ mnt=mkdtemp(prefix='MediaRepo')
+ r=os.system('mount "%s" "%s"' % (self.__d, mnt))
+ if r:
+ try: os.rmdir(mnt)
+ except OSError: pass
+ return None
+ self._unmount_needed|=bool(r==0)
+ # return Mount point
+ return mnt
+
+ def unmount(self):
+ """
+ unmount the device and return True.
+ """
+ mnt=self.get_mount_point()
+ if mnt==None:
+ return True
+ r=os.system('umount "%s"' % (self.__d))
+ if os.path.isdir(mnt):
+ try: os.rmdir(mnt)
+ except OSError: pass
+ return bool(r==0)
+
+class MediaManagerOS(MediaManager):
+ """Just iterate over an instance of this class to get MediaDevice objects"""
+ def __init__(self):
+ pass
+
+ def __iter__(self):
+ l=glob('/dev/sr[0-9]*')
+ for d in l:
+ o=MediaDeviceOS(d)
+ yield o;
+
commit 9ae160e0a458882619a4375b4de9c684c6ea9ae2
Author: Muayyad Saleh Alsadi <alsadi at ojuba.org>
Date: Fri Jul 31 14:10:57 2009 +0100
Add a GIO MediaManager implementation
Signed-off-by: Richard Hughes <richard at hughsie.com>
diff --git a/backends/yum/yumMediaManagerGIO.py b/backends/yum/yumMediaManagerGIO.py
new file mode 100644
index 0000000..772e6bd
--- /dev/null
+++ b/backends/yum/yumMediaManagerGIO.py
@@ -0,0 +1,153 @@
+# Licensed under the GNU General Public License Version 2
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Copyright (C) 2009
+# Muayyad Saleh Alsadi <alsadi at ojuba.org>
+
+"""
+This is the GIO implementation of MediaManager module for dealing with removable media
+
+it's used like this
+
+ from yumMediaManagerGIO import MediaManagerGIO as MediaManager
+ manager=MediaManager()
+ media,found=None,False
+ for media in manager:
+ mnt=media.acquire() # get mount point, mount and lock if needed
+ found=is_it_the_needed_media(mnt)
+ if found: break
+ if found: copy_files ..etc.
+ if media: del media
+
+NOTE: releasing (unmounting and unlocking) is done when media is destructed
+"""
+import gio
+import glib
+import os.path
+
+from yumMediaManager import MediaManager,MediaDevice
+
+class MediaDeviceGIO(MediaDevice):
+ """
+ You should just use acquire() to get the mount point (the implementation is
+ supposed to be smart enough to return mount point when it's already mounted)
+ You don't need to manually call release(), just destruct MediaDevice object
+ and the implementation should do that if needed.
+ """
+ def __init__(self,media_id):
+ """
+ media_id argument is the implementation-specific id
+ in our case it's a tuble of device and volume in GIO,
+ the tuble is provided by MediaManager.
+ """
+ self._unmount_needed = False
+ self._unlock_needed = False
+ self.__d = media_id[0]
+ self.__v = media_id[1]
+ self.__loop=glib.MainLoop()
+
+ def is_removable(self):
+ return self.__d.is_media_removable()
+
+ def is_mounted(self):
+ m=self.__v.get_mount()
+ return bool(m and os.path.ismount(m.get_root().get_path()))
+
+ def is_locked(self):
+ # FIXME: there is no locks in GIO
+ return False
+
+ def get_mount_point(self):
+ """
+ return the mount point or None if not mounted
+ """
+ if not self.is_mounted(): return None
+ return self.__v.get_mount().get_root().get_path()
+
+ def lock(self):
+ """
+ return True if lock is successfully acquired.
+ """
+ # FIXME: there is no locks in GIO
+ return False
+
+ def unlock(self):
+ """
+ return True if it was able to release the lock successfully.
+ """
+ # FIXME: there is no locks in GIO
+ return False
+
+ def __mount_cb(self,src,res):
+ "Internal method used for mounting"
+ self.__mount_r=src.mount_finish (res)
+ self.__loop.quit()
+ def mount(self):
+ """
+ mount the device and return the mount point.
+ If it's already mounted, just return the mount point.
+ """
+ if self.is_mounted():
+ return self.get_mount_point()
+ # do the actual mounting
+ self.__mount_r=False
+ self.__v.mount(gio.MountOperation(),self.__mount_cb)
+ self.__loop.run()
+ if not self.__mount_r: return None
+ self._unmount_needed|=self.__mount_r
+ # return Mount point
+ return self.get_mount_point()
+
+ def __unmount_cb(self,src,res):
+ "Internal method used for unmounting"
+ self.__unmount_r=src.unmount_finish (res)
+ self.__loop.quit()
+
+ def unmount(self):
+ """
+ unmount the device and return True.
+ """
+ m=self.__v.get_mount()
+ if not m or not self.is_mounted():
+ return True
+ self.__unmount_r=False
+ m.unmount(self.__unmount_cb)
+ self.__loop.run()
+ return self.__unmount_r
+
+class MediaManagerGIO(MediaManager):
+ """Just iterate over an instance of this class to get MediaDevice objects"""
+ def __init__(self):
+ self.vm=gio.volume_monitor_get()
+
+ def __iter__(self):
+ l=filter(lambda d: d.is_media_removable(),self.vm.get_connected_drives())
+ l2=[]
+ # loop over devices with media
+ for d in l:
+ if not d.has_media():
+ # skip devices without media
+ l2.append(d)
+ continue
+ # a device could contain many volumes eg. a flash with two partitions
+ for v in d.get_volumes():
+ o=MediaDeviceGIO((d,v))
+ yield o;
+ # loop over devices without media (ie. need to close tray and mount)
+ # FIXME: there is no way in GIO to close tray
+ #for i in l2:
+ # pass
+
commit 8ba3164dd8159309ae4e6f122e580d2aae12c4f0
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Jul 31 08:55:51 2009 +0100
yum: Abort initialisaton with an error if unfinished transactions are pending. Fixes rh#513557
I'm not completely sold on asking the user to run a tool as root
just to continue, but unfinished transactions shoulnd't happen,
and it's not safe just to blunder on unregardless.
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 5c19f50..94e3f56 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -2510,6 +2510,11 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
except Exception, e:
raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ # should we suggest yum-complete-transaction?
+ unfinished = yum.misc.find_unfinished_transactions(yumlibpath=self.yumbase.conf.persistdir)
+ if unfinished:
+ raise PkError(ERROR_FAILED_INITIALIZATION, 'There are unfinished transactions remaining. Please run yum-complete-transaction as root.')
+
# default to 100% unless method overrides
self.yumbase.conf.throttle = "90%"
commit f6864005cd5e1993487c75a546b1858a31912e29
Author: Mounir Lamouri (volkmar) <mounir.lamouri at gmail.com>
Date: Thu Jul 30 23:38:38 2009 +0200
portage: don't allow_cancel functions that will affect system even if cancelled
diff --git a/backends/portage/portageBackend.py b/backends/portage/portageBackend.py
index e084016..19c8d1e 100755
--- a/backends/portage/portageBackend.py
+++ b/backends/portage/portageBackend.py
@@ -1018,7 +1018,7 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
# TODO: manage config file updates
self.status(STATUS_RUNNING)
- self.allow_cancel(True)
+ self.allow_cancel(False)
self.percentage(None)
cpv_list = []
@@ -1075,7 +1075,7 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
# TODO: do not wait for exception, check timestamp
# TODO: message if overlay repo has changed (layman)
self.status(STATUS_REFRESH_CACHE)
- self.allow_cancel(True)
+ self.allow_cancel(False)
self.percentage(None)
myopts = {'--quiet': True}
@@ -1095,14 +1095,14 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
for o in installed_layman_db.overlays.keys():
installed_layman_db.sync(o, True)
_emerge.actions.action_sync(settings, trees, mtimedb, myopts, "")
+ finally:
self.unblock_output()
except:
- self.unblock_output()
self.error(ERROR_INTERNAL_ERROR, traceback.format_exc())
def remove_packages(self, allowdep, autoremove, pkgs):
self.status(STATUS_RUNNING)
- self.allow_cancel(True)
+ self.allow_cancel(False)
self.percentage(None)
cpv_list = []
@@ -1413,7 +1413,7 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
# TODO: manage config file updates
self.status(STATUS_RUNNING)
- self.allow_cancel(True)
+ self.allow_cancel(False)
self.percentage(None)
cpv_list = []
@@ -1462,7 +1462,7 @@ class PackageKitPortageBackend(PackageKitBaseBackend, PackagekitPackage):
def update_system(self, only_trusted):
self.status(STATUS_RUNNING)
- self.allow_cancel(True)
+ self.allow_cancel(False)
self.percentage(None)
if only_trusted:
commit f17051aaf07e987bf51142ca2903b784285eb31b
Author: logan <logan at fedoraproject.org>
Date: Thu Jul 30 13:03:23 2009 +0000
Sending translation for Spanish
diff --git a/po/es.po b/po/es.po
index 862cc10..7c642df 100644
--- a/po/es.po
+++ b/po/es.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: packagekit\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-23 14:41+0000\n"
-"PO-Revision-Date: 2009-07-23 15:11-0300\n"
+"POT-Creation-Date: 2009-07-30 08:45+0000\n"
+"PO-Revision-Date: 2009-07-30 10:02-0300\n"
"Last-Translator: Héctor Daniel Cabrera <h.daniel.cabrera at gmail.com>\n"
"Language-Team: Fedora Spanish <fedora-trans-es at redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -47,7 +47,7 @@ msgstr "Falso"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
#: ../client/pk-console.c:237
-#: ../src/pk-polkit-action-lookup.c:256
+#: ../src/pk-polkit-action-lookup.c:297
msgid "Role"
msgstr "Rol"
@@ -63,7 +63,7 @@ msgstr "(segundos)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
#: ../client/pk-console.c:246
-#: ../src/pk-polkit-action-lookup.c:270
+#: ../src/pk-polkit-action-lookup.c:311
msgid "Command line"
msgstr "LÃnea de comandos"
@@ -138,9 +138,14 @@ msgid "Details about the update:"
msgstr "Detalles acerca de la actualización:"
#. TRANSLATORS: details about the update, package name and version
+#. TRANSLATORS: title, the names of the packages that the method is processing
#: ../client/pk-console.c:341
+#: ../src/pk-polkit-action-lookup.c:322
+#, fuzzy
msgid "Package"
-msgstr "Paquete"
+msgid_plural "Packages"
+msgstr[0] "Paquete"
+msgstr[1] "Paquete"
#. TRANSLATORS: details about the update, any packages that this update updates
#: ../client/pk-console.c:344
@@ -448,7 +453,7 @@ msgstr "No se encontró ningún paquete para instalar"
#. TRANSLATORS: installing new packages from package list
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#: ../client/pk-console.c:1381
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:868
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:886
#, c-format
msgid "Installing packages"
msgstr "Instalando paquetes"
@@ -540,8 +545,8 @@ msgstr "Subcomandos:"
#: ../client/pk-console.c:1781
#: ../client/pk-generate-pack.c:185
#: ../client/pk-monitor.c:128
-#: ../contrib/command-not-found/pk-command-not-found.c:521
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:532
+#: ../contrib/command-not-found/pk-command-not-found.c:610
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
#: ../src/pk-main.c:211
msgid "Show extra debugging information"
msgstr "Mostrar información extra de depuración"
@@ -844,72 +849,92 @@ msgstr "Elija el paquete correcto: "
msgid "Please enter a number from 1 to %i: "
msgstr "Introduzca un número de 1 a %i: "
+#. TRANSLATORS: downloading repo data so we can search
+#: ../contrib/command-not-found/pk-command-not-found.c:349
+msgid "Downloading details about the software sources."
+msgstr "Descargando detalles acerca de las fuentes de software"
+
+#. TRANSLATORS: downloading file lists so we can search
+#: ../contrib/command-not-found/pk-command-not-found.c:353
+msgid "Downloading filelists (this may take some time to complete)."
+msgstr "Descargando listas de archivo (esto podrÃa tardar un tiempo en completarse)."
+
+#. TRANSLATORS: waiting for native lock
+#: ../contrib/command-not-found/pk-command-not-found.c:357
+msgid "Waiting for package manager lock."
+msgstr "Esperando bloqueo del administrador de paquetes."
+
+#. TRANSLATORS: loading package cache so we can search
+#: ../contrib/command-not-found/pk-command-not-found.c:361
+msgid "Loading list of packages."
+msgstr "Cargando listas de paquetes"
+
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:372
+#: ../contrib/command-not-found/pk-command-not-found.c:414
msgid "Failed to search for file"
msgstr "Falló al buscar el archivo"
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:496
+#: ../contrib/command-not-found/pk-command-not-found.c:551
msgid "Failed to launch:"
msgstr "Falló al iniciar:"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:537
+#: ../contrib/command-not-found/pk-command-not-found.c:626
msgid "PackageKit Command Not Found"
msgstr "No se encontró el comando PackageKit"
#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:560
+#: ../contrib/command-not-found/pk-command-not-found.c:652
msgid "Command not found."
msgstr "Comando no encontrado."
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:567
+#: ../contrib/command-not-found/pk-command-not-found.c:659
msgid "Similar command is:"
msgstr "Un comando similar es:"
#. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:576
+#: ../contrib/command-not-found/pk-command-not-found.c:668
msgid "Run similar command:"
msgstr "Ejecutar un comando similar:"
#. TRANSLATORS: show the user a list of commands that they could have meant
#. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:588
-#: ../contrib/command-not-found/pk-command-not-found.c:597
+#: ../contrib/command-not-found/pk-command-not-found.c:680
+#: ../contrib/command-not-found/pk-command-not-found.c:689
msgid "Similar commands are:"
msgstr "Los comandos similares son:"
#. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:604
+#: ../contrib/command-not-found/pk-command-not-found.c:696
msgid "Please choose a command to run"
msgstr "Elija un comando para ejecutar"
#. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:619
+#: ../contrib/command-not-found/pk-command-not-found.c:715
msgid "The package providing this file is:"
msgstr "El paquete que proporciona este archivo es:"
#. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:624
+#: ../contrib/command-not-found/pk-command-not-found.c:720
#, c-format
msgid "Install package '%s' to provide command '%s'?"
msgstr "¿Instalar el paquete «%s» para proporcionar el comando «%s»?"
#. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:645
+#: ../contrib/command-not-found/pk-command-not-found.c:741
msgid "Packages providing this file are:"
msgstr "Los paquetes que proporcionan este archivo son:"
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:654
+#: ../contrib/command-not-found/pk-command-not-found.c:750
msgid "Suitable packages are:"
msgstr "Los posibles paquetes son:"
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:662
+#: ../contrib/command-not-found/pk-command-not-found.c:758
msgid "Please choose a package to install"
msgstr "Elija un paquete para instalar"
@@ -968,185 +993,185 @@ msgid "Installing..."
msgstr "Instalando..."
#. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:186
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:187
msgid "Starting install"
msgstr "Iniciando la instalación"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:379
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:397
#, c-format
msgid "Failed to find the package %s, or already installed: %s"
msgstr "No se ha podido encontrar el paquete %s, o tal vez ya se encuentre instalado: %s"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:535
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:553
msgid "Don't actually install any packages, only simulate what would be installed"
msgstr "No se instala ningún paquete realmente, solo se indica cuáles serÃan instalados"
#. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:538
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
msgid "Do not install dependencies of the core packages"
msgstr "No se instalan dependencias de los paquetes principales"
#. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:541
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:559
msgid "Do not display information or progress"
msgstr "No se muestra información ni progreso"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:559
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:577
msgid "PackageKit Debuginfo Installer"
msgstr "Instalador de depuración de errores de PackageKit"
#. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:571
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
#, c-format
msgid "ERROR: Specify package names to install."
msgstr "ERROR: Debe especificar los nombres de los paquetes a instalar."
#. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:605
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:623
#, c-format
msgid "Getting sources list"
msgstr "Obteniendo lista desde las fuentes"
#. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:623
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:663
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:698
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:782
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:893
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:937
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:641
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:681
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:716
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:800
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:844
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:911
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:955
#, c-format
msgid "OK."
msgstr "OK."
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:626
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
#, c-format
msgid "Found %i enabled and %i disabled sources."
msgstr "Se han encontrado %i fuentes activas y %i fuentes deshabilitadas."
#. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:633
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:651
#, c-format
msgid "Finding debugging sources"
msgstr "Buscando fuentes para depuración"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:666
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:684
#, c-format
msgid "Found %i disabled debuginfo repos."
msgstr "Se han encontrado %i repositorios deshabilitados para depuración."
#. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:673
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:691
#, c-format
msgid "Enabling debugging sources"
msgstr "Habilitando fuentes para depuración"
#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:683
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:767
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:811
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:878
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:922
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:785
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:829
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:896
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:940
msgid "FAILED."
msgstr "FALLO."
#. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:719
#, c-format
msgid "Enabled %i debugging sources."
msgstr "Se han habilitado %i fuentes para depuración."
#. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:708
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:726
#, c-format
msgid "Finding debugging packages"
msgstr "Buscando paquetes de depuración."
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:720
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:738
#, c-format
msgid "Failed to find the package %s: %s"
msgstr "Falló al buscar el paquete %s: %s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:743
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
#, c-format
msgid "Failed to find the debuginfo package %s: %s"
msgstr "Fallo al buscar el paquete de depuración %s: %s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:771
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:789
#, c-format
msgid "Found no packages to install."
msgstr "No se han encontrado paquetes para instalar."
#. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:785
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
#, c-format
msgid "Found %i packages:"
msgstr "Se han encontrado %i paquetes:"
#. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:801
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:819
#, c-format
msgid "Finding packages that depend on these packages"
msgstr "Buscando paquetes que dependan de esos paquetes."
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:814
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:832
#, c-format
msgid "Could not find dependant packages: %s"
msgstr "No se han podido encontrar paquetes dependientes: %s"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:830
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
#, c-format
msgid "Found %i extra packages."
msgstr "Se han encontrado %i paquetes extra."
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:834
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
#, c-format
msgid "No extra packages required."
msgstr "No son necesarios paquetes extra."
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:843
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:861
#, c-format
msgid "Found %i packages to install:"
msgstr "Se han encontrado %i paquetes para instalar:"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:856
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
#, c-format
msgid "Not installing packages in simulate mode"
msgstr "No se instalan paquetes en modo de simulación"
-#. TRANSLATORS: coul dnot install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:881
+#. TRANSLATORS: could not install, detailed error follows
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
#, c-format
msgid "Could not install packages: %s"
msgstr "No se han podido instalar paquetes: %s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:913
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
#, c-format
msgid "Disabling sources previously enabled"
msgstr "Deshabilitando fuentes previamente habilitadas"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:925
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:943
#, c-format
msgid "Could not disable the debugging sources: %s"
msgstr "No es posible deshabilitar las fuentes para depuración:%s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:940
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:958
#, c-format
msgid "Disabled %i debugging sources."
msgstr "Se han deshabilitado %i fuentes para la depuración. "
@@ -1375,7 +1400,7 @@ msgid "Cannot connect to the system bus"
msgstr "No se pudo conectar con el bus del sistema"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:331
+#: ../src/pk-main.c:334
msgid "Error trying to start:"
msgstr "Error intentando iniciar:"
@@ -1406,7 +1431,7 @@ msgid "Do not install this package unless you are sure it is safe to do so."
msgstr "No instale este paquete a menos que sepa con certeza que es seguro hacerlo."
#. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:263
+#: ../src/pk-polkit-action-lookup.c:304
msgid "Only trusted"
msgstr "Solo confiable"
More information about the PackageKit-commit
mailing list