diff options
| author | Michael Vogt <egon@bottom> | 2007-11-29 12:25:33 +0100 |
|---|---|---|
| committer | Michael Vogt <egon@bottom> | 2007-11-29 12:25:33 +0100 |
| commit | 0fc4aa9466d57ddc4a54191eeb8775e41ad35525 (patch) | |
| tree | 93b7f4e949c3c013309d397de200d058ec7b5af5 | |
| parent | be3ddb25ea0baa259f20936f1d7a62cafa019b99 (diff) | |
| parent | abf6c5801c6b162a9dcda5099e8eb746525dc826 (diff) | |
| download | python-apt-0fc4aa9466d57ddc4a54191eeb8775e41ad35525.tar.gz | |
* apt/package.py:
- fix apt.package.Dependency.relation initialization
* python/string.cc:
- fix overflow in SizeToStr()
* python/metaindex.cc:
- added support for the metaIndex objects
* python/sourceslist.cc:
- support new "List" attribute that returns the list of
metaIndex source entries
* python/depcache.cc:
- be more threading friendly
* python/tag.cc
- support "None" as default in
ParseSection(control).get(field, default), LP: #44470
* python/progress.cc:
- fix refcount problem in OpProgress
- fix refcount problem in FetchProgress
- fix refcount problem in CdromProgress
* apt/README.apt:
- fix typo (thanks to Thomas Schoepf, closes: #387787)
* po/fr.po:
- merge update, thanks to Christian Perrier (closes: #435918)
| -rw-r--r-- | apt/README.apt | 2 | ||||
| -rw-r--r-- | apt/package.py | 2 | ||||
| -rw-r--r-- | debian/changelog | 28 | ||||
| -rw-r--r-- | doc/examples/acquire.py | 3 | ||||
| -rw-r--r-- | doc/examples/metaindex.py | 15 | ||||
| -rw-r--r-- | po/fr.po | 417 | ||||
| -rw-r--r-- | python/apt_pkgmodule.h | 3 | ||||
| -rw-r--r-- | python/depcache.cc | 25 | ||||
| -rw-r--r-- | python/makefile | 2 | ||||
| -rw-r--r-- | python/metaindex.cc | 78 | ||||
| -rw-r--r-- | python/progress.cc | 11 | ||||
| -rw-r--r-- | python/sourcelist.cc | 16 | ||||
| -rw-r--r-- | python/string.cc | 2 | ||||
| -rw-r--r-- | python/tag.cc | 7 | ||||
| -rwxr-xr-x | tests/refcount.py | 54 |
15 files changed, 263 insertions, 402 deletions
diff --git a/apt/README.apt b/apt/README.apt index bba91e7c..30166a24 100644 --- a/apt/README.apt +++ b/apt/README.apt @@ -3,7 +3,7 @@ the c++ libapt code) a new python module "apt" is provided since version 0.6.13 of python-apt. It is a more python like interface to work with libapt (it uses apt_pkg -internally). Also there are already applications written against the new +internally). Although there are already applications written against the new apt python interface the API may change in the future and should not be considered stable. If in doubt, please contact deity@lists.debian.org. diff --git a/apt/package.py b/apt/package.py index 4524a47d..49aadd20 100644 --- a/apt/package.py +++ b/apt/package.py @@ -135,7 +135,7 @@ class Package(object): for depVerList in depends[t]: base_deps = [] for depOr in depVerList: - base_deps.append(BaseDependency(depOr.TargetPkg.Name, depOr.TargetVer, depOr.CompType, (t == "PreDepends"))) + base_deps.append(BaseDependency(depOr.TargetPkg.Name, depOr.CompType, depOr.TargetVer, (t == "PreDepends"))) depends_list.append(Dependency(base_deps)) return depends_list diff --git a/debian/changelog b/debian/changelog index f206ad0d..5cfa8a16 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,15 +1,37 @@ -python-apt (0.7.4) UNRELEASED; urgency=low +python-apt (0.7.4) unstable; urgency=low * apt/debfile.py: - added wrapper around apt_inst.debExtract() - support dictionary like access + * apt/package.py: + - fix apt.package.Dependency.relation initialization * python/apt_instmodule.cc: - added arCheckMember() * aptsources/distro.py: - throw NoDistroTemplateException if not distribution template can be found - - -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 30 Jul 2007 22:33:59 +0200 + * python/string.cc: + - fix overflow in SizeToStr() + * python/metaindex.cc: + - added support for the metaIndex objects + * python/sourceslist.cc: + - support new "List" attribute that returns the list of + metaIndex source entries + * python/depcache.cc: + - be more threading friendly + * python/tag.cc + - support "None" as default in + ParseSection(control).get(field, default), LP: #44470 + * python/progress.cc: + - fix refcount problem in OpProgress + - fix refcount problem in FetchProgress + - fix refcount problem in CdromProgress + * apt/README.apt: + - fix typo (thanks to Thomas Schoepf, closes: #387787) + * po/fr.po: + - merge update, thanks to Christian Perrier (closes: #435918) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 29 Nov 2007 12:17:17 +0100 python-apt (0.7.3.1) unstable; urgency=low diff --git a/doc/examples/acquire.py b/doc/examples/acquire.py index a0790c98..1291dbfa 100644 --- a/doc/examples/acquire.py +++ b/doc/examples/acquire.py @@ -45,7 +45,7 @@ fetcher = apt_pkg.GetAcquire(progress) pm = apt_pkg.GetPackageManager(depcache) pm.GetArchives(fetcher,list,recs) print "%s (%s)" % (apt_pkg.SizeToStr(fetcher.FetchNeeded), fetcher.FetchNeeded) - +actiongroup = apt_pkg.GetPkgActionGroup(depcache) for pkg in cache.Packages: depcache.MarkKeep(pkg) @@ -68,7 +68,6 @@ print pm print fetcher get_file(fetcher, "ftp://ftp.debian.org/debian/dists/README", "/tmp/lala") -sys.exit(1) pm.GetArchives(fetcher,list,recs) diff --git a/doc/examples/metaindex.py b/doc/examples/metaindex.py new file mode 100644 index 00000000..1bce0dba --- /dev/null +++ b/doc/examples/metaindex.py @@ -0,0 +1,15 @@ + +import apt_pkg + +apt_pkg.init() + +sources = apt_pkg.GetPkgSourceList() +sources.ReadMainList() + + +for metaindex in sources.List: + print metaindex + print "URI: ",metaindex.URI + print "Dist: ",metaindex.Dist + print "IndexFiles: ","\n".join([str(i) for i in metaindex.IndexFiles]) + print @@ -1,17 +1,17 @@ -# french translation of update-manager. -# Copyright (C) 2005 THE update-manager'S COPYRIGHT HOLDER -# This file is distributed under the same license as the update-manager package. +# french translation of python-apt +# Copyright (C) 2007 Hugues NAULET <hnaulet@gmail.com> +# This file is distributed under the same license as the python-apt package. # Jean Privat <privat@lirmm.fr>, 2005. # Vincent Carriere <carriere_vincent@yahoo.fr>, 2005 # msgid "" msgstr "" -"Project-Id-Version: update-manager 0.37.2\n" +"Project-Id-Version: python-apt 0.7.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-30 22:28+0200\n" -"PO-Revision-Date: 2006-10-16 04:02+0000\n" -"Last-Translator: E.Malandain <etienne.malandain@free.fr>\n" -"Language-Team: French <gnomefr@traduc.org>\n" +"POT-Creation-Date: 2007-04-07 10:08+0200\n" +"PO-Revision-Date: 2007-06-25 12:12+0100\n" +"Last-Translator: Hugues NAULET <hnaulet@gmail.com>\n" +"Language-Team: French <debian-l10n-french@lists.debian.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,24 +25,21 @@ msgstr "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog" #. Description #: ../data/templates/Ubuntu.info.in:8 -#, fuzzy msgid "Ubuntu 7.04 'Feisty Fawn'" -msgstr "Mises à jour de sécurité pour Ubuntu 5.04" +msgstr "Ubuntu 7.04 « Feisty Fawn »" #. Description #: ../data/templates/Ubuntu.info.in:25 -#, fuzzy msgid "Cdrom with Ubuntu 7.04 'Feisty Fawn'" -msgstr "CD-ROM contenant Ubuntu 5.10 \"Breezy Badger\"" +msgstr "CD-ROM contenant Ubuntu 7.04 « Feisty Fawn »" #. Description #: ../data/templates/Ubuntu.info.in:59 msgid "Ubuntu 6.10 'Edgy Eft'" -msgstr "Ubuntu 6.10 \"Edgy Eft\"" +msgstr "Ubuntu 6.10 « Edgy Eft »" #. CompDescription #: ../data/templates/Ubuntu.info.in:64 -#, fuzzy msgid "Community-maintained" msgstr "Maintenu par la communauté" @@ -59,28 +56,25 @@ msgstr "Logiciel non libre" #. Description #: ../data/templates/Ubuntu.info.in:76 msgid "Cdrom with Ubuntu 6.10 'Edgy Eft'" -msgstr "CD-ROM contenant Ubuntu 6.10 \"Edgy Eft\"" +msgstr "CD-ROM contenant Ubuntu 6.10 « Edgy Eft »" #. Description #: ../data/templates/Ubuntu.info.in:110 msgid "Ubuntu 6.06 LTS 'Dapper Drake'" -msgstr "Ubuntu 6.06 LTS \"Dapper Drake\"" +msgstr "Ubuntu 6.06 LTS « Dapper Drake »" #. CompDescriptionLong #: ../data/templates/Ubuntu.info.in:113 -#, fuzzy msgid "Canonical-supported Open Source software" -msgstr "Logiciel libre supporté par Canonical" +msgstr "Logiciel libre maintenu par Canonical" #. CompDescription #: ../data/templates/Ubuntu.info.in:115 -#, fuzzy msgid "Community-maintained (universe)" msgstr "Maintenu par la communauté (universe)" #. CompDescriptionLong #: ../data/templates/Ubuntu.info.in:116 -#, fuzzy msgid "Community-maintained Open Source software" msgstr "Logiciel libre maintenu par la communauté" @@ -107,7 +101,7 @@ msgstr "Logiciel soumis au droit d'auteur ou à des restrictions légales" #. Description #: ../data/templates/Ubuntu.info.in:127 msgid "Cdrom with Ubuntu 6.06 LTS 'Dapper Drake'" -msgstr "CD-ROM contenant Ubuntu 6.06 LTS \"Dapper Drake\"" +msgstr "CD-ROM contenant Ubuntu 6.06 LTS « Dapper Drake »" #. Description #: ../data/templates/Ubuntu.info.in:139 @@ -121,25 +115,23 @@ msgstr "Mises à jour recommandées" #. Description #: ../data/templates/Ubuntu.info.in:149 -#, fuzzy msgid "Pre-released updates" msgstr "Mises à jour suggérées" #. Description #: ../data/templates/Ubuntu.info.in:154 -#, fuzzy msgid "Unsupported updates" -msgstr "Mises à jour backportées" +msgstr "Mises à jour non gérées" #. Description #: ../data/templates/Ubuntu.info.in:161 msgid "Ubuntu 5.10 'Breezy Badger'" -msgstr "Ubuntu 5.10 \"Breezy Badger\"" +msgstr "Ubuntu 5.10 « Breezy Badger »" #. Description #: ../data/templates/Ubuntu.info.in:174 msgid "Cdrom with Ubuntu 5.10 'Breezy Badger'" -msgstr "CD-ROM contenant Ubuntu 5.10 \"Breezy Badger\"" +msgstr "CD-ROM contenant Ubuntu 5.10 « Breezy Badger »" #. Description #: ../data/templates/Ubuntu.info.in:186 @@ -159,15 +151,16 @@ msgstr "« Backports » pour Ubuntu 5.10" #. Description #: ../data/templates/Ubuntu.info.in:203 msgid "Ubuntu 5.04 'Hoary Hedgehog'" -msgstr "Ubuntu 5.04 \"Hoary Hedgehog\"" +msgstr "Ubuntu 5.04 « Hoary Hedgehog »" #. Description #: ../data/templates/Ubuntu.info.in:216 msgid "Cdrom with Ubuntu 5.04 'Hoary Hedgehog'" -msgstr "CD-ROM contenant Ubuntu 5.04 \"Hoary Hedgehog\"" +msgstr "CD-ROM contenant Ubuntu 5.04 « Hoary Hedgehog »" #. CompDescription -#: ../data/templates/Ubuntu.info.in:219 ../data/templates/Debian.info.in:94 +#: ../data/templates/Ubuntu.info.in:219 +#: ../data/templates/Debian.info.in:94 msgid "Officially supported" msgstr "Supporté officiellement" @@ -189,11 +182,10 @@ msgstr "« Backports » pour Ubuntu 5.04" #. Description #: ../data/templates/Ubuntu.info.in:244 msgid "Ubuntu 4.10 'Warty Warthog'" -msgstr "Ubuntu 4.10 \"Warty Warthog\"" +msgstr "Ubuntu 4.10 « Warty Warthog »" #. CompDescription #: ../data/templates/Ubuntu.info.in:250 -#, fuzzy msgid "Community-maintained (Universe)" msgstr "Maintenu par la communauté (Universe)" @@ -205,7 +197,7 @@ msgstr "Non libre (Multiverse)" #. Description #: ../data/templates/Ubuntu.info.in:257 msgid "Cdrom with Ubuntu 4.10 'Warty Warthog'" -msgstr "CD-ROM contenant Ubuntu 4.10 \"Warty Warthog\"" +msgstr "CD-ROM contenant Ubuntu 4.10 « Warty Warthog »" #. CompDescription #: ../data/templates/Ubuntu.info.in:260 @@ -241,13 +233,12 @@ msgstr "http://packages.debian.org/changelogs/pool/%s/%s/%s/%s_%s/changelog" #. Description #: ../data/templates/Debian.info.in:8 msgid "Debian 4.0 'Etch' " -msgstr "" +msgstr "Debian 4.0 « Etch »" #. Description #: ../data/templates/Debian.info.in:31 -#, fuzzy msgid "Debian 3.1 'Sarge'" -msgstr "Debian 3.1 \"Sarge\"" +msgstr "Debian 3.1 « Sarge »" #. Description #: ../data/templates/Debian.info.in:42 @@ -256,31 +247,29 @@ msgstr "Mises à jour suggérées" #. Description #: ../data/templates/Debian.info.in:47 -#, fuzzy msgid "Security updates" msgstr "Mises à jour de sécurité" #. Description #: ../data/templates/Debian.info.in:54 msgid "Debian current stable release" -msgstr "" +msgstr "Debian stable actuelle" #. Description #: ../data/templates/Debian.info.in:67 -#, fuzzy msgid "Debian testing" -msgstr "Debian \"Etch\" (testing)" +msgstr "Debian « Lenny » (testing)" #. Description #: ../data/templates/Debian.info.in:92 -#, fuzzy msgid "Debian 'Sid' (unstable)" -msgstr "Debian \"Sid\" (unstable)" +msgstr "Debian « Sid » (unstable)" #. CompDescription #: ../data/templates/Debian.info.in:96 -msgid "DFSG-compatible Software with Non-Free Dependencies" -msgstr "" +msgid "" +"DFSG-compatible Software with Non-Free Dependencies" +msgstr "" "Logiciel libre (selon les lignes directrices du projet Debian) dont les " "dépendances ne sont pas libres" @@ -290,7 +279,7 @@ msgid "Non-DFSG-compatible Software" msgstr "Logiciel non libre (selon les lignes directrices du projet Debian)" #. TRANSLATORS: %s is a country -#: ../aptsources/distro.py:192 ../aptsources/distro.py:399 +#: ../aptsources/distro.py:343 #, python-format msgid "Server for %s" msgstr "Serveur pour %s" @@ -298,83 +287,63 @@ msgstr "Serveur pour %s" #. More than one server is used. Since we don't handle this case #. in the user interface we set "custom servers" to true and #. append a list of all used servers -#: ../aptsources/distro.py:211 ../aptsources/distro.py:216 -#: ../aptsources/distro.py:230 +#: ../aptsources/distro.py:355 +#: ../aptsources/distro.py:360 +#: ../aptsources/distro.py:374 msgid "Main server" msgstr "Serveur principal" -#: ../aptsources/distro.py:233 +#: ../aptsources/distro.py:377 msgid "Custom servers" msgstr "Serveurs personnalisés" #~ msgid "Daily" #~ msgstr "Quotidiennement" - #~ msgid "Every two days" #~ msgstr "Tous les deux jours" - #~ msgid "Weekly" #~ msgstr "Hebdomadaire" - #~ msgid "Every two weeks" #~ msgstr "Toutes les deux semaines" - #~ msgid "Every %s days" #~ msgstr "Tous les %s jours" - #~ msgid "After one week" #~ msgstr "Après une semaine" - #~ msgid "After two weeks" #~ msgstr "Après deux semaines" - #~ msgid "After one month" #~ msgstr "Après un mois" - #~ msgid "After %s days" #~ msgstr "Après %s jours" - #~ msgid "%s updates" #~ msgstr "Mises à jour %s" - #~ msgid "%s (%s)" #~ msgstr "%s (%s)" - #~ msgid "Nearest server" #~ msgstr "Serveur le plus proche" - #~ msgid "Software Channel" #~ msgstr "Source de mise à jour" - #~ msgid "Active" #~ msgstr "Actif" - #~ msgid "(Source Code)" #~ msgstr "(Code Source)" - #~ msgid "Source Code" #~ msgstr "Code Source" - #~ msgid "Import key" #~ msgstr "Importer la clé" - #~ msgid "Error importing selected file" #~ msgstr "Erreur lors du chargement du fichier sélectionné" - #~ msgid "The selected file may not be a GPG key file or it might be corrupt." #~ msgstr "" #~ "Le fichier sélectionné n'est peut-être pas une clé GPG ou alors il est " #~ "corrompu." - #~ msgid "Error removing the key" #~ msgstr "Erreur lors de la suppression de la clé" - #~ msgid "" #~ "The key you selected could not be removed. Please report this as a bug." #~ msgstr "" #~ "La clé que vous avez sélectionnée ne peut être supprimée. Veuillez " #~ "rapporter ce bogue." - #~ msgid "" #~ "<big><b>Error scanning the CD</b></big>\n" #~ "\n" @@ -383,16 +352,12 @@ msgstr "Serveurs personnalisés" #~ "<big><b>Erreur lors de l'analyse du CD</b></big>\n" #~ "\n" #~ "%s" - #~ msgid "Please enter a name for the disc" #~ msgstr "Veuillez saisir un nom pour le disque" - #~ msgid "Please insert a disc in the drive:" #~ msgstr "Veuillez insérer un disque dans le lecteur :" - #~ msgid "Broken packages" #~ msgstr "Paquets défectueux" - #~ msgid "" #~ "Your system contains broken packages that couldn't be fixed with this " #~ "software. Please fix them first using synaptic or apt-get before " @@ -401,16 +366,12 @@ msgstr "Serveurs personnalisés" #~ "Votre système contient des paquets défectueux qui n'ont pu être réparés " #~ "avec ce logiciel. Veuillez d'abord les réparer à l'aide de Synaptic ou " #~ "d'apt-get avant de continuer." - #~ msgid "Can't upgrade required meta-packages" #~ msgstr "Les meta-paquets désirés n'ont pu être mis à jour" - #~ msgid "A essential package would have to be removed" #~ msgstr "Un paquet essentiel devrait être enlevé" - #~ msgid "Could not calculate the upgrade" #~ msgstr "Impossible de calculer la mise à jour" - #~ msgid "" #~ "A unresolvable problem occurred while calculating the upgrade.\n" #~ "\n" @@ -421,10 +382,8 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Merci de rapporter ce bogue du paquet « update-manager » et d'inclure les " #~ "fichiers de /var/log/dist-upgrade/ dans le rapport de bogue." - #~ msgid "Error authenticating some packages" #~ msgstr "Erreur lors de l'authentification de certains paquets" - #~ msgid "" #~ "It was not possible to authenticate some packages. This may be a " #~ "transient network problem. You may want to try again later. See below for " @@ -434,20 +393,16 @@ msgstr "Serveurs personnalisés" #~ "d'un problème temporaire du réseau. Vous voudrez sans doute réessayer " #~ "plus tard. Vous trouverez ci-dessous une liste des paquets non " #~ "authentifiés." - #~ msgid "Can't install '%s'" #~ msgstr "Impossible d'installer « %s »" - #~ msgid "" #~ "It was impossible to install a required package. Please report this as a " #~ "bug. " #~ msgstr "" #~ "Il a été impossible d'installer un paquet pourtant requis. Merci de " #~ "rapporter ce bogue. " - #~ msgid "Can't guess meta-package" #~ msgstr "Impossible de déterminer le méta-paquet" - #~ msgid "" #~ "Your system does not contain a ubuntu-desktop, kubuntu-desktop or " #~ "edubuntu-desktop package and it was not possible to detect which version " @@ -460,10 +415,8 @@ msgstr "Serveurs personnalisés" #~ "la version d'Ubuntu que vous utilisez.\n" #~ " Veuillez d'abord installer l'un des paquets ci-dessus, en utilisant " #~ "Synaptic ou apt-get, avant de continuer." - #~ msgid "Failed to add the CD" #~ msgstr "Impossible d'ajouter le CD" - #~ msgid "" #~ "There was a error adding the CD, the upgrade will abort. Please report " #~ "this as a bug if this is a valid Ubuntu CD.\n" @@ -476,14 +429,11 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Le message d'erreur est :\n" #~ "« %s »" - #~ msgid "Reading cache" #~ msgstr "Lecture du cache" - #~ msgid "Fetch data from the network for the upgrade?" #~ msgstr "" #~ "Télécharger les données depuis le réseau pour effectuer la mise à jour ?" - #~ msgid "" #~ "The upgrade can use the network to check the latest updates and to fetch " #~ "packages that are not on the current CD.\n" @@ -495,10 +445,8 @@ msgstr "Serveurs personnalisés" #~ "Si vous avez une connexion internet rapide ou bon marché, vous devriez " #~ "répondre « oui ». Par contre, si votre connexion internet est lente ou " #~ "trop chère, répondez « non »." - #~ msgid "No valid mirror found" #~ msgstr "Aucun mirroir valide trouvé" - #~ msgid "" #~ "While scaning your repository information no mirror entry for the upgrade " #~ "was found.This cam happen if you run a internal mirror or if the mirror " @@ -516,10 +464,8 @@ msgstr "Serveurs personnalisés" #~ "Souhaitez-vous que votre « sources.list » soit malgré tout réécrit ? Si " #~ "oui, cela mettra à jour toutes les entrées « %s » vers « %s ».\n" #~ "Sinon, la mise à jour sera annulée." - #~ msgid "Generate default sources?" #~ msgstr "Générer les sources par défaut ?" - #~ msgid "" #~ "After scanning your 'sources.list' no valid entry for '%s' was found.\n" #~ "\n" @@ -531,20 +477,16 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Les entrées par défaut pour « %s » doivent-elles être ajoutées ? Si vous " #~ "sélectionnez « Non », la mise à jour sera annulée." - #~ msgid "Repository information invalid" #~ msgstr "Information sur le dépôt invalide" - #~ msgid "" #~ "Upgrading the repository information resulted in a invalid file. Please " #~ "report this as a bug." #~ msgstr "" #~ "La mise à jour des informations du dépôt a créé un fichier invalide. " #~ "Merci de rapporter ce bogue." - #~ msgid "Third party sources disabled" #~ msgstr "Sources provenant de tiers désactivées" - #~ msgid "" #~ "Some third party entries in your sources.list were disabled. You can re-" #~ "enable them after the upgrade with the 'software-properties' tool or with " @@ -553,10 +495,8 @@ msgstr "Serveurs personnalisés" #~ "Certaines entrées de votre fichier sources.list provenant de tiers ont " #~ "été désactivées. Vous pouvez les réactiver après la mise à jour avec " #~ "l'outil « Gestionnaire de canaux logiciels » ou avec Synaptic." - #~ msgid "Error during update" #~ msgstr "Erreur lors de la mise à jour" - #~ msgid "" #~ "A problem occured during the update. This is usually some sort of network " #~ "problem, please check your network connection and retry." @@ -564,10 +504,8 @@ msgstr "Serveurs personnalisés" #~ "Un problème est survenu lors de la mise à jour. Ceci est généralement dû " #~ "à un problème de réseau. Veuillez vérifier votre connexion au réseau et " #~ "réessayer." - #~ msgid "Not enough free disk space" #~ msgstr "Pas assez d'espace libre sur le disque" - #~ msgid "" #~ "The upgrade aborts now. Please free at least %s of disk space on %s. " #~ "Empty your trash and remove temporary packages of former installations " @@ -576,13 +514,10 @@ msgstr "Serveurs personnalisés" #~ "Abandon de la mise à jour. Veuillez libérer au moins %s d'espace disque " #~ "sur %s. Videz la corbeille et supprimez les paquets temporaires des " #~ "installations effectuées en utilisant la commande « sudo apt-get clean »." - #~ msgid "Do you want to start the upgrade?" #~ msgstr "Voulez-vous commencer la mise à jour ?" - #~ msgid "Could not install the upgrades" #~ msgstr "Les mises à jour n'ont pu être installées" - #~ msgid "" #~ "The upgrade aborts now. Your system could be in an unusable state. A " #~ "recovery was run (dpkg --configure -a).\n" @@ -596,20 +531,16 @@ msgstr "Serveurs personnalisés" #~ "Veuillez signaler ceci comme un bogue du paquet « update-manager » et " #~ "joindre les fichiers du répertoire /var/log/dist-upgrade dans le rapport " #~ "de bogue." - #~ msgid "Could not download the upgrades" #~ msgstr "Les mises à jour n'ont pu être téléchargées" - #~ msgid "" #~ "The upgrade aborts now. Please check your internet connection or " #~ "installation media and try again. " #~ msgstr "" #~ "Abandon de la mise à jour. Veuillez vérifier votre connexion Internet ou " #~ "votre médium d'installation puis réessayez. " - #~ msgid "Support for some applications ended" #~ msgstr "La prise en charge de certaines applications a pris fin" - #~ msgid "" #~ "Canonical Ltd. no longer provides support for the following software " #~ "packages. You can still get support from the community.\n" @@ -623,38 +554,28 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Si vous n'avez pas activé le dépôt « universe », la suppression de ces " #~ "paquets vous sera suggérée lors de la prochaine étape." - #~ msgid "Remove obsolete packages?" #~ msgstr "Enlever les paquets obsolètes ?" - #~ msgid "_Skip This Step" #~ msgstr "_Passer cette étape" - #~ msgid "_Remove" #~ msgstr "_Supprimer" - #~ msgid "Error during commit" #~ msgstr "Erreur pendant la soumission" - #~ msgid "" #~ "Some problem occured during the clean-up. Please see the below message " #~ "for more information. " #~ msgstr "" #~ "Un problème est survenu lors du nettoyage. Veuillez vous reporter au " #~ "message ci-dessous pour plus d'informations. " - #~ msgid "Restoring original system state" #~ msgstr "Restaurer le système dans son état d'origine" - #~ msgid "Fetching backport of '%s'" #~ msgstr "Recherche du backport (rétro-portage) de « %s »" - #~ msgid "Checking package manager" #~ msgstr "Vérification du gestionnaire de paquets" - #~ msgid "Preparing the upgrade failed" #~ msgstr "Échec lors de la préparation de la mise à jour" - #~ msgid "" #~ "Preparing the system for the upgrade failed. Please report this as a bug " #~ "against the 'update-manager' package and include the files in /var/log/" @@ -663,13 +584,10 @@ msgstr "Serveurs personnalisés" #~ "Échec lors de la préparation de la mise à jour du système. Merci de faire " #~ "remonter ce bug concernant le paquet 'update manager' et d'inclure les " #~ "fichiers contenus dans le dossier /var/log/dist-upgrade/ à votre rapport." - #~ msgid "Updating repository information" #~ msgstr "Mise à jour des informations sur les dépôts en cours" - #~ msgid "Invalid package information" #~ msgstr "Information sur le paquet invalide" - #~ msgid "" #~ "After your package information was updated the essential package '%s' can " #~ "not be found anymore.\n" @@ -682,40 +600,28 @@ msgstr "Serveurs personnalisés" #~ "Ceci indique qu'une erreur importante s'est produite, veuillez signaler " #~ "ceci comme un bogue du paquet « update-manager » et joindre les fichiers " #~ "du répertoire /var/log/dist-upgrade dans le rapport de bogue." - #~ msgid "Asking for confirmation" #~ msgstr "Demande de confirmation" - #~ msgid "Upgrading" #~ msgstr "Mise à jour en cours" - #~ msgid "Searching for obsolete software" #~ msgstr "Recherche de logiciels obsolètes" - #~ msgid "System upgrade is complete." #~ msgstr "La mise à jour du système est terminée." - #~ msgid "Please insert '%s' into the drive '%s'" #~ msgstr "Veuillez insérer « %s » dans le lecteur « %s »" - #~ msgid "Fetching is complete" #~ msgstr "La récupération des fichiers est terminée" - #~ msgid "Fetching file %li of %li at %s/s" #~ msgstr "Téléchargement du fichier %li sur %li en cours à %s/s" - #~ msgid "About %s remaining" #~ msgstr "Environ %s restantes" - #~ msgid "Fetching file %li of %li" #~ msgstr "Téléchargement du fichier %li sur %li en cours" - #~ msgid "Applying changes" #~ msgstr "Application des changements" - #~ msgid "Could not install '%s'" #~ msgstr "Impossible d'installer « %s »" - #~ msgid "" #~ "The upgrade aborts now. Please report this bug against the 'update-" #~ "manager' package and include the files in /var/log/dist-upgrade/ in the " @@ -724,27 +630,22 @@ msgstr "Serveurs personnalisés" #~ "La mise à jour va être interrompue maintenant. Veuillez signaler ceci " #~ "comme un bogue du paquet « update-manager » et joindre les fichiers du " #~ "répertoire /var/log/dist-upgrade/ dans le rapport de bogue." - #~ msgid "" #~ "Replace the customized configuration file\n" #~ "'%s'?" #~ msgstr "" #~ "Remplacer le fichier de configuration personnalisé\n" #~ "« %s » ?" - #~ msgid "" #~ "You will lose any changes you have made to this configuration file if you " #~ "choose to replace it with a newer version." #~ msgstr "" #~ "Toutes les modifications apportées à ce fichier de configuration seront " #~ "perdues si vous décidez de le remplacer par une version plus récente." - #~ msgid "The 'diff' command was not found" #~ msgstr "La commande « diff » n'a pu être trouvée" - #~ msgid "A fatal error occured" #~ msgstr "Une erreur fatale est survenue" - #~ msgid "" #~ "Please report this as a bug and include the files /var/log/dist-upgrade/" #~ "main.log and /var/log/dist-upgrade/apt.log in your report. The upgrade " @@ -756,22 +657,18 @@ msgstr "Serveurs personnalisés" #~ "annulée.\n" #~ "Votre fichier sources.list d'origine a été enregistré dans /etc/apt/" #~ "sources.list.distUpgrade." - #~ msgid "%d package is going to be removed." #~ msgid_plural "%d packages are going to be removed." #~ msgstr[0] "%d paquet va être supprimé." #~ msgstr[1] "%d paquets vont être supprimés." - #~ msgid "%d new package is going to be installed." #~ msgid_plural "%d new packages are going to be installed." #~ msgstr[0] "%d nouveau paquet va être installé." #~ msgstr[1] "%d nouveaux paquets vont être installés." - #~ msgid "%d package is going to be upgraded." #~ msgid_plural "%d packages are going to be upgraded." #~ msgstr[0] "%d paquet va être mis à jour." #~ msgstr[1] "%d paquets vont être mis à jour." - #~ msgid "" #~ "\n" #~ "\n" @@ -780,70 +677,54 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "\n" #~ "Vous avez à télécharger un total de %s. " - #~ msgid "" #~ "Fetching and installing the upgrade can take several hours and cannot be " #~ "canceled at any time later." #~ msgstr "" #~ "La récupération et l'installation de la mise à jour peuvent prendre " #~ "plusieurs heures et l'opération ne peut être annulée ultérieurement." - #~ msgid "To prevent data loss close all open applications and documents." #~ msgstr "" #~ "Pour éviter toute perte de données accidentelle, veuillez fermer toutes " #~ "les applications et documents ouverts." - #~ msgid "Your system is up-to-date" #~ msgstr "Votre système est à jour" - #~ msgid "" #~ "There are no upgrades available for your system. The upgrade will now be " #~ "canceled." #~ msgstr "" #~ "Il n'y a pas de mises à niveau disponibles pour votre système. La mise à " #~ "niveau va maintenant être annulée." - #~ msgid "<b>Remove %s</b>" #~ msgstr "<b>Supprimer %s</b>" - #~ msgid "Install %s" #~ msgstr "Installer %s" - #~ msgid "Upgrade %s" #~ msgstr "Mettre à jour %s" - #~ msgid "%li days %li hours %li minutes" #~ msgstr "%li jours %li heures %li minutes" - #~ msgid "%li hours %li minutes" #~ msgstr "%li heures %li minutes" - #~ msgid "%li minutes" #~ msgstr "%li minutes" - #~ msgid "%li seconds" #~ msgstr "%li secondes" - #~ msgid "" #~ "This download will take about %s with a 1Mbit DSL connection and about %s " #~ "with a 56k modem" #~ msgstr "" #~ "Ce téléchargement prendra environ %s avec une connexion Dsl 1 Mbits et " #~ "environ %s avec un modem 56k" - #~ msgid "Reboot required" #~ msgstr "Redémarrage de l'ordinateur requis" - #~ msgid "" #~ "The upgrade is finished and a reboot is required. Do you want to do this " #~ "now?" #~ msgstr "" #~ "La mise à jour est terminée et le redémarrage de l'ordinateur est requis. " #~ "Voulez-vous le faire dès maintenant ?" - #~ msgid " " #~ msgstr " " - #~ msgid "" #~ "<b><big>Cancel the running upgrade?</big></b>\n" #~ "\n" @@ -854,209 +735,150 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Le système pourrait devenir inutilisable si vous annulez la mise à jour. " #~ "Il vous est fortement conseillé de reprendre la mise à jour." - #~ msgid "<b><big>Restart the system to complete the upgrade</big></b>" #~ msgstr "" #~ "<b><big>Redémarrez votre système pour terminer la mise à jour</big></b>" - #~ msgid "<b><big>Start the upgrade?</big></b>" #~ msgstr "<b><big>Démarrer la mise à jour ?</big></b>" - #~ msgid "<b><big>Upgrading Ubuntu to version 6.10</big></b>" #~ msgstr "<b><big>Mise à jour d'Ubuntu vers la version 6.10</big></b>" - #~ msgid "Cleaning up" #~ msgstr "Nettoyage" - #~ msgid "Details" #~ msgstr "Détails" - #~ msgid "Difference between the files" #~ msgstr "Différence entre les fichiers" - #~ msgid "Fetching and installing the upgrades" #~ msgstr "Téléchargement et installation des mises à jour en cours" - #~ msgid "Modifying the software channels" #~ msgstr "Modification des canaux logiciels" - #~ msgid "Preparing the upgrade" #~ msgstr "Préparation de la mise à jour" - #~ msgid "Restarting the system" #~ msgstr "Redémarrage du système" - #~ msgid "Terminal" #~ msgstr "Terminal" - #~ msgid "_Cancel Upgrade" #~ msgstr "_Annuler la mise à jour" - #~ msgid "_Continue" #~ msgstr "_Continuer" - #~ msgid "_Keep" #~ msgstr "_Conserver" - #~ msgid "_Replace" #~ msgstr "_Remplacer" - #~ msgid "_Report Bug" #~ msgstr "_Rapporter un bogue" - #~ msgid "_Restart Now" #~ msgstr "_Redémarrer Maintenant" - #~ msgid "_Resume Upgrade" #~ msgstr "_Reprendre la mise à jour" - #~ msgid "_Start Upgrade" #~ msgstr "_Démarrer la mise à jour" - #~ msgid "Could not find the release notes" #~ msgstr "Impossible de trouver les informations de version" - #~ msgid "The server may be overloaded. " #~ msgstr "Le serveur est peut-être surchargé. " - #~ msgid "Could not download the release notes" #~ msgstr "Impossible de télécharger les informations de version" - #~ msgid "Please check your internet connection." #~ msgstr "Veuillez vérifier votre connexion Internet." - #~ msgid "Could not run the upgrade tool" #~ msgstr "Impossible de lancer l'outil de mise à jour" - #~ msgid "" #~ "This is most likely a bug in the upgrade tool. Please report it as a bug" #~ msgstr "" #~ "Un problème insoluble est apparu lors du calcul de la mise à jour. Merci " #~ "de rapporter ce bogue." - #~ msgid "Downloading the upgrade tool" #~ msgstr "Téléchargement de l'outil de mise à jour" - #~ msgid "The upgrade tool will guide you through the upgrade process." #~ msgstr "Cet outil vous guidera à travers le processus de mise à jour" - #~ msgid "Upgrade tool signature" #~ msgstr "Signature de l'outil de mise à jour" - #~ msgid "Upgrade tool" #~ msgstr "Outil de mise à jour" - #~ msgid "Failed to fetch" #~ msgstr "Impossible d'établir la connexion" - #~ msgid "Fetching the upgrade failed. There may be a network problem. " #~ msgstr "" #~ "La recherche de la mise à jour à échoué. Il y a peut-être un problème " #~ "réseau. " - #~ msgid "Failed to extract" #~ msgstr "Impossible d'extraire" - #~ msgid "" #~ "Extracting the upgrade failed. There may be a problem with the network or " #~ "with the server. " #~ msgstr "" #~ "L'extraction de la mise à jour a échoué. Il y a peut-être un problème de " #~ "réseau ou avec le serveur. " - #~ msgid "Verfication failed" #~ msgstr "Échec de la vérification" - #~ msgid "" #~ "Verifying the upgrade failed. There may be a problem with the network or " #~ "with the server. " #~ msgstr "" #~ "La vérification de la mise à jour a échoué. Il y a peut-être un problème " #~ "avec le réseau ou avec le serveur. " - #~ msgid "Authentication failed" #~ msgstr "Échec de l'authentification" - #~ msgid "" #~ "Authenticating the upgrade failed. There may be a problem with the " #~ "network or with the server. " #~ msgstr "" #~ "Échec de l'authentification de la mise à jour. Il y a peut-être un " #~ "problème avec le réseau ou avec le serveur " - #~ msgid "Downloading file %(current)li of %(total)li with %(speed)s/s" #~ msgstr "Téléchargement du fichier %(current)li sur %(total)li à %(speed)s/s" - #~ msgid "Downloading file %(current)li of %(total)li" #~ msgstr "Téléchargement du fichier %(current)li sur %(total)li" - #~ msgid "The list of changes is not available" #~ msgstr "La liste des modifications n'est pas disponible" - #~ msgid "" #~ "The list of changes is not available yet.\n" #~ "Please try again later." #~ msgstr "" #~ "La liste des modifications n'est pas encore disponible. Veuillez " #~ "réessayer plus tard." - #~ msgid "" #~ "Failed to download the list of changes. \n" #~ "Please check your Internet connection." #~ msgstr "" #~ "Échec lors du téléchargement de la liste des modifications. \n" #~ "Veuillez vérifier votre connexion Internet." - #~ msgid "Backports" #~ msgstr "« Backports »" - #~ msgid "Distribution updates" #~ msgstr "Mises à jour de la distribution" - #~ msgid "Other updates" #~ msgstr "Autres mises à jour" - #~ msgid "Version %s: \n" #~ msgstr "Version %s : \n" - #~ msgid "Downloading list of changes..." #~ msgstr "Téléchargement de la liste des modifications…" - #~ msgid "_Uncheck All" #~ msgstr "_Tout décocher" - #~ msgid "_Check All" #~ msgstr "Tout _vérifier" - #~ msgid "Download size: %s" #~ msgstr "Taille du téléchargement : %s" - #~ msgid "You can install %s update" #~ msgid_plural "You can install %s updates" #~ msgstr[0] "Vous pouvez installer %s mise à jour" #~ msgstr[1] "Vous pouvez installer %s mises à jour" - #~ msgid "Please wait, this can take some time." #~ msgstr "Veuillez patienter, cela peut prendre du temps." - #~ msgid "Update is complete" #~ msgstr "La mise à jour est terminée" - #~ msgid "Checking for updates" #~ msgstr "Recherche des mises à jour disponibles en cours" - #~ msgid "From version %(old_version)s to %(new_version)s" #~ msgstr "De la version %(old_version)s vers la version %(new_version)s" - #~ msgid "Version %s" #~ msgstr "Version %s" - #~ msgid "(Size: %s)" #~ msgstr "(Taille : %s)" - #~ msgid "Your distribution is not supported anymore" #~ msgstr "Votre distribution n'est plus supportée" - #~ msgid "" #~ "You will not get any further security fixes or critical updates. Upgrade " #~ "to a later version of Ubuntu Linux. See http://www.ubuntu.com for more " @@ -1065,13 +887,10 @@ msgstr "Serveurs personnalisés" #~ "Vous ne pouvez plus obtenir de mises à jour critiques ou de securité. " #~ "Vous devez passer à une version plus récente d'Ubuntu Linux. Rendez-vous " #~ "sur http://www.ubuntu.com pour de plus amples informations à ce sujet." - #~ msgid "<b>New distribution release '%s' is available</b>" #~ msgstr "<b>Une nouvelle version « %s » est disponible</b>" - #~ msgid "Software index is broken" #~ msgstr "La liste des logiciels est corrompue" - #~ msgid "" #~ "It is impossible to install or remove any software. Please use the " #~ "package manager \"Synaptic\" or run \"sudo apt-get install -f\" in a " @@ -1080,19 +899,14 @@ msgstr "Serveurs personnalisés" #~ "Il est impossible d'installer ou de supprimer des logiciels. Veuillez " #~ "utiliser d'abord le « Gestionnaire de paquets Synaptic » ou lancez « sudo " #~ "apt-get install -f » dans un terminal pour réparer ce problème." - #~ msgid "None" #~ msgstr "Aucun(e)" - #~ msgid "1 KB" #~ msgstr "1 Ko" - #~ msgid "%.0f KB" #~ msgstr "%.0f Ko" - #~ msgid "%.1f MB" #~ msgstr "%.1f Mo" - #~ msgid "" #~ "<b><big>You must check for updates manually</big></b>\n" #~ "\n" @@ -1106,34 +920,24 @@ msgstr "Serveurs personnalisés" #~ "Votre système ne vérifie pas les mises à jour automatiquement. Vous " #~ "pouvez configurer ce comportement dans <i>Sources logicielles</i> qui se " #~ "trouve dans l'onglet <i>Mises à jour par Internet</i>." - #~ msgid "<big><b>Keep your system up-to-date</b></big>" #~ msgstr "<big><b>Maintenir votre système à jour</b></big>" - #~ msgid "<big><b>Not all updates can be installed</b></big>" #~ msgstr "<big><b>Certaines mises à jour n'ont pu être installées</b></big>" - #~ msgid "<big><b>Starting update manager</b></big>" #~ msgstr "<b><big>Démarrage du gestionnaire de mise à jour ?</big></b>" - #~ msgid "Changes" #~ msgstr "Changements" - #~ msgid "Changes and description of the update" #~ msgstr "Changements et description de la mise à jour" - #~ msgid "Chec_k" #~ msgstr "_Vérifier" - #~ msgid "Check the software channels for new updates" #~ msgstr "Vérifier les canaux logiciels pour de nouvelles mises à jour" - #~ msgid "Description" #~ msgstr "Description" - #~ msgid "Release Notes" #~ msgstr "Notes de publication" - #~ msgid "" #~ "Run a distribution upgrade, to install as many updates as possible. \n" #~ "\n" @@ -1145,60 +949,44 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Ce problème peut être dû à une mise à niveau incomplète, à des paquets " #~ "non officiels ou à l'utilisation d'une version de développement." - #~ msgid "Show progress of single files" #~ msgstr "Afficher la progression de chaque fichier" - #~ msgid "Software Updates" #~ msgstr "Mises à jour des logiciels" - #~ msgid "" #~ "Software updates correct errors, eliminate security vulnerabilities and " #~ "provide new features." #~ msgstr "" #~ "Les mises à jour de logiciels peuvent corriger des erreurs, éliminer des " #~ "problèmes de sécurité et apporter de nouvelles fonctionnalités." - #~ msgid "U_pgrade" #~ msgstr "Mettre à _jour" - #~ msgid "Upgrade to the latest version of Ubuntu" #~ msgstr "Mettre à jour vers la version la plus récente d'Ubuntu" - #~ msgid "_Check" #~ msgstr "_Vérifier" - #~ msgid "_Distribution Upgrade" #~ msgstr "_Mise à jour de la distribution" - #~ msgid "_Hide this information in the future" #~ msgstr "_Masquer ces informations à l'avenir" - #~ msgid "_Install Updates" #~ msgstr "_Installer les mises à jour" #, fuzzy #~ msgid "_Upgrade" #~ msgstr "Mettre à _jour" - #~ msgid "changes" #~ msgstr "changements" - #~ msgid "updates" #~ msgstr "mises à jour" - #~ msgid "<b>Automatic updates</b>" #~ msgstr "<b>Mises à jour automatiques</b>" - #~ msgid "<b>CDROM/DVD</b>" #~ msgstr "<b>CD-ROM/DVD</b>" - #~ msgid "<b>Internet updates</b>" #~ msgstr "<b>Mises à jour par Internet</b>" - #~ msgid "<b>Internet</b>" #~ msgstr "<b>Internet</b>" - #~ msgid "" #~ "<i>To improve the user experience of Ubuntu please take part in the " #~ "popularity contest. If you do so the list of installed software and how " @@ -1216,68 +1004,49 @@ msgstr "Serveurs personnalisés" #~ "Les résultats sont utilisés pour améliorer le support des applications " #~ "les plus utilisées et pour classer les applications dans les résultats " #~ "des recherches.</i>" - #~ msgid "Add Cdrom" #~ msgstr "Ajouter un CD-ROM" - #~ msgid "Authentication" #~ msgstr "Authentification" - #~ msgid "D_elete downloaded software files:" #~ msgstr "_Effacer les fichiers des logiciels téléchargés :" - #~ msgid "Download from:" #~ msgstr "Télécharger depuis :" - #~ msgid "Import the public key from a trusted software provider" #~ msgstr "" #~ "Importer la clé publique d'un fournisseur de logiciels digne de confiance" - #~ msgid "Internet Updates" #~ msgstr "Mises à jour par Internet" - #~ msgid "" #~ "Only security updates from the official Ubuntu servers will be installed " #~ "automatically" #~ msgstr "" #~ "Seules les mises à jour de sécurité des serveurs officiels d'Ubuntu " #~ "seront automatiquement installées." - #~ msgid "Restore _Defaults" #~ msgstr "Restaurer les clés par _défaut" - #~ msgid "Restore the default keys of your distribution" #~ msgstr "Restaurer les clés par défaut de votre distribution" - #~ msgid "Software Sources" #~ msgstr "Sources de mise à jour" - #~ msgid "Source code" #~ msgstr "Code source" - #~ msgid "Statistics" #~ msgstr "Statistiques" - #~ msgid "Submit statistical information" #~ msgstr "Soumettre des statistiques sur l'utilisation des paquets" - #~ msgid "Third Party" #~ msgstr "Tierces parties" - #~ msgid "_Check for updates automatically:" #~ msgstr "_Rechercher des mises à jour automatiquement :" - #~ msgid "_Download updates automatically, but do not install them" #~ msgstr "" #~ "_Télécharger automatiquement les mises à jour en arrière-plan, mais ne " #~ "pas les installer" - #~ msgid "_Import Key File" #~ msgstr "_Importer la clé" - #~ msgid "_Install security updates without confirmation" #~ msgstr "_Installer les mises à jour de sécurité sans confirmation" - #~ msgid "" #~ "<b><big>The information about available software is out-of-date</big></" #~ "b>\n" @@ -1295,22 +1064,16 @@ msgstr "Serveurs personnalisés" #~ "ces informations.\n" #~ "\n" #~ "Une connexion internet fonctionnelle sera nécessaire." - #~ msgid "<b>Comment:</b>" #~ msgstr "<b>Commentaire :</b>" - #~ msgid "<b>Components:</b>" #~ msgstr "<b>Composants :</b>" - #~ msgid "<b>Distribution:</b>" #~ msgstr "<b>Distribution :</b>" - #~ msgid "<b>Type:</b>" #~ msgstr "<b>Type :</b>" - #~ msgid "<b>URI:</b>" #~ msgstr "<b>URI :</b>" - #~ msgid "" #~ "<big><b>Enter the complete APT line of the repository that you want to " #~ "add as source</b></big>\n" @@ -1323,45 +1086,34 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "La ligne APT contient le type, l'adresse et le contenu d'un dépôt, par " #~ "exemple <i>« deb http://ftp.debian.org sarge main »</i>." - #~ msgid "APT line:" #~ msgstr "Ligne APT :" - #~ msgid "" #~ "Binary\n" #~ "Source" #~ msgstr "" #~ "Binaire\n" #~ "Source" - #~ msgid "Edit Source" #~ msgstr "Modifier la source de mise à jour" - #~ msgid "Scanning CD-ROM" #~ msgstr "Examen du CD-ROM" - #~ msgid "_Add Source" #~ msgstr "_Ajouter une source de mise à jour" - #~ msgid "_Reload" #~ msgstr "A_ctualiser" - #~ msgid "Show and install available updates" #~ msgstr "Afficher et installer les mises à jour disponibles" - #~ msgid "Update Manager" #~ msgstr "Gestionnaire de mises à jour" - #~ msgid "" #~ "Check automatically if a new version of the current distribution is " #~ "available and offer to upgrade (if possible)." #~ msgstr "" #~ "Vérifier automatiquement si une nouvelle version de l'actuelle " #~ "distribution est disponible et proposer la mise à jour (si possible)." - #~ msgid "Check for new distribution releases" #~ msgstr "Vérifier les nouvelles versions de la distribution" - #~ msgid "" #~ "If automatic checking for updates is disabled, you have to reload the " #~ "channel list manually. This option allows to hide the reminder shown in " @@ -1370,75 +1122,54 @@ msgstr "Serveurs personnalisés" #~ "Si la recherche automatique des mises à jour est désactivée, vous devez " #~ "recharger manuellement la liste des canaux logiciels. Cette option permet " #~ "de cacher la notification qui apparaît dans ce cas." - #~ msgid "Remind to reload the channel list" #~ msgstr "Me rappeller de recharger la liste des canaux logiciels" - #~ msgid "Show details of an update" #~ msgstr "Afficher les détails d'une mise à jour" - #~ msgid "Stores the size of the update-manager dialog" #~ msgstr "Enregistre la taille de la fenêtre du gestionnaire de mises à jour" - #~ msgid "" #~ "Stores the state of the expander that contains the list of changes and " #~ "the description" #~ msgstr "" #~ "Enregistre l'état de développement de la liste des changements et les " #~ "descriptions" - #~ msgid "The window size" #~ msgstr "La taille de la fenêtre" - #~ msgid "Configure the sources for installable software and updates" #~ msgstr "" #~ "Configurer les canaux logiciels (sources de mise à jour) et les mises à " #~ "jour via Internet" - #~ msgid "http://security.debian.org/" #~ msgstr "http://security.debian.org/" - #~ msgid "Debian 3.1 \"Sarge\" Security Updates" #~ msgstr "Mises à jour de sécurité pour Debian 3.1 \"Sarge\"" - #~ msgid "http://http.us.debian.org/debian/" #~ msgstr "http://http.us.debian.org/debian/" - #~ msgid "By copyright or legal issues restricted software" #~ msgstr "Logiciel restreint pour des raisons légales ou de copyright" - #~ msgid "Downloading file %li of %li with unknown speed" #~ msgstr "Téléchargement du fichier %li sur %li à une vitesse inconnue" - #~ msgid "Normal updates" #~ msgstr "Mises à jour habituelles" - #~ msgid "Cancel _Download" #~ msgstr "_Annuler le téléchargement" - #~ msgid "Some software no longer officially supported" #~ msgstr "Certains logiciels ne sont plus supportés officiellement" - #~ msgid "Could not find any upgrades" #~ msgstr "Aucune mise à jour n'est disponible" - #~ msgid "Your system has already been upgraded." #~ msgstr "Votre système a déjà été mis à jour." - #~ msgid "" #~ "<span weight=\"bold\" size=\"x-large\">Upgrading to Ubuntu 6.10</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"x-large\">Mise à jour vers Ubuntu 6.10</span>" - #~ msgid "Important security updates of Ubuntu" #~ msgstr "Mises à jour de sécurité pour Ubuntu" - #~ msgid "Updates of Ubuntu" #~ msgstr "Mises à jour d'Ubuntu" - #~ msgid "Cannot install all available updates" #~ msgstr "Impossible d'installer toutes les mises à jour disponibles" - #~ msgid "" #~ "<big><b>Examining your system</b></big>\n" #~ "\n" @@ -1449,10 +1180,8 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Les mises à jour de logiciels peuvent corriger des erreurs, éliminer des " #~ "problèmes de sécurité et apporter de nouvelles fonctionalités." - #~ msgid "Oficially supported" #~ msgstr "Supporté officiellement" - #~ msgid "" #~ "Some updates require the removal of further software. Use the function " #~ "\"Mark All Upgrades\" of the package manager \"Synaptic\" or run \"sudo " @@ -1463,111 +1192,81 @@ msgstr "Serveurs personnalisés" #~ "mises à jour » du « Gestionnaire de paquets Synaptic » ou lancez « sudo " #~ "apt-get dist-upgrade » dans un terminal pour mettre votre système " #~ "complètement à jour." - #~ msgid "The following updates will be skipped:" #~ msgstr "Les paquets suivants ne seront pas mis à jour :" - #~ msgid "About %li seconds remaining" #~ msgstr "Environ %li secondes restantes" - #~ msgid "Download is complete" #~ msgstr "Le téléchargement est terminé" - #~ msgid "The upgrade aborts now. Please report this bug." #~ msgstr "La mise à jour vient d'échouer. Merci de rapporter ce bog.ue" - #~ msgid "Upgrading Ubuntu" #~ msgstr "Mettre à jour Ubuntu" - #~ msgid "Hide details" #~ msgstr "Masquer les détails" - #~ msgid "Show details" #~ msgstr "Montrer les détails" - #~ msgid "Only one software management tool is allowed to run at the same time" #~ msgstr "" #~ "Vous ne pouvez utilisez qu'un seul gestionnaire de logiciels à la fois" - #~ msgid "" #~ "Please close the other application e.g. 'aptitude' or 'Synaptic' first." #~ msgstr "" #~ "Veuillez fermer l'autre application, par ex. « Aptitude » ou « Synaptic »." - #~ msgid "<b>Channels</b>" #~ msgstr "<b>Dépôts</b>" - #~ msgid "<b>Keys</b>" #~ msgstr "<b>Clés</b>" - #~ msgid "Installation Media" #~ msgstr "Médium d'installation" - #~ msgid "Software Preferences" #~ msgstr "Préférences du logiciel" - #~ msgid " " #~ msgstr " " - #~ msgid "<b>Channel</b>" #~ msgstr "<b>Canal</b>" - #~ msgid "<b>Components</b>" #~ msgstr "<b>Composants</b>" - #~ msgid "Add Channel" #~ msgstr "Ajouter un canal logiciel" - #~ msgid "Edit Channel" #~ msgstr "Modifier un canal logiciel" - #~ msgid "_Add Channel" #~ msgid_plural "_Add Channels" #~ msgstr[0] "_Ajouter un canal logiciel" #~ msgstr[1] "_Ajouter des canaux logiciels" - #~ msgid "_Custom" #~ msgstr "_Personnalisé" - #~ msgid "Ubuntu 6.06 LTS" #~ msgstr "Ubuntu 6.06 LTS" - #~ msgid "Ubuntu 6.06 LTS Security Updates" #~ msgstr "Mises à jour de sécurité pour Ubuntu 6.06 LTS" - #~ msgid "Ubuntu 6.06 LTS Updates" #~ msgstr "Mises à jour pour Ubuntu 6.06 LTS" - #~ msgid "Ubuntu 6.06 LTS Backports" #~ msgstr "« Backports » pour Ubuntu 6.06 LTS" - #~ msgid "" #~ "While scaning your repository information no valid entry for the upgrade " #~ "was found.\n" #~ msgstr "" #~ "Durant la vérification des informations du dépôt, aucune entrée valide " #~ "pour la mise à jour n'a été trouvée.\n" - #~ msgid "Repositories changed" #~ msgstr "Les dépôts ont été modifiés" - #~ msgid "" #~ "You need to reload the package list from the servers for your changes to " #~ "take effect. Do you want to do this now?" #~ msgstr "" #~ "Vous devez recharger la liste des paquets depuis les serveurs pour que " #~ "vos changements soient effectifs. Voulez-vous le faire maintenant ?" - #~ msgid "<b>Sections</b>" #~ msgstr "<b>Catégories :</b>" - #~ msgid "<b>Sections:</b>" #~ msgstr "<b>Sections :</b>" #, fuzzy #~ msgid "Reload the latest information about updates" #~ msgstr "Recharger les informations des paquets depuis le serveur" - #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Downloading changes</span>\n" #~ "\n" @@ -1577,7 +1276,6 @@ msgstr "Serveurs personnalisés" #~ "span>\n" #~ "\n" #~ "Il est nécessaire de récupérer les changement du serveur central" - #~ msgid "Show available updates and choose which to install" #~ msgstr "Montre les mises à jours disponibles et choisir celles à installer" @@ -1596,13 +1294,10 @@ msgstr "Serveurs personnalisés" #, fuzzy #~ msgid "Cancel downloading of the changelog" #~ msgstr "Annuler le téléchargement du changelog" - #~ msgid "Choose a key-file" #~ msgstr "Choisir un fichier de clé" - #~ msgid "<b>Packages to install:</b>" #~ msgstr "<b>Paquets à installer :</b>" - #~ msgid "" #~ "<big><b>Available Updates</b></big>\n" #~ "\n" @@ -1613,13 +1308,10 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Les paquets suivant peuvent être mis à jour. Vous pouvez les mettre à " #~ "jour en utilisant le bouton Installer." - #~ msgid "<b>Repository</b>" #~ msgstr "<b>Dépôt</b>" - #~ msgid "<b>Temporary files</b>" #~ msgstr "<b>Fichiers temporaires</b>" - #~ msgid "<b>User Interface</b>" #~ msgstr "<b>Interface utilisateur</b>" @@ -1635,7 +1327,6 @@ msgstr "Serveurs personnalisés" #~ "Vous pouvez ajouter ou enlever des clés d'authentification grâce à cette " #~ "boîte de dialogue. Une clé rend possible la vérification de l'intégrité " #~ "des logiciels que vous téléchargez." - #~ msgid "A_uthentication" #~ msgstr "A_uthentification" @@ -1647,22 +1338,16 @@ msgstr "Serveurs personnalisés" #~ "Ajouter une nouvelle clé au trousseau digne de confiance. Veuillez " #~ "vérifier que vous avez obtenu la clé à travers un canal sécurisé et que " #~ "vous faites confiance à son possesseur. " - #~ msgid "Automatically clean _temporary packages files" #~ msgstr "Nettoyer automatiquement les fichiers _temporaires des paquets" - #~ msgid "Clean interval in days: " #~ msgstr "Nombre de jours avant nettoyage : " - #~ msgid "Delete _old packages in the package cache" #~ msgstr "Supprimer les _anciens paquets du cache des paquets" - #~ msgid "Edit Repository..." #~ msgstr "Éditer le dépôt..." - #~ msgid "Maximum age in days:" #~ msgstr "Âge maximal en jours :" - #~ msgid "Maximum size in MB:" #~ msgstr "Taille maximale en Mo :" @@ -1673,25 +1358,18 @@ msgstr "Serveurs personnalisés" #~ msgstr "" #~ "Restaurer les clés par défaut fournies avec la distribution. Les clés " #~ "installées par l'utilisateur ne seront pas modifiées." - #~ msgid "Set _maximum size for the package cache" #~ msgstr "Définir une taille _maximale pour le cache de paquets" - #~ msgid "Settings" #~ msgstr "Paramètres" - #~ msgid "Show disabled software sources" #~ msgstr "Afficher les sources des logiciels désactivées" - #~ msgid "Update interval in days: " #~ msgstr "Nombre de jours avant mise à jour : " - #~ msgid "_Add Repository" #~ msgstr "_Ajouter un dépôt" - #~ msgid "_Download upgradable packages" #~ msgstr "_Télécharger les paquets pouvant être mis à jour" - #~ msgid "" #~ "This means that some dependencies of the installed packages are not " #~ "satisfied. Please use \"Synaptic\" or \"apt-get\" to fix the situation." @@ -1699,10 +1377,8 @@ msgstr "Serveurs personnalisés" #~ "Ceci signifie que certaines dépendances des paquets installés ne sont pas " #~ "satisfaites. Veuillez utilisez « Synaptic » ou « apt-get » pour régler la " #~ "situation." - #~ msgid "It is not possible to upgrade all packages." #~ msgstr "Il n'est pas possible de mettre à jour tous les paquets." - #~ msgid "" #~ "This means that besides the actual upgrade of the packages some further " #~ "action (such as installing or removing packages) is required. Please use " @@ -1713,28 +1389,22 @@ msgstr "Serveurs personnalisés" #~ "suppression de paquets) seront requises après la mise à jour. Veuillez " #~ "utiliser Synaptic « Mise à jour intelligente » ou « apt-get dist-" #~ "upgrade » pour régler la situation." - #~ msgid "Changes not found, the server may not be updated yet." #~ msgstr "" #~ "Changements non trouvés, le serveur n'a peut-être pas encore été mis à " #~ "jour." - #~ msgid "The updates are being applied." #~ msgstr "Les mises à jour ont été appliquées." - #~ msgid "" #~ "You can run only one package management application at the same time. " #~ "Please close this other application first." #~ msgstr "" #~ "Vous ne pouvez exécuter qu'un seul gestionnaire de paquets à la fois. " #~ "Veuillez tout d'abord fermer cette autre application." - #~ msgid "Updating package list..." #~ msgstr "Mise à jour de la liste des paquets..." - #~ msgid "There are no updates available." #~ msgstr "Aucune mise à jour n'est disponible." - #~ msgid "" #~ "Please upgrade to a newer version of Ubuntu Linux. The version you are " #~ "running will no longer get security fixes or other critical updates. " @@ -1744,17 +1414,14 @@ msgstr "Serveurs personnalisés" #~ "version que vous êtes entrain d'utiliser ne recevra pas d'autres " #~ "correctifs de sécurité ou mises à jour critiques. Veuillez voir http://" #~ "www.ubuntulinux.org pour les informations de mise à jour." - #~ msgid "There is a new release of Ubuntu available!" #~ msgstr "Il y a une nouvelle version d'Ubuntu disponible !" - #~ msgid "" #~ "A new release with the codename '%s' is available. Please see http://www." #~ "ubuntulinux.org/ for upgrade instructions." #~ msgstr "" #~ "Une nouvelle version avec le nom de code « %s » est disponible. Veuillez " #~ "voir http://www.ubuntulinux.org pour les informations de mise à jour." - #~ msgid "Never show this message again" #~ msgstr "Ne plus afficher ce message à nouveau" @@ -1765,32 +1432,23 @@ msgstr "Serveurs personnalisés" #~ msgstr "" #~ "Vous ne pouvez exécuter qu'un seul gestionnaire de paquets à la fois. " #~ "Veuillez tout d'abord fermer cette autre application." - #~ msgid "Initializing and getting list of updates..." #~ msgstr "Initialisation et récupération de la liste des mises à jour..." - #~ msgid "You need to be root to run this program" #~ msgstr "Vous devez être superutilisateur pour lancer ce programme." - #~ msgid "Edit software sources and settings" #~ msgstr "Éditer les sources et paramètres du logiciel" - #~ msgid "Ubuntu Update Manager" #~ msgstr "Gestionnaire de mises à jour d'Ubuntu" - #~ msgid "Binary" #~ msgstr "Binaire" - #~ msgid "CD" #~ msgstr "CD" - #~ msgid "Non-free software" #~ msgstr "Logiciel non-libre" - #~ msgid "Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>" #~ msgstr "" #~ "Clé de signature automatique de l'archive Ubuntu <ftpmaster@ubuntu.com>" - #~ msgid "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>" #~ msgstr "" #~ "Clé de signature automatique des cédéroms Ubuntu <cdimage@ubuntu.com>" @@ -1805,6 +1463,5 @@ msgstr "Serveurs personnalisés" #~ "\n" #~ "Les paquets suivant peuvent être mis à jour. Vous pouvez les mettre à " #~ "jour en utilisant le bouton Installer." - #~ msgid "0" #~ msgstr "0" diff --git a/python/apt_pkgmodule.h b/python/apt_pkgmodule.h index d58f4589..f59c8ca0 100644 --- a/python/apt_pkgmodule.h +++ b/python/apt_pkgmodule.h @@ -95,5 +95,8 @@ PyObject *GetPkgSourceList(PyObject *Self,PyObject *Args); // pkgSourceList extern PyTypeObject PackageIndexFileType; +// metaIndex +extern PyTypeObject MetaIndexType; + #endif diff --git a/python/depcache.cc b/python/depcache.cc index 94ff708c..f44f2f32 100644 --- a/python/depcache.cc +++ b/python/depcache.cc @@ -227,17 +227,19 @@ static PyObject *PkgDepCacheGetCandidateVer(PyObject *Self,PyObject *Args) static PyObject *PkgDepCacheUpgrade(PyObject *Self,PyObject *Args) { + bool res; pkgDepCache *depcache = GetCpp<pkgDepCache *>(Self); char distUpgrade=0; if (PyArg_ParseTuple(Args,"|b",&distUpgrade) == 0) return 0; - bool res; + Py_BEGIN_ALLOW_THREADS if(distUpgrade) res = pkgDistUpgrade(*depcache); else res = pkgAllUpgrade(*depcache); + Py_END_ALLOW_THREADS Py_INCREF(Py_None); return HandleErrors(Py_BuildValue("b",res)); @@ -245,12 +247,15 @@ static PyObject *PkgDepCacheUpgrade(PyObject *Self,PyObject *Args) static PyObject *PkgDepCacheMinimizeUpgrade(PyObject *Self,PyObject *Args) { + bool res; pkgDepCache *depcache = GetCpp<pkgDepCache *>(Self); if (PyArg_ParseTuple(Args,"") == 0) return 0; - bool res = pkgMinimizeUpgrade(*depcache); + Py_BEGIN_ALLOW_THREADS + res = pkgMinimizeUpgrade(*depcache); + Py_END_ALLOW_THREADS Py_INCREF(Py_None); return HandleErrors(Py_BuildValue("b",res)); @@ -351,8 +356,10 @@ static PyObject *PkgDepCacheMarkInstall(PyObject *Self,PyObject *Args) &autoInst, &fromUser) == 0) return 0; + Py_BEGIN_ALLOW_THREADS pkgCache::PkgIterator &Pkg = GetCpp<pkgCache::PkgIterator>(PackageObj); depcache->MarkInstall(Pkg, autoInst, 0, fromUser); + Py_END_ALLOW_THREADS Py_INCREF(Py_None); return HandleErrors(Py_None); @@ -652,23 +659,31 @@ PyObject *GetPkgProblemResolver(PyObject *Self,PyObject *Args) static PyObject *PkgProblemResolverResolve(PyObject *Self,PyObject *Args) { + bool res; pkgProblemResolver *fixer = GetCpp<pkgProblemResolver *>(Self); char brokenFix=1; if (PyArg_ParseTuple(Args,"|b",&brokenFix) == 0) return 0; - bool res = fixer->Resolve(brokenFix); + Py_BEGIN_ALLOW_THREADS + res = fixer->Resolve(brokenFix); + Py_END_ALLOW_THREADS return HandleErrors(Py_BuildValue("b", res)); } static PyObject *PkgProblemResolverResolveByKeep(PyObject *Self,PyObject *Args) -{ +{ + bool res; pkgProblemResolver *fixer = GetCpp<pkgProblemResolver *>(Self); if (PyArg_ParseTuple(Args,"") == 0) return 0; - bool res = fixer->ResolveByKeep(); + + Py_BEGIN_ALLOW_THREADS + res = fixer->ResolveByKeep(); + Py_END_ALLOW_THREADS + return HandleErrors(Py_BuildValue("b", res)); } diff --git a/python/makefile b/python/makefile index 24ef3238..e0c62541 100644 --- a/python/makefile +++ b/python/makefile @@ -12,7 +12,7 @@ LIB_MAKES = apt-pkg/makefile APT_PKG_SRC = apt_pkgmodule.cc configuration.cc generic.cc tag.cc string.cc \ cache.cc pkgrecords.cc pkgsrcrecords.cc sourcelist.cc \ depcache.cc progress.cc cdrom.cc acquire.cc pkgmanager.cc \ - indexfile.cc + indexfile.cc metaindex.cc SOURCE := $(APT_PKG_SRC) include $(PYTHON_H) progress.h diff --git a/python/metaindex.cc b/python/metaindex.cc new file mode 100644 index 00000000..c9a86ab4 --- /dev/null +++ b/python/metaindex.cc @@ -0,0 +1,78 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: metaindex.cc,v 1.2 2003/12/26 17:04:22 mdz Exp $ +/* ###################################################################### + + metaindex - Wrapper for the metaIndex functions + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include "generic.h" +#include "apt_pkgmodule.h" + +#include <apt-pkg/metaindex.h> + +#include <Python.h> + + +static PyObject *MetaIndexAttr(PyObject *Self,char *Name) +{ + metaIndex *meta = GetCpp<metaIndex*>(Self); + if (strcmp("URI",Name) == 0) + return Safe_FromString(meta->GetURI().c_str()); + else if (strcmp("Dist",Name) == 0) + return Safe_FromString(meta->GetDist().c_str()); + else if (strcmp("IsTrusted",Name) == 0) + return Py_BuildValue("i",(meta->IsTrusted())); + else if (strcmp("IndexFiles",Name) == 0) + { + PyObject *List = PyList_New(0); + vector<pkgIndexFile *> *indexFiles = meta->GetIndexFiles(); + for (vector<pkgIndexFile *>::const_iterator I = indexFiles->begin(); + I != indexFiles->end(); I++) + { + PyObject *Obj; + Obj = CppPyObject_NEW<pkgIndexFile*>(&PackageIndexFileType,*I); + PyList_Append(List,Obj); + } + return List; + } +} + +static PyObject *MetaIndexRepr(PyObject *Self) +{ + metaIndex *meta = GetCpp<metaIndex*>(Self); + + char S[1024]; + snprintf(S,sizeof(S),"<metaIndex object: " + "Type='%s', URI:'%s' Dist='%s' IsTrusted='%i'>", + meta->GetType(), meta->GetURI().c_str(), meta->GetDist().c_str(), + meta->IsTrusted()); + + return PyString_FromString(S); +} + +PyTypeObject MetaIndexType = +{ + PyObject_HEAD_INIT(&PyType_Type) + 0, // ob_size + "metaIndex", // tp_name + sizeof(CppOwnedPyObject<metaIndex*>), // tp_basicsize + 0, // tp_itemsize + // Methods + CppOwnedDealloc<metaIndex*>, // tp_dealloc + 0, // tp_print + MetaIndexAttr, // tp_getattr + 0, // tp_setattr + 0, // tp_compare + MetaIndexRepr, // tp_repr + 0, // tp_as_number + 0, // tp_as_sequence + 0, // tp_as_mapping + 0, // tp_hash +}; + + + + diff --git a/python/progress.cc b/python/progress.cc index df9c2ec1..793265db 100644 --- a/python/progress.cc +++ b/python/progress.cc @@ -65,10 +65,11 @@ void PyOpProgress::Update() Py_XDECREF(o); // Build up the argument list... - PyObject *arglist = Py_BuildValue("(f)", Percent); if(CheckChange(0.05)) + { + PyObject *arglist = Py_BuildValue("(f)", Percent); RunSimpleCallback("update", arglist); - Py_XDECREF(arglist); + } }; void PyOpProgress::Done() @@ -163,14 +164,19 @@ bool PyFetchProgress::Pulse(pkgAcquire * Owner) PyObject *o; o = Py_BuildValue("f", CurrentCPS); PyObject_SetAttrString(callbackInst, "currentCPS", o); + Py_XDECREF(o); o = Py_BuildValue("f", CurrentBytes); PyObject_SetAttrString(callbackInst, "currentBytes", o); + Py_XDECREF(o); o = Py_BuildValue("i", CurrentItems); PyObject_SetAttrString(callbackInst, "currentItems", o); + Py_XDECREF(o); o = Py_BuildValue("i", TotalItems); PyObject_SetAttrString(callbackInst, "totalItems", o); + Py_XDECREF(o); o = Py_BuildValue("f", TotalBytes); PyObject_SetAttrString(callbackInst, "totalBytes", o); + Py_XDECREF(o); PyObject *arglist = Py_BuildValue("()"); PyObject *result; @@ -306,6 +312,7 @@ void PyCdromProgress::Update(string text, int current) PyObject *o = Py_BuildValue("i", totalSteps); PyObject_SetAttrString(callbackInst, "totalSteps", o); + Py_XDECREF(o); RunSimpleCallback("update", arglist); } diff --git a/python/sourcelist.cc b/python/sourcelist.cc index 16e51368..68b764f8 100644 --- a/python/sourcelist.cc +++ b/python/sourcelist.cc @@ -80,7 +80,21 @@ static PyMethodDef PkgSourceListMethods[] = static PyObject *PkgSourceListAttr(PyObject *Self,char *Name) { - return Py_FindMethod(PkgSourceListMethods,Self,Name); + pkgSourceList *list = GetCpp<pkgSourceList*>(Self); + + if (strcmp("List",Name) == 0) + { + PyObject *List = PyList_New(0); + for (vector<metaIndex *>::const_iterator I = list->begin(); + I != list->end(); I++) + { + PyObject *Obj; + Obj = CppPyObject_NEW<metaIndex*>(&MetaIndexType,*I); + PyList_Append(List,Obj); + } + return List; + } + return Py_FindMethod(PkgSourceListMethods,Self,Name); } PyTypeObject PkgSourceListType = { diff --git a/python/string.cc b/python/string.cc index d0926da5..1fa5a901 100644 --- a/python/string.cc +++ b/python/string.cc @@ -55,7 +55,7 @@ PyObject *StrSizeToStr(PyObject *Self,PyObject *Args) if (PyInt_Check(Obj)) return CppPyString(SizeToStr(PyInt_AsLong(Obj))); if (PyLong_Check(Obj)) - return CppPyString(SizeToStr(PyLong_AsLong(Obj))); + return CppPyString(SizeToStr(PyLong_AsDouble(Obj))); if (PyFloat_Check(Obj)) return CppPyString(SizeToStr(PyFloat_AsDouble(Obj))); diff --git a/python/tag.cc b/python/tag.cc index d0d862c9..4b378a55 100644 --- a/python/tag.cc +++ b/python/tag.cc @@ -78,7 +78,7 @@ static PyObject *TagSecFind(PyObject *Self,PyObject *Args) { char *Name = 0; char *Default = 0; - if (PyArg_ParseTuple(Args,"s|s",&Name,&Default) == 0) + if (PyArg_ParseTuple(Args,"s|z",&Name,&Default) == 0) return 0; const char *Start; @@ -86,10 +86,7 @@ static PyObject *TagSecFind(PyObject *Self,PyObject *Args) if (GetCpp<pkgTagSection>(Self).Find(Name,Start,Stop) == false) { if (Default == 0) - { - Py_INCREF(Py_None); - return Py_None; - } + Py_RETURN_NONE; return PyString_FromString(Default); } return PyString_FromStringAndSize(Start,Stop-Start); diff --git a/tests/refcount.py b/tests/refcount.py new file mode 100755 index 00000000..f3230bd3 --- /dev/null +++ b/tests/refcount.py @@ -0,0 +1,54 @@ +#!/usr/bin/python-dbg + +from pprint import pprint,pformat +import apt +import sys +import gc +import difflib + +# get initial cache +print sys.gettotalrefcount() +progress= apt.progress.OpTextProgress() +c = apt.Cache(progress) +print "refcount after first cache instance: ", sys.gettotalrefcount() + +# test open() +c.open(progress) +print "refcount after cache open: ", sys.gettotalrefcount() +#pprint(sys.getobjects(10)) + +c.open(apt.progress.OpProgress()) +print "refcount after seconf cache open: ", sys.gettotalrefcount() +#pprint(sys.getobjects(10)) + +# FIXME: find a way to get a efficient diff +#before = gc.get_objects() +#c.open(apt.progress.OpProgress()) +#after = gc.get_objects() + + +# test update() +print "refcount before cache.update(): ", sys.gettotalrefcount() +c.update() +gc.collect() +print "refcount after cache.update(): ", sys.gettotalrefcount() +c.update() +gc.collect() +print "refcount after second cache.update(): ", sys.gettotalrefcount() +#pprint(sys.getobjects(20)) + + +# test install() +c.open(apt.progress.OpProgress()) +gc.collect() +print "refcount before cache['hello'].markInstall(): ", sys.gettotalrefcount() +c["hello"].markInstall() +c.commit(apt.progress.FetchProgress(), apt.progress.InstallProgress()) +gc.collect() +print "refcount after: ", sys.gettotalrefcount() +c.open(apt.progress.OpProgress()) +c["hello"].markDelete() +c.commit(apt.progress.FetchProgress(), apt.progress.InstallProgress()) +gc.collect() +print "refcount after: ", sys.gettotalrefcount() +pprint(sys.getobjects(10)) |
