diff --git a/.dnf-plugins-core.metadata b/.dnf-plugins-core.metadata new file mode 100644 index 0000000..40ecba9 --- /dev/null +++ b/.dnf-plugins-core.metadata @@ -0,0 +1 @@ +40f26a50a6605eacb1e9c4a443f01655fa461767 SOURCES/dnf-plugins-core-4.0.21.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae4a8af --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/dnf-plugins-core-4.0.21.tar.gz diff --git a/SOURCES/0001-Update-translations.patch b/SOURCES/0001-Update-translations.patch new file mode 100644 index 0000000..a6f13f7 --- /dev/null +++ b/SOURCES/0001-Update-translations.patch @@ -0,0 +1,4472 @@ +From e49f3a15cc7d9abfc7da19503abf6188f1dd8825 Mon Sep 17 00:00:00 2001 +From: Marek Blaha +Date: Fri, 17 Sep 2021 16:07:48 +0200 +Subject: [PATCH] Update translations + +--- + po/fr.po | 374 ++++++++++++++++++++-------- + po/ja.po | 557 +++++++++++++++++++++++++++-------------- + po/ko.po | 704 +++++++++++++++++++++++++++++++++------------------- + po/zh_CN.po | 565 +++++++++++++++++++++++++++-------------- + 4 files changed, 1458 insertions(+), 742 deletions(-) + +diff --git a/po/fr.po b/po/fr.po +index dfa06ad..b5c253f 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -3,23 +3,24 @@ + # José Fournier , 2017. #zanata + # Jérôme Fenal , 2017. #zanata + # Jean-Baptiste Holcroft , 2018. #zanata, 2020. +-# Ludek Janda , 2018. #zanata ++# Ludek Janda , 2018. #zanata, 2021. + # Jean-Baptiste Holcroft , 2019. #zanata, 2020. + # Julien Humbert , 2020. ++# Sundeep Anand , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-07-09 13:27+0000\n" +-"Last-Translator: Julien Humbert \n" +-"Language-Team: French \n" ++"POT-Creation-Date: 2021-09-01 09:17+0200\n" ++"PO-Revision-Date: 2021-09-16 03:04+0000\n" ++"Last-Translator: Ludek Janda \n" ++"Language-Team: French \n" + "Language: fr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=n > 1;\n" +-"X-Generator: Weblate 4.1.1\n" ++"X-Generator: Weblate 4.8\n" + + #: plugins/builddep.py:45 + msgid "[PACKAGE|PACKAGE.spec]" +@@ -150,45 +151,45 @@ msgstr "Liste tous les changements" + msgid "Changelogs for {}" + msgstr "Changements pour {}" + +-#: plugins/config_manager.py:37 ++#: plugins/config_manager.py:38 + #, python-brace-format + msgid "manage {prog} configuration options and repositories" + msgstr "gestion de la configuration et des dépôts {prog}" + +-#: plugins/config_manager.py:44 ++#: plugins/config_manager.py:45 + msgid "repo to modify" + msgstr "dépôt à modifier" + +-#: plugins/config_manager.py:47 ++#: plugins/config_manager.py:48 + msgid "save the current options (useful with --setopt)" + msgstr "enregistrer les options actuelles (utile avec --setopt)" + +-#: plugins/config_manager.py:50 ++#: plugins/config_manager.py:51 + msgid "add (and enable) the repo from the specified file or url" + msgstr "ajoute (et active) le dépôt à partir du fichier ou de l’url indiqué" + +-#: plugins/config_manager.py:53 ++#: plugins/config_manager.py:54 + msgid "print current configuration values to stdout" + msgstr "" + "affiche les valeurs de la configuration actuelle sur la sortie standard" + +-#: plugins/config_manager.py:56 ++#: plugins/config_manager.py:57 + msgid "print variable values to stdout" + msgstr "affiche les valeurs des variables sur la sortie standard" + +-#: plugins/config_manager.py:60 ++#: plugins/config_manager.py:61 + msgid "enable repos (automatically saves)" + msgstr "activer les dépôts (enregistre automatiquement)" + +-#: plugins/config_manager.py:63 ++#: plugins/config_manager.py:64 + msgid "disable repos (automatically saves)" + msgstr "désactiver les dépôts (enregistre automatiquement)" + +-#: plugins/config_manager.py:77 ++#: plugins/config_manager.py:78 + msgid "one of the following arguments is required: {}" + msgstr "un des paramètres suivants est nécessaire : {}" + +-#: plugins/config_manager.py:86 ++#: plugins/config_manager.py:87 + msgid "" + "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " + "manager. Use --set-enabled/--set-disabled instead." +@@ -197,23 +198,23 @@ msgstr "" + "signification avec le gestionnaire de configuration. Utilisez plutôt --set-" + "enabled/--set-disabled." + +-#: plugins/config_manager.py:131 ++#: plugins/config_manager.py:132 + #, python-format + msgid "No matching repo to modify: %s." + msgstr "Aucun dépôt correspondant à modifier : %s." + +-#: plugins/config_manager.py:182 ++#: plugins/config_manager.py:183 + #, python-format + msgid "Adding repo from: %s" + msgstr "Ajout du dépôt depuis : %s" + +-#: plugins/config_manager.py:206 ++#: plugins/config_manager.py:207 + msgid "Configuration of repo failed" + msgid_plural "Configuration of repos failed" + msgstr[0] "La configuration du dépôt a échoué" + msgstr[1] "La configuration des dépôts a échoué" + +-#: plugins/config_manager.py:216 ++#: plugins/config_manager.py:217 + #, python-format + msgid "Could not save repo to repofile %s: %s" + msgstr "Sauvegarde impossible du dépôt dans le fichier du dépôt %s : %s" +@@ -296,7 +297,7 @@ msgstr "Lister les dépôts Copr disponibles par NOM d’utilisateur" + msgid "Specify an instance of Copr to work with" + msgstr "Précisez une instance Copr avec laquelle travailler" + +-#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 ++#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:244 + msgid "Error: " + msgstr "Erreur : " + +@@ -316,17 +317,29 @@ msgstr "de multiples hubs ont été renseignés" + msgid "exactly two additional parameters to copr command are required" + msgstr "la commande copr requiert exactement deux paramètres additionnels" + +-#: plugins/copr.py:238 ++#: plugins/copr.py:227 ++msgid "Too many arguments." ++msgstr "Trop de paramètres." ++ ++#: plugins/copr.py:230 ++msgid "" ++"Bad format of optional chroot. The format is distribution-version-" ++"architecture." ++msgstr "" ++"Mauvais format de chroot facultatif. Le format est distribution-version-" ++"architecture." ++ ++#: plugins/copr.py:245 + msgid "use format `copr_username/copr_projectname` to reference copr project" + msgstr "" + "utilisez le format `copr_username/copr_projectname` pour faire référence au " + "projet copr" + +-#: plugins/copr.py:240 ++#: plugins/copr.py:247 + msgid "bad copr project format" + msgstr "mauvais format de projet copr" + +-#: plugins/copr.py:254 ++#: plugins/copr.py:261 + msgid "" + "\n" + "Enabling a Copr repository. Please note that this repository is not part\n" +@@ -352,23 +365,23 @@ msgstr "" + "Veuillez ne pas signaler de bogues à propos de ces paquets dans le Bugzilla de Fedora.\n" + "En cas de problèmes, contactez le propriétaire de ce dépôt.\n" + +-#: plugins/copr.py:271 ++#: plugins/copr.py:278 + msgid "Repository successfully enabled." + msgstr "Activation du dépôt réussie." + +-#: plugins/copr.py:276 ++#: plugins/copr.py:283 + msgid "Repository successfully disabled." + msgstr "Désactivation du dépôt réussie." + +-#: plugins/copr.py:280 ++#: plugins/copr.py:287 + msgid "Repository successfully removed." + msgstr "Suppression du dépôt réussie." + +-#: plugins/copr.py:284 plugins/copr.py:693 ++#: plugins/copr.py:291 plugins/copr.py:698 + msgid "Unknown subcommand {}." + msgstr "Sous-commande inconnue {}." + +-#: plugins/copr.py:341 ++#: plugins/copr.py:348 + msgid "" + "* These coprs have repo file with an old format that contains no information" + " about Copr hub - the default one was assumed. Re-enable the project to fix " +@@ -378,51 +391,51 @@ msgstr "" + "aucune information à propos de Copr hub - celui par défaut a été utilisé. " + "Réactivez le projet pour résoudre le problème." + +-#: plugins/copr.py:353 ++#: plugins/copr.py:360 + msgid "Can't parse repositories for username '{}'." + msgstr "" + "Ne peut analyser les dépôts pour y chercher le nom d’utilisateur « {} »." + +-#: plugins/copr.py:356 ++#: plugins/copr.py:363 + msgid "List of {} coprs" + msgstr "Liste de {} coprs" + +-#: plugins/copr.py:364 ++#: plugins/copr.py:371 + msgid "No description given" + msgstr "Aucune description fournie" + +-#: plugins/copr.py:376 ++#: plugins/copr.py:383 + msgid "Can't parse search for '{}'." + msgstr "Impossible d’analyser la recherche pour « {} »." + +-#: plugins/copr.py:379 ++#: plugins/copr.py:386 + msgid "Matched: {}" + msgstr "Correspondance : {}" + +-#: plugins/copr.py:387 ++#: plugins/copr.py:394 + msgid "No description given." + msgstr "Pas de description fournie." + +-#: plugins/copr.py:410 ++#: plugins/copr.py:417 + msgid "Safe and good answer. Exiting." + msgstr "Réponse sûre et exacte. Fin." + +-#: plugins/copr.py:417 ++#: plugins/copr.py:424 + msgid "This command has to be run under the root user." + msgstr "Cette commande requiert les privilèges du super utilisateur." + +-#: plugins/copr.py:481 ++#: plugins/copr.py:486 + msgid "" + "This repository does not have any builds yet so you cannot enable it now." + msgstr "" + "Ce dépôt ne contient pas encore d’exécutables vous ne pouvez donc pas " + "l’activer." + +-#: plugins/copr.py:484 ++#: plugins/copr.py:489 + msgid "Such repository does not exist." + msgstr "Ce dépôt n’existe pas." + +-#: plugins/copr.py:528 ++#: plugins/copr.py:533 + #, python-brace-format + msgid "" + "Maintainer of the enabled Copr repository decided to make\n" +@@ -451,44 +464,44 @@ msgstr "" + "\n" + "Ces dépôts ont été activés automatiquement." + +-#: plugins/copr.py:549 ++#: plugins/copr.py:554 + msgid "Do you want to keep them enabled?" + msgstr "Souhaitez-vous les maintenir activés ?" + +-#: plugins/copr.py:582 ++#: plugins/copr.py:587 + #, python-brace-format + msgid "Failed to remove copr repo {0}/{1}/{2}" + msgstr "Échec de la suppression du dépôt Copr {0}/{1}/{2}" + +-#: plugins/copr.py:593 ++#: plugins/copr.py:598 + msgid "Failed to disable copr repo {}/{}" + msgstr "Échec de la désactivation du dépôt copr {}/{}" + +-#: plugins/copr.py:611 plugins/copr.py:648 ++#: plugins/copr.py:616 plugins/copr.py:653 + msgid "Unknown response from server." + msgstr "Réponse inconnue du serveur." + +-#: plugins/copr.py:633 ++#: plugins/copr.py:638 + msgid "Interact with Playground repository." + msgstr "Interagit avec le dépôt Playground." + +-#: plugins/copr.py:639 ++#: plugins/copr.py:644 + msgid "Enabling a Playground repository." + msgstr "Activation d’un dépôt Playground." + +-#: plugins/copr.py:640 ++#: plugins/copr.py:645 + msgid "Do you want to continue?" + msgstr "Souhaitez-vous continuer ?" + +-#: plugins/copr.py:683 ++#: plugins/copr.py:688 + msgid "Playground repositories successfully enabled." + msgstr "Activation des dépôts Playground réussie." + +-#: plugins/copr.py:686 ++#: plugins/copr.py:691 + msgid "Playground repositories successfully disabled." + msgstr "Désactivation des dépôts Playground réussie." + +-#: plugins/copr.py:690 ++#: plugins/copr.py:695 + msgid "Playground repositories successfully updated." + msgstr "Mise à jour des dépôts Playground réussie." + +@@ -642,7 +655,7 @@ msgstr "" + msgid "when running with --url, limit to specific protocols" + msgstr "si --url est renseigné, limite aux protocoles spécifiés" + +-#: plugins/download.py:121 plugins/reposync.py:293 ++#: plugins/download.py:121 plugins/reposync.py:314 + #, python-format + msgid "Failed to get mirror for package: %s" + msgstr "Échec de l’obtention du miroir pour le paquet : %s" +@@ -665,6 +678,125 @@ msgstr "Aucune source définie pour %s" + msgid "No package %s available." + msgstr "Aucun paquet %s n’est disponible." + ++#: plugins/groups_manager.py:49 ++msgid "Invalid group id" ++msgstr "id de groupe invalide" ++ ++#: plugins/groups_manager.py:58 ++msgid "Invalid translated data, should be in form 'lang:text'" ++msgstr "Données traduites invalides, doivent être au format « lang : text »" ++ ++#: plugins/groups_manager.py:61 ++msgid "Invalid/empty language for translated data" ++msgstr "Langue non valide / vide pour les données traduites" ++ ++#: plugins/groups_manager.py:71 ++msgid "Can't generate group id from '{}'. Please specify group id using --id." ++msgstr "" ++"Impossible de générer l'id du groupe à partir de «{}». Veuillez spécifier " ++"l'id du groupe en utilisant --id." ++ ++#: plugins/groups_manager.py:79 ++msgid "create and edit groups metadata file" ++msgstr "créer et modifier le fichier de métadonnées des groupes" ++ ++#: plugins/groups_manager.py:90 ++msgid "load groups metadata from file" ++msgstr "charger des métadonnées de groupes à partir d'un fichier" ++ ++#: plugins/groups_manager.py:93 ++msgid "save groups metadata to file" ++msgstr "enregistrer les métadonnées des groupes dans un fichier" ++ ++#: plugins/groups_manager.py:95 ++msgid "load and save groups metadata to file" ++msgstr "charge et enregistre les métadonnées des groupes dans un fichier" ++ ++#: plugins/groups_manager.py:97 ++msgid "print the result metadata to stdout" ++msgstr "affiche les métadonnées du résultat sur la sortie standard" ++ ++#: plugins/groups_manager.py:100 ++msgid "group id" ++msgstr "id du groupe" ++ ++#: plugins/groups_manager.py:101 ++msgid "group name" ++msgstr "Nom du groupe" ++ ++#: plugins/groups_manager.py:103 ++msgid "group description" ++msgstr "description du groupe" ++ ++#: plugins/groups_manager.py:105 ++msgid "group display order" ++msgstr "ordre d'affichage du groupe" ++ ++#: plugins/groups_manager.py:108 ++msgid "translated name for the group" ++msgstr "nom traduit pour le groupe" ++ ++#: plugins/groups_manager.py:111 ++msgid "translated description for the group" ++msgstr "description traduite pour le groupe" ++ ++#: plugins/groups_manager.py:115 ++msgid "make the group user visible (default)" ++msgstr "rendre l'utilisateur du groupe visible (par défaut)" ++ ++#: plugins/groups_manager.py:118 ++msgid "make the group user invisible" ++msgstr "rendre l'utilisateur du groupe invisible" ++ ++#: plugins/groups_manager.py:123 ++msgid "add packages to the mandatory section" ++msgstr "ajoute les paquets à la section obligatoire" ++ ++#: plugins/groups_manager.py:125 ++msgid "add packages to the optional section" ++msgstr "ajoute les paquets à la section optionnelle" ++ ++#: plugins/groups_manager.py:127 ++msgid "remove packages from the group instead of adding them" ++msgstr "supprime les paquets du groupe au lieu de les ajouter" ++ ++#: plugins/groups_manager.py:129 ++msgid "include also direct dependencies for packages" ++msgstr "inclus également les dépendances directes pour les paquets" ++ ++#: plugins/groups_manager.py:132 ++msgid "package specification" ++msgstr "spécification du paquet" ++ ++#: plugins/groups_manager.py:156 ++msgid "Can't edit group without specifying it (use --id or --name)" ++msgstr "" ++"Un groupe ne peut pas être édité sans le spécifier (utilisez --id ou --name)" ++ ++#: plugins/groups_manager.py:190 ++msgid "Can't load file \"{}\": {}" ++msgstr "Impossible de charger le fichier « {} » : {}" ++ ++#: plugins/groups_manager.py:206 ++msgid "Can't save file \"{}\": {}" ++msgstr "Impossible d’enregistrer le fichier « {} » : {}" ++ ++#: plugins/groups_manager.py:259 ++msgid "No match for argument: {}" ++msgstr "Aucune correspondance pour l’argument : {}" ++ ++#: plugins/groups_manager.py:296 ++msgid "Can't remove packages from non-existent group" ++msgstr "Les paquets ne peuvent pas être retirés d'un groupe qui n'existe pas" ++ ++#: plugins/groups_manager.py:305 ++msgid "" ++"Group id '{}' generated from '{}' is duplicit. Please specify group id using" ++" --id." ++msgstr "" ++"L'id du groupe « {} » qui a été généré pour « {} » est en double. Veuillez " ++"le spécifier en utilisant --id." ++ + #: plugins/leaves.py:32 + msgid "List installed packages not required by any other package" + msgstr "" +@@ -698,7 +830,7 @@ msgstr "migrer les données d’historique, de groupe et de yumdb, vers dnf" + msgid "Migrating history data..." + msgstr "Migration des données d’historique …" + +-#: plugins/needs_restarting.py:65 ++#: plugins/needs_restarting.py:66 + #, python-brace-format + msgid "" + "No installed package found for package name \"{pkg}\" specified in needs-" +@@ -707,15 +839,15 @@ msgstr "" + "Aucun paquet installé trouvé pour le nom de paquet « {pkg} » spécifié dans " + "needs-restarting du fichier « {file} »." + +-#: plugins/needs_restarting.py:199 ++#: plugins/needs_restarting.py:220 + msgid "determine updated binaries that need restarting" + msgstr "détermine les binaires mis à jour qui nécessitent un redémarrage" + +-#: plugins/needs_restarting.py:204 ++#: plugins/needs_restarting.py:225 + msgid "only consider this user's processes" + msgstr "considère uniquement les processus de cet utilisateur" + +-#: plugins/needs_restarting.py:206 ++#: plugins/needs_restarting.py:227 + msgid "" + "only report whether a reboot is required (exit code 1) or not (exit code 0)" + msgstr "" +@@ -723,28 +855,32 @@ msgstr "" + "(exit code 0)" + + #: plugins/needs_restarting.py:230 ++msgid "only report affected systemd services" ++msgstr "signaler uniquement les services systemd affectés" ++ ++#: plugins/needs_restarting.py:253 + msgid "Core libraries or services have been updated since boot-up:" + msgstr "" + "les bibliothèques et les services de base ont été mis à jour depuis le " + "démarrage (boot-up) :" + +-#: plugins/needs_restarting.py:235 ++#: plugins/needs_restarting.py:258 + msgid "Reboot is required to fully utilize these updates." + msgstr "" + "Un nouveau démarrage est requis pour pouvoir bénéficier totalement de ces " + "mises à jour." + +-#: plugins/needs_restarting.py:236 ++#: plugins/needs_restarting.py:259 + msgid "More information:" + msgstr "Plus d’information :" + +-#: plugins/needs_restarting.py:240 ++#: plugins/needs_restarting.py:263 + msgid "No core libraries or services have been updated since boot-up." + msgstr "" + "Aucune bibliothèque ou service de base n’a été mis à jour depuis le " + "démarrage." + +-#: plugins/needs_restarting.py:242 ++#: plugins/needs_restarting.py:265 + msgid "Reboot should not be necessary." + msgstr "Un nouveau démarrage ne devrait pas être utile." + +@@ -759,13 +895,13 @@ msgstr "Mauvaise ligne d’action « %s » : %s" + msgid "Bad Transaction State: %s" + msgstr "Mauvais état de transaction : %s" + +-#: plugins/post-transaction-actions.py:153 +-#: plugins/post-transaction-actions.py:155 ++#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:159 + #, python-format + msgid "post-transaction-actions: %s" + msgstr "post-transaction-actions : %s" + +-#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:161 + #, python-format + msgid "post-transaction-actions: Bad Command \"%s\": %s" + msgstr "post-transaction-actions : mauvaise commande « %s » : %s" +@@ -957,63 +1093,57 @@ msgstr "Passez soit --old, soit --new, mais pas les deux !" + msgid "No files to process" + msgstr "Aucun fichier à traiter" + +-#: plugins/repomanage.py:93 ++#: plugins/repomanage.py:96 + msgid "Could not open {}" + msgstr "Ouverture de {} impossible" + +-#: plugins/repomanage.py:177 ++#: plugins/repomanage.py:180 + msgid "Print the older packages" + msgstr "Afficher les paquets plus anciens" + +-#: plugins/repomanage.py:179 ++#: plugins/repomanage.py:182 + msgid "Print the newest packages" + msgstr "Afficher les paquets les plus récents" + +-#: plugins/repomanage.py:181 ++#: plugins/repomanage.py:184 + msgid "Space separated output, not newline" + msgstr "Sorties séparées par des espaces plutôt que des retours à la ligne" + +-#: plugins/repomanage.py:183 ++#: plugins/repomanage.py:186 + msgid "Newest N packages to keep - defaults to 1" + msgstr "N paquets les plus récents à conserver — par défaut 1" + +-#: plugins/repomanage.py:186 ++#: plugins/repomanage.py:189 + msgid "Path to directory" + msgstr "Chemin vers le répertoire" + +-#: plugins/reposync.py:54 ++#: plugins/reposync.py:55 + msgid "download all packages from remote repo" + msgstr "télécharger tous les paquets depuis le dépôt distant" + +-#: plugins/reposync.py:63 ++#: plugins/reposync.py:64 + msgid "download only packages for this ARCH" + msgstr "télécharger seulement les paquets s’appliquant à cette ARCH" + +-#: plugins/reposync.py:65 ++#: plugins/reposync.py:66 + msgid "delete local packages no longer present in repository" + msgstr "supprimer les paquets locaux qui ne sont plus présents dans le dépôt" + +-#: plugins/reposync.py:67 +-msgid "also download and uncompress comps.xml" +-msgstr "également télécharger et décompresser comps.xml" +- +-#: plugins/reposync.py:69 ++#: plugins/reposync.py:68 + msgid "download all the metadata." + msgstr "télécharger toutes les métadonnées." + +-#: plugins/reposync.py:71 +-msgid "download only newest packages per-repo" +-msgstr "ne télécharger que les nouveaux paquets per-rep" ++#: plugins/reposync.py:70 ++msgid "Remove packages that fail GPG signature checking after downloading" ++msgstr "" ++"Retire les paquets qui ont échoué la vérification de la signature GPG après " ++"téléchargement" + + #: plugins/reposync.py:73 +-msgid "where to store downloaded repositories" +-msgstr "lieu où stocker les dépôts téléchargés" ++msgid "also download and uncompress comps.xml" ++msgstr "également télécharger et décompresser comps.xml" + + #: plugins/reposync.py:75 +-msgid "Don't add the reponame to the download path." +-msgstr "N’ajoutez pas le nom du dépôt dans le chemin de téléchargement." +- +-#: plugins/reposync.py:77 + msgid "" + "where to store downloaded repository metadata. Defaults to the value of " + "--download-path." +@@ -1021,51 +1151,71 @@ msgstr "" + "là où stocker les métadonnées du dépôt. Prend par défaut la valeur de " + "--download-path." + ++#: plugins/reposync.py:78 ++msgid "download only newest packages per-repo" ++msgstr "ne télécharger que les nouveaux paquets per-rep" ++ + #: plugins/reposync.py:80 +-msgid "operate on source packages" +-msgstr "opère sur les paquets source" ++msgid "Don't add the reponame to the download path." ++msgstr "N’ajoutez pas le nom du dépôt dans le chemin de téléchargement." + + #: plugins/reposync.py:82 ++msgid "where to store downloaded repositories" ++msgstr "lieu où stocker les dépôts téléchargés" ++ ++#: plugins/reposync.py:84 + msgid "try to set local timestamps of local files by the one on the server" + msgstr "" + "essayez de définir les horodatages locaux des fichiers locaux par celui du " + "serveur" + +-#: plugins/reposync.py:85 ++#: plugins/reposync.py:87 ++msgid "download only source packages" ++msgstr "télécharger uniquement les packages sources" ++ ++#: plugins/reposync.py:89 + msgid "Just list urls of what would be downloaded, don't download" + msgstr "" + "Uniquement lister les URL qui seraient téléchargées, ne pas télécharger" + +-#: plugins/reposync.py:109 ++#: plugins/reposync.py:113 + msgid "Can't use --norepopath with multiple repositories" + msgstr "Impossible d’utiliser --norepopath avec de multiples dépôts" + +-#: plugins/reposync.py:127 ++#: plugins/reposync.py:132 + #, python-format + msgid "Failed to get mirror for metadata: %s" + msgstr "Échec de l’obtention du miroir pour les métadonnées : %s" + +-#: plugins/reposync.py:144 ++#: plugins/reposync.py:149 + msgid "Failed to get mirror for the group file." + msgstr "Échec de l’obtention du miroir pour le fichier de groupe." + ++#: plugins/reposync.py:168 ++msgid "Removing {}: {}" ++msgstr "Suppression de « {} » : {}" ++ + #: plugins/reposync.py:175 ++msgid "GPG signature check failed." ++msgstr "La vérification de la signature GPG a échoué." ++ ++#: plugins/reposync.py:196 + msgid "Download target '{}' is outside of download path '{}'." + msgstr "" + "La cible de téléchargement « {} » est en dehors du chemin de téléchargement " + "« {} »." + +-#: plugins/reposync.py:190 ++#: plugins/reposync.py:211 + #, python-format + msgid "[DELETED] %s" + msgstr "[DELETED] %s" + +-#: plugins/reposync.py:192 ++#: plugins/reposync.py:213 + #, python-format + msgid "failed to delete file %s" + msgstr "n’a pas pu supprimer le fichier %s" + +-#: plugins/reposync.py:201 ++#: plugins/reposync.py:222 + #, python-format + msgid "comps.xml for repository %s saved" + msgstr "comps.xml pour le dépôt %s sauvegardé" +@@ -1074,73 +1224,79 @@ msgstr "comps.xml pour le dépôt %s sauvegardé" + msgid "New leaves:" + msgstr "Nouvelles feuilles :" + +-#: plugins/versionlock.py:32 ++#: plugins/versionlock.py:33 + #, python-format + msgid "Unable to read version lock configuration: %s" + msgstr "Ne peut lire la configuration du verrouillage de version : %s" + +-#: plugins/versionlock.py:33 ++#: plugins/versionlock.py:34 + msgid "Locklist not set" + msgstr "Liste des verrouillages non établie" + +-#: plugins/versionlock.py:34 ++#: plugins/versionlock.py:35 + msgid "Adding versionlock on:" + msgstr "Verrouille la version de :" + +-#: plugins/versionlock.py:35 ++#: plugins/versionlock.py:36 + msgid "Adding exclude on:" + msgstr "Exclusion de :" + +-#: plugins/versionlock.py:36 ++#: plugins/versionlock.py:37 + msgid "Package already locked in equivalent form:" + msgstr "Paquet déjà verrouillé sous une forme équivalente :" + +-#: plugins/versionlock.py:37 ++#: plugins/versionlock.py:38 + msgid "Package {} is already locked" + msgstr "Le paquet {} est déjà verrouillé" + +-#: plugins/versionlock.py:38 ++#: plugins/versionlock.py:39 + msgid "Package {} is already excluded" + msgstr "Le paquet {} est déjà exclu" + +-#: plugins/versionlock.py:39 ++#: plugins/versionlock.py:40 + msgid "Deleting versionlock for:" + msgstr "Déverrouille la version de :" + +-#: plugins/versionlock.py:40 ++#: plugins/versionlock.py:41 + msgid "No package found for:" + msgstr "Aucun paquet trouvé pour :" + +-#: plugins/versionlock.py:41 ++#: plugins/versionlock.py:42 + msgid "Excludes from versionlock plugin were not applied" + msgstr "Les exclusions du plugin versionlock n’ont pas été appliquées" + +-#: plugins/versionlock.py:42 ++#: plugins/versionlock.py:43 + msgid "Versionlock plugin: number of lock rules from file \"{}\" applied: {}" + msgstr "" + "Plugin versionlock : nombre de règles de verrouillage du fichier \"{}\" " + "appliquées : {}" + +-#: plugins/versionlock.py:43 ++#: plugins/versionlock.py:44 + msgid "Versionlock plugin: number of exclude rules from file \"{}\" applied: {}" + msgstr "" + "Plugin versionlock : nombre de règles d’exclusion du fichier \"{}\" " + "appliquées : {}" + +-#: plugins/versionlock.py:44 ++#: plugins/versionlock.py:45 + msgid "Versionlock plugin: could not parse pattern:" + msgstr "Plugin versionlock : n’a pas pu analyser le modèle :" + +-#: plugins/versionlock.py:130 ++#: plugins/versionlock.py:132 + msgid "control package version locks" + msgstr "contrôle le verrouillage de version des paquets" + +-#: plugins/versionlock.py:136 ++#: plugins/versionlock.py:138 + msgid "Use package specifications as they are, do not try to parse them" + msgstr "" + "Utiliser les spécifications de paquet telles quelles, ne pas essayer de les " + "analyser" + ++#: plugins/versionlock.py:158 ++msgid "Subcommand '{}' is deprecated. Use 'exclude' subcommand instead." ++msgstr "" ++"La sous-commande '{}' est obsolète. Utilisez plutôt la sous-commande " ++"'exclude'." ++ + #~ msgid "" + #~ "\n" + #~ "These repositories have been enabled automatically.\n" +diff --git a/po/ja.po b/po/ja.po +index 5e443ec..8bbbbe3 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -1,20 +1,21 @@ + # Ooyama Yosiyuki , 2015. #zanata +-# Ludek Janda , 2018. #zanata ++# Ludek Janda , 2018. #zanata, 2021. + # Casey Jones , 2020. ++# Sundeep Anand , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-05-04 06:40+0000\n" +-"Last-Translator: Casey Jones \n" +-"Language-Team: Japanese \n" ++"POT-Creation-Date: 2021-09-01 09:17+0200\n" ++"PO-Revision-Date: 2021-09-11 10:04+0000\n" ++"Last-Translator: Ludek Janda \n" ++"Language-Team: Japanese \n" + "Language: ja\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Weblate 4.0.3\n" ++"X-Generator: Weblate 4.8\n" + + #: plugins/builddep.py:45 + msgid "[PACKAGE|PACKAGE.spec]" +@@ -35,7 +36,7 @@ msgstr "スペックファイルの解析にマクロを定義" + + #: plugins/builddep.py:95 + msgid "skip build dependencies not available in repositories" +-msgstr "" ++msgstr "リポジトリーで利用できないビルドの依存関係をスキップします" + + #: plugins/builddep.py:98 + msgid "treat commandline arguments as spec files" +@@ -83,31 +84,32 @@ msgstr "一致するパッケージはありません: %s" + #: plugins/changelog.py:37 + #, python-brace-format + msgid "Not a valid date: \"{0}\"." +-msgstr "" ++msgstr "有効な日付ではありません: \"{0}\"。" + + #: plugins/changelog.py:43 + msgid "Show changelog data of packages" +-msgstr "" ++msgstr "パッケージの changelog データを表示します" + + #: plugins/changelog.py:51 + msgid "" + "show changelog entries since DATE. To avoid ambiguosity, YYYY-MM-DD format " + "is recommended." +-msgstr "" ++msgstr "DATE 以降の changelog エントリーを表示します。不明瞭さを避けるため、YYYY-MM-DD のフォーマットが推奨されます。" + + #: plugins/changelog.py:55 + msgid "show given number of changelog entries per package" +-msgstr "" ++msgstr "パッケージごとの changelog エントリーの与えられた数を表示します" + + #: plugins/changelog.py:58 + msgid "" + "show only new changelog entries for packages, that provide an upgrade for " + "some of already installed packages." + msgstr "" ++"パッケージ向けの新しい changelog エントリーのみを表示します。これは、インストール済みのパッケージの一部にアップグレードを提供します。" + + #: plugins/changelog.py:60 + msgid "PACKAGE" +-msgstr "" ++msgstr "パッケージ" + + #: plugins/changelog.py:81 plugins/debuginfo-install.py:90 + #, python-format +@@ -116,84 +118,86 @@ msgstr "一致した引数がありません: %s" + + #: plugins/changelog.py:109 + msgid "Listing changelogs since {}" +-msgstr "" ++msgstr "{} 以降の changelogs を一覧表示します" + + #: plugins/changelog.py:111 + msgid "Listing only latest changelog" + msgid_plural "Listing {} latest changelogs" +-msgstr[0] "" ++msgstr[0] "最新の changelog のみを一覧表示します" + + #: plugins/changelog.py:116 + msgid "Listing only new changelogs since installed version of the package" +-msgstr "" ++msgstr "パッケージのインストールされたバージョン以降の新しい changelogs のみを一覧表示します" + + #: plugins/changelog.py:118 + msgid "Listing all changelogs" +-msgstr "" ++msgstr "すべての changelogs を一覧表示します" + + #: plugins/changelog.py:122 + msgid "Changelogs for {}" + msgstr "{} の Changelogs" + +-#: plugins/config_manager.py:37 ++#: plugins/config_manager.py:38 + #, python-brace-format + msgid "manage {prog} configuration options and repositories" +-msgstr "" ++msgstr "{prog} 設定オプションおよびリポジトリーを管理します" + +-#: plugins/config_manager.py:44 ++#: plugins/config_manager.py:45 + msgid "repo to modify" + msgstr "修正する repo" + +-#: plugins/config_manager.py:47 ++#: plugins/config_manager.py:48 + msgid "save the current options (useful with --setopt)" + msgstr "現在のオプションを保存 (--setopt で有用)" + +-#: plugins/config_manager.py:50 ++#: plugins/config_manager.py:51 + msgid "add (and enable) the repo from the specified file or url" + msgstr "指定されたファイルまたは url から repo を追加 (および有効化)" + +-#: plugins/config_manager.py:53 ++#: plugins/config_manager.py:54 + msgid "print current configuration values to stdout" + msgstr "stdout に現在の設定値を印刷" + +-#: plugins/config_manager.py:56 ++#: plugins/config_manager.py:57 + msgid "print variable values to stdout" + msgstr "stdout に変数値を印刷" + +-#: plugins/config_manager.py:60 ++#: plugins/config_manager.py:61 + msgid "enable repos (automatically saves)" +-msgstr "" ++msgstr "レポを有効にする (自動保存)" + +-#: plugins/config_manager.py:63 ++#: plugins/config_manager.py:64 + msgid "disable repos (automatically saves)" +-msgstr "" ++msgstr "レポを無効にする (自動保存)" + +-#: plugins/config_manager.py:77 ++#: plugins/config_manager.py:78 + msgid "one of the following arguments is required: {}" +-msgstr "" ++msgstr "以下のいずれかの引数が必要です。{}" + +-#: plugins/config_manager.py:86 ++#: plugins/config_manager.py:87 + msgid "" + "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " + "manager. Use --set-enabled/--set-disabled instead." + msgstr "" ++"警告: --enablerepo/--disablerepo の引数は config manager では意味がありません。代わりに -set-" ++"enabled/--set-disabled を使用してください。" + +-#: plugins/config_manager.py:131 ++#: plugins/config_manager.py:132 + #, python-format + msgid "No matching repo to modify: %s." + msgstr "修正用の一致する repo はありません: %s." + +-#: plugins/config_manager.py:182 ++#: plugins/config_manager.py:183 + #, python-format + msgid "Adding repo from: %s" + msgstr "repo の追加: %s" + +-#: plugins/config_manager.py:206 ++#: plugins/config_manager.py:207 + msgid "Configuration of repo failed" + msgid_plural "Configuration of repos failed" + msgstr[0] "repo の設定に失敗しました" + +-#: plugins/config_manager.py:216 ++#: plugins/config_manager.py:217 + #, python-format + msgid "Could not save repo to repofile %s: %s" + msgstr "repofile %s に repo を保存できませんでした: %s" +@@ -246,7 +250,7 @@ msgstr "" + " list --available-by-user=NAME\n" + " search project\n" + "\n" +-" Examples:\n" ++" 例:\n" + " copr enable rhscl/perl516 epel-6-x86_64\n" + " copr enable ignatenkobrain/ocltoys\n" + " copr disable rhscl/perl516\n" +@@ -274,9 +278,9 @@ msgstr "利用可能な Copr リポジトリーをユーザー NAME ごとに一 + + #: plugins/copr.py:115 + msgid "Specify an instance of Copr to work with" +-msgstr "" ++msgstr "作業する Copr のインスタンスを指定します" + +-#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 ++#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:244 + msgid "Error: " + msgstr "エラー: " + +@@ -285,24 +289,36 @@ msgid "" + "specify Copr hub either with `--hub` or using " + "`copr_hub/copr_username/copr_projectname` format" + msgstr "" ++"`--hub` または `copr_hub/copr_username/copr_projectname` フォーマットを使って、Copr " ++"ハブを指定します" + + #: plugins/copr.py:153 + msgid "multiple hubs specified" +-msgstr "" ++msgstr "複数のハブが指定されています" + + #: plugins/copr.py:218 plugins/copr.py:222 + msgid "exactly two additional parameters to copr command are required" + msgstr "copr コマンドに厳密に 2 つの追加パラメーターが必要です" + +-#: plugins/copr.py:238 ++#: plugins/copr.py:227 ++msgid "Too many arguments." ++msgstr "引数が多すぎます。" ++ ++#: plugins/copr.py:230 ++msgid "" ++"Bad format of optional chroot. The format is distribution-version-" ++"architecture." ++msgstr "オプションの chroot の形式が無効です。正しい形式は distribution-version-architecture です。" ++ ++#: plugins/copr.py:245 + msgid "use format `copr_username/copr_projectname` to reference copr project" + msgstr "copr プロジェクトを参照するには `copr_username/copr_projectname` 形式を使用します" + +-#: plugins/copr.py:240 ++#: plugins/copr.py:247 + msgid "bad copr project format" + msgstr "不正な copr プロジェクト形式" + +-#: plugins/copr.py:254 ++#: plugins/copr.py:261 + msgid "" + "\n" + "Enabling a Copr repository. Please note that this repository is not part\n" +@@ -316,72 +332,85 @@ msgid "" + "Please do not file bug reports about these packages in Fedora\n" + "Bugzilla. In case of problems, contact the owner of this repository.\n" + msgstr "" ++"\n" ++"Copr リポジトリーを有効化しています。このリポジトリーは\n" ++"主要ディストリビューションの一部ではないため、品質が一定していない点に注意してください。\n" ++"\n" ++"Fedora Project は、このリポジトリーのコンテンツに関して、 の \n" ++"Copr FAQ で示されたルールを超えて権利を行使することは\n" ++"ありません。また、パッケージは、任意の品質またはセキュリ\n" ++"ティーレベルを固守していません。\n" ++"\n" ++"Fedora Bugzilla でこれらのパッケージに関するバグ報告をしないでください。\n" ++"問題が発生した場合は、このリポジトリーのオーナーに連絡してください。\n" + +-#: plugins/copr.py:271 ++#: plugins/copr.py:278 + msgid "Repository successfully enabled." + msgstr "リポジトリが正常に有効化されました。" + +-#: plugins/copr.py:276 ++#: plugins/copr.py:283 + msgid "Repository successfully disabled." + msgstr "リポジトリが正常に無効化されました。" + +-#: plugins/copr.py:280 ++#: plugins/copr.py:287 + msgid "Repository successfully removed." + msgstr "リポジトリーが正常に削除されました。" + +-#: plugins/copr.py:284 plugins/copr.py:693 ++#: plugins/copr.py:291 plugins/copr.py:698 + msgid "Unknown subcommand {}." + msgstr "不明なサブコマンド {}。" + +-#: plugins/copr.py:341 ++#: plugins/copr.py:348 + msgid "" + "* These coprs have repo file with an old format that contains no information" + " about Copr hub - the default one was assumed. Re-enable the project to fix " + "this." + msgstr "" ++"* これらの coprs には、Copr ハブに関する情報がない古いフォーマットの repo " ++"ファイルがあります。デフォルトは仮定です。これを修正するには、プロジェクトを再度有効化してください。" + +-#: plugins/copr.py:353 ++#: plugins/copr.py:360 + msgid "Can't parse repositories for username '{}'." + msgstr "ユーザー名 '{}' のリポジトリーを解析できません。" + +-#: plugins/copr.py:356 ++#: plugins/copr.py:363 + msgid "List of {} coprs" + msgstr "{} coprs の一覧" + +-#: plugins/copr.py:364 ++#: plugins/copr.py:371 + msgid "No description given" + msgstr "説明がありません" + +-#: plugins/copr.py:376 ++#: plugins/copr.py:383 + msgid "Can't parse search for '{}'." + msgstr "'{}' の検索を解析できません。" + +-#: plugins/copr.py:379 ++#: plugins/copr.py:386 + msgid "Matched: {}" + msgstr "一致: {}" + +-#: plugins/copr.py:387 ++#: plugins/copr.py:394 + msgid "No description given." + msgstr "説明が与えられていません。" + +-#: plugins/copr.py:410 ++#: plugins/copr.py:417 + msgid "Safe and good answer. Exiting." + msgstr "安全で優れた回答。終了中。" + +-#: plugins/copr.py:417 ++#: plugins/copr.py:424 + msgid "This command has to be run under the root user." + msgstr "このコマンドは root ユーザーの下で実行する必要があります。" + +-#: plugins/copr.py:481 ++#: plugins/copr.py:486 + msgid "" + "This repository does not have any builds yet so you cannot enable it now." + msgstr "このリポジトリーにはまだビルドがありませんので、今すぐ有効化できません。" + +-#: plugins/copr.py:484 ++#: plugins/copr.py:489 + msgid "Such repository does not exist." + msgstr "そのようなリポジトリーは存在しません。" + +-#: plugins/copr.py:528 ++#: plugins/copr.py:533 + #, python-brace-format + msgid "" + "Maintainer of the enabled Copr repository decided to make\n" +@@ -397,47 +426,59 @@ msgid "" + "\n" + "These repositories have been enabled automatically." + msgstr "" ++"有効化した Copr リポジトリの管理者は\n" ++"他のリポジトリに依存するように決めました。\n" ++"そのようなリポジトリは主な Corp レジストリー\n" ++"ランタイム依存関係を提供) から RPM のインストールを\n" ++"成功させるために通常必要です。\n" ++"\n" ++"上記の品質とバグ報告についての注意点が\n" ++"ここでも適用されますが、Fedora Project は内容を\n" ++"管理していないことに注意してください。以下のリストを確認\n" ++"してください。\n" ++"\n" ++"{0}\n" ++"\n" ++"これらのリポジトリは自動的に有効になっています。" + +-#: plugins/copr.py:549 ++#: plugins/copr.py:554 + msgid "Do you want to keep them enabled?" +-msgstr "" ++msgstr "有効にしておきますか?" + +-#: plugins/copr.py:582 ++#: plugins/copr.py:587 + #, python-brace-format + msgid "Failed to remove copr repo {0}/{1}/{2}" +-msgstr "" ++msgstr "copr repo {0}/{1}/{2} の削除に失敗しました" + +-#: plugins/copr.py:593 ++#: plugins/copr.py:598 + msgid "Failed to disable copr repo {}/{}" +-msgstr "copr repo {}/{} の無効化に失敗しました。" ++msgstr "copr repo {}/{} の無効化に失敗しました" + +-#: plugins/copr.py:611 plugins/copr.py:648 ++#: plugins/copr.py:616 plugins/copr.py:653 + msgid "Unknown response from server." + msgstr "サーバーからの不明な応答です。" + +-#: plugins/copr.py:633 ++#: plugins/copr.py:638 + msgid "Interact with Playground repository." + msgstr "Playground リポジトリーとの対話。" + +-#: plugins/copr.py:639 +-#, fuzzy +-#| msgid "Interact with Playground repository." ++#: plugins/copr.py:644 + msgid "Enabling a Playground repository." +-msgstr "Playground リポジトリーとの対話。" ++msgstr "Playgroundのリポジトリーの有効化。" + +-#: plugins/copr.py:640 ++#: plugins/copr.py:645 + msgid "Do you want to continue?" +-msgstr "" ++msgstr "続行しますか?" + +-#: plugins/copr.py:683 ++#: plugins/copr.py:688 + msgid "Playground repositories successfully enabled." + msgstr "Playground リポジトリーが正常に有効化されました。" + +-#: plugins/copr.py:686 ++#: plugins/copr.py:691 + msgid "Playground repositories successfully disabled." + msgstr "Playground リポジトリーが正常に無効化されました。" + +-#: plugins/copr.py:690 ++#: plugins/copr.py:695 + msgid "Playground repositories successfully updated." + msgstr "Playground リポジトリーが正常に更新されました。" + +@@ -484,7 +525,7 @@ msgstr "指定したタイプに限定します" + msgid "" + "Allow removing of install-only packages. Using this option may result in an " + "attempt to remove the running kernel." +-msgstr "" ++msgstr "インストールのみのパッケージの削除を許可します。このオプションを使用すると、実行しているカーネルの削除を試みる可能性があります。" + + #: plugins/debug.py:202 + msgid "name of dump file" +@@ -508,25 +549,25 @@ msgstr "debuginfo パッケージのインストール" + #, python-format + msgid "" + "Could not find debuginfo package for the following available packages: %s" +-msgstr "" ++msgstr "次の利用可能なパッケージの debuginfo パッケージが見つかりませんでした: %s" + + #: plugins/debuginfo-install.py:185 + #, python-format + msgid "" + "Could not find debugsource package for the following available packages: %s" +-msgstr "" ++msgstr "次の利用可能なパッケージの debugsource パッケージが見つかりませんでした: %s" + + #: plugins/debuginfo-install.py:190 + #, python-format + msgid "" + "Could not find debuginfo package for the following installed packages: %s" +-msgstr "" ++msgstr "次のインストールされたパッケージの debuginfo パッケージが見つかりませんでした: %s" + + #: plugins/debuginfo-install.py:195 + #, python-format + msgid "" + "Could not find debugsource package for the following installed packages: %s" +-msgstr "" ++msgstr "次のインストールされたパッケージの debugsource パッケージが見つかりませんでした: %s" + + #: plugins/debuginfo-install.py:199 + msgid "Unable to find a match" +@@ -550,7 +591,7 @@ msgstr "代わりに -debuginfo パッケージをダウンロードします" + + #: plugins/download.py:57 + msgid "download the -debugsource package instead" +-msgstr "" ++msgstr "代わりに、-debugsource パッケージをダウンロードします" + + #: plugins/download.py:60 + msgid "limit the query to packages of given architectures." +@@ -564,7 +605,7 @@ msgstr "必要な依存関係を解決し、ダウンロードします" + msgid "" + "when running with --resolve, download all dependencies (do not exclude " + "already installed ones)" +-msgstr "" ++msgstr "--resolve で実行する場合、すべての依存関係をダウンロードします (インストール済みのものを除外しないでください)" + + #: plugins/download.py:67 + msgid "" +@@ -575,7 +616,7 @@ msgstr "ダウンロードする代わりに、rpm をダウンロードでき + msgid "when running with --url, limit to specific protocols" + msgstr "--url で実行中の際は、特定のプロトコルに限定します" + +-#: plugins/download.py:121 plugins/reposync.py:293 ++#: plugins/download.py:121 plugins/reposync.py:314 + #, python-format + msgid "Failed to get mirror for package: %s" + msgstr "パッケージのミラー取得に失敗しました: %s" +@@ -598,6 +639,120 @@ msgstr "%s に対して定義されているソース rpm はありません" + msgid "No package %s available." + msgstr "利用可能なパッケージ %s はありません。" + ++#: plugins/groups_manager.py:49 ++msgid "Invalid group id" ++msgstr "'無効なグループ ID" ++ ++#: plugins/groups_manager.py:58 ++msgid "Invalid translated data, should be in form 'lang:text'" ++msgstr "無効な翻訳データです。'lang:text' の形式で指定する必要があります" ++ ++#: plugins/groups_manager.py:61 ++msgid "Invalid/empty language for translated data" ++msgstr "翻訳されたデータの無効または空な言語" ++ ++#: plugins/groups_manager.py:71 ++msgid "Can't generate group id from '{}'. Please specify group id using --id." ++msgstr "'{}' からグループ ID を生成できません。--id を使用してグループ ID を指定してください。" ++ ++#: plugins/groups_manager.py:79 ++msgid "create and edit groups metadata file" ++msgstr "グループメタデータファイルの作成および編集" ++ ++#: plugins/groups_manager.py:90 ++msgid "load groups metadata from file" ++msgstr "ファイルからグループメタデータを読み込みます" ++ ++#: plugins/groups_manager.py:93 ++msgid "save groups metadata to file" ++msgstr "グループメタデータをファイルに保存します" ++ ++#: plugins/groups_manager.py:95 ++msgid "load and save groups metadata to file" ++msgstr "グループメタデータをファイルにロードして保存します" ++ ++#: plugins/groups_manager.py:97 ++msgid "print the result metadata to stdout" ++msgstr "生成されたメタデータを stdout に出力します" ++ ++#: plugins/groups_manager.py:100 ++msgid "group id" ++msgstr "グループ id" ++ ++#: plugins/groups_manager.py:101 ++msgid "group name" ++msgstr "グループ名" ++ ++#: plugins/groups_manager.py:103 ++msgid "group description" ++msgstr "グループ説明" ++ ++#: plugins/groups_manager.py:105 ++msgid "group display order" ++msgstr "グループ表示順序" ++ ++#: plugins/groups_manager.py:108 ++msgid "translated name for the group" ++msgstr "グループの翻訳名" ++ ++#: plugins/groups_manager.py:111 ++msgid "translated description for the group" ++msgstr "グループの翻訳説明" ++ ++#: plugins/groups_manager.py:115 ++msgid "make the group user visible (default)" ++msgstr "グループユーザーを表示させる (デフォルト)" ++ ++#: plugins/groups_manager.py:118 ++msgid "make the group user invisible" ++msgstr "グループユーザーを非表示の状態にする" ++ ++#: plugins/groups_manager.py:123 ++msgid "add packages to the mandatory section" ++msgstr "必須セクションへのパッケージの追加" ++ ++#: plugins/groups_manager.py:125 ++msgid "add packages to the optional section" ++msgstr "オプションセクションへのパッケージの追加" ++ ++#: plugins/groups_manager.py:127 ++msgid "remove packages from the group instead of adding them" ++msgstr "パッケージを追加する代わりに、グループからパッケージを削除します" ++ ++#: plugins/groups_manager.py:129 ++msgid "include also direct dependencies for packages" ++msgstr "リポジトリーの直接の依存関係を含みます" ++ ++#: plugins/groups_manager.py:132 ++msgid "package specification" ++msgstr "パッケージ仕様" ++ ++#: plugins/groups_manager.py:156 ++msgid "Can't edit group without specifying it (use --id or --name)" ++msgstr "指定せずにはグループを編集できません (--id または --name を使用してください)" ++ ++#: plugins/groups_manager.py:190 ++msgid "Can't load file \"{}\": {}" ++msgstr "ファイル '{}' を書き込みできません: {}" ++ ++#: plugins/groups_manager.py:206 ++msgid "Can't save file \"{}\": {}" ++msgstr "ファイル '{}' を保存できません: {}" ++ ++#: plugins/groups_manager.py:259 ++msgid "No match for argument: {}" ++msgstr "一致した引数がありません: {}" ++ ++#: plugins/groups_manager.py:296 ++msgid "Can't remove packages from non-existent group" ++msgstr "存在しないグループからパッケージを削除できません" ++ ++#: plugins/groups_manager.py:305 ++msgid "" ++"Group id '{}' generated from '{}' is duplicit. Please specify group id using" ++" --id." ++msgstr "'{}' から生成されたグループ ID '{}' は重複しています。--id を使用してグループ ID を指定してください。" ++ + #: plugins/leaves.py:32 + msgid "List installed packages not required by any other package" + msgstr "他のパッケージから必要とされないインスール済みパッケージを一覧表示します" +@@ -630,67 +785,73 @@ msgstr "yum の履歴、グループ、および yumdb データを dnf へ移 + msgid "Migrating history data..." + msgstr "履歴データを移行中..." + +-#: plugins/needs_restarting.py:65 ++#: plugins/needs_restarting.py:66 + #, python-brace-format + msgid "" + "No installed package found for package name \"{pkg}\" specified in needs-" + "restarting file \"{file}\"." + msgstr "" ++"needs-restarting ファイル \"{file}\" に指定されている {pkg} " ++"というパッケージのインストール済みパッケージが見つかりません。" + +-#: plugins/needs_restarting.py:199 ++#: plugins/needs_restarting.py:220 + msgid "determine updated binaries that need restarting" + msgstr "再起動が必要な更新済みバイナリーを決定します" + +-#: plugins/needs_restarting.py:204 ++#: plugins/needs_restarting.py:225 + msgid "only consider this user's processes" + msgstr "このユーザーのプロセスのみを検討します" + +-#: plugins/needs_restarting.py:206 ++#: plugins/needs_restarting.py:227 + msgid "" + "only report whether a reboot is required (exit code 1) or not (exit code 0)" +-msgstr "" ++msgstr "再起動が必要か (終了コード 1) 必要でないか (終了コード 0) のみを報告します" + + #: plugins/needs_restarting.py:230 ++msgid "only report affected systemd services" ++msgstr "影響を受ける systemd サービスのみを報告" ++ ++#: plugins/needs_restarting.py:253 + msgid "Core libraries or services have been updated since boot-up:" +-msgstr "" ++msgstr "起動以降にコアライブラリーまたはサービスがアップデートされました:" + +-#: plugins/needs_restarting.py:235 ++#: plugins/needs_restarting.py:258 + msgid "Reboot is required to fully utilize these updates." +-msgstr "" ++msgstr "これらのアップデートを完全に活用するには、再起動が必要です。" + +-#: plugins/needs_restarting.py:236 ++#: plugins/needs_restarting.py:259 + msgid "More information:" +-msgstr "" ++msgstr "詳細情報:" + +-#: plugins/needs_restarting.py:240 ++#: plugins/needs_restarting.py:263 + msgid "No core libraries or services have been updated since boot-up." +-msgstr "" ++msgstr "起動以降にアップデートされたコアライブラリーまたはサービスはありません。" + +-#: plugins/needs_restarting.py:242 ++#: plugins/needs_restarting.py:265 + msgid "Reboot should not be necessary." +-msgstr "" ++msgstr "再起動な必要ありません。" + + #: plugins/post-transaction-actions.py:71 + #, python-format + msgid "Bad Action Line \"%s\": %s" +-msgstr "" ++msgstr "不正なアクション行 \"%s\": %s" + + #. unsupported state, skip it + #: plugins/post-transaction-actions.py:130 + #, python-format + msgid "Bad Transaction State: %s" +-msgstr "" ++msgstr "不正なトランザクション状態: %s" + +-#: plugins/post-transaction-actions.py:153 +-#: plugins/post-transaction-actions.py:155 ++#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:159 + #, python-format + msgid "post-transaction-actions: %s" +-msgstr "" ++msgstr "post-transaction-actions: %s" + +-#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:161 + #, python-format + msgid "post-transaction-actions: Bad Command \"%s\": %s" +-msgstr "" ++msgstr "post-transaction-actions: 不正なコマンド \"%s\": %s" + + #: plugins/repoclosure.py:42 + msgid "Display a list of unresolved dependencies for repositories" +@@ -718,129 +879,137 @@ msgstr "このパッケージのみのクロージャーを確認します" + + #: plugins/repodiff.py:45 + msgid "List differences between two sets of repositories" +-msgstr "" ++msgstr "2 セットのリポジトリー間の違いを一覧表示します" + + #: plugins/repodiff.py:58 + msgid "Specify old repository, can be used multiple times" +-msgstr "" ++msgstr "古いリポジトリーを指定します、これは複数回使用できます" + + #: plugins/repodiff.py:60 + msgid "Specify new repository, can be used multiple times" +-msgstr "" ++msgstr "新しいリポジトリーを指定します、これは複数回使用できます" + + #: plugins/repodiff.py:63 + msgid "" + "Specify architectures to compare, can be used multiple times. By default, " + "only source rpms are compared." +-msgstr "" ++msgstr "比較するアーキテクチャーを指定します、これは複数回使用できます。デフォルトで、ソース rpms のみが比較されます。" + + #: plugins/repodiff.py:67 + msgid "Output additional data about the size of the changes." +-msgstr "" ++msgstr "変更サイズに関する追加データを出力します。" + + #: plugins/repodiff.py:69 + msgid "" + "Compare packages also by arch. By default packages are compared just by " + "name." +-msgstr "" ++msgstr "パッケージを Arch でも比較します。デフォルトで、パッケージは名前のみで比較されます。" + + #: plugins/repodiff.py:72 + msgid "Output a simple one line message for modified packages." +-msgstr "" ++msgstr "変更されたパッケージに簡単な 1 行メッセージを出力します。" + + #: plugins/repodiff.py:74 + msgid "" + "Split the data for modified packages between upgraded and downgraded " + "packages." +-msgstr "" ++msgstr "アップグレードされたパッケージとダウングレードされたパッケージとの間で、変更されたパッケージのデータを分割します。" + + #: plugins/repodiff.py:86 + msgid "Both old and new repositories must be set." +-msgstr "" ++msgstr "新旧両方のリポジトリーを設定する必要があります。" + + #: plugins/repodiff.py:178 + msgid "Size change: {} bytes" +-msgstr "" ++msgstr "サイズの変更: {} バイト" + + #: plugins/repodiff.py:184 + msgid "Added package : {}" +-msgstr "" ++msgstr "追加されたパッケージ : {}" + + #: plugins/repodiff.py:187 + msgid "Removed package: {}" +-msgstr "" ++msgstr "削除されたパッケージ: {}" + + #: plugins/repodiff.py:190 + msgid "Obsoleted by : {}" +-msgstr "" ++msgstr "により廃止されました: {}" + + #: plugins/repodiff.py:195 + msgid "" + "\n" + "Upgraded packages" + msgstr "" ++"\n" ++"アップグレードされたパッケージ" + + #: plugins/repodiff.py:200 + msgid "" + "\n" + "Downgraded packages" + msgstr "" ++"\n" ++"ダウングレードされたパッケージ" + + #: plugins/repodiff.py:207 + msgid "" + "\n" + "Modified packages" + msgstr "" ++"\n" ++"変更されたパッケージ" + + #: plugins/repodiff.py:212 + msgid "" + "\n" + "Summary" + msgstr "" ++"\n" ++"サマリー" + + #: plugins/repodiff.py:213 + msgid "Added packages: {}" +-msgstr "" ++msgstr "追加されたパッケージ: {}" + + #: plugins/repodiff.py:214 + msgid "Removed packages: {}" +-msgstr "" ++msgstr "削除されたパッケージ: {}" + + #: plugins/repodiff.py:216 + msgid "Upgraded packages: {}" +-msgstr "" ++msgstr "アップグレードされたパッケージ: {}" + + #: plugins/repodiff.py:217 + msgid "Downgraded packages: {}" +-msgstr "" ++msgstr "ダウングレードされたパッケージ: {}" + + #: plugins/repodiff.py:219 + msgid "Modified packages: {}" +-msgstr "" ++msgstr "変更されたパッケージ: {}" + + #: plugins/repodiff.py:222 + msgid "Size of added packages: {}" +-msgstr "" ++msgstr "追加されたパッケージのサイズ: {}" + + #: plugins/repodiff.py:223 + msgid "Size of removed packages: {}" +-msgstr "" ++msgstr "削除されたパッケージのサイズ: {}" + + #: plugins/repodiff.py:225 + msgid "Size of modified packages: {}" +-msgstr "" ++msgstr "変更されたパッケージのサイズ: {}" + + #: plugins/repodiff.py:228 + msgid "Size of upgraded packages: {}" +-msgstr "" ++msgstr "アップグレードされたパッケージのサイズ: {}" + + #: plugins/repodiff.py:230 + msgid "Size of downgraded packages: {}" +-msgstr "" ++msgstr "ダウングレードされたパッケージのサイズ: {}" + + #: plugins/repodiff.py:232 + msgid "Size change: {}" +-msgstr "" ++msgstr "サイズの変更: {}" + + #: plugins/repograph.py:50 + msgid "Output a full package dependency graph in dot format" +@@ -863,108 +1032,120 @@ msgstr "--old または --new のいずれかを渡します。両方ではあ + msgid "No files to process" + msgstr "処理するファイルはありません" + +-#: plugins/repomanage.py:93 ++#: plugins/repomanage.py:96 + msgid "Could not open {}" + msgstr "{} を開くことができません" + +-#: plugins/repomanage.py:177 ++#: plugins/repomanage.py:180 + msgid "Print the older packages" + msgstr "古いパッケージを印刷します" + +-#: plugins/repomanage.py:179 ++#: plugins/repomanage.py:182 + msgid "Print the newest packages" + msgstr "最新のパッケージを印刷します" + +-#: plugins/repomanage.py:181 ++#: plugins/repomanage.py:184 + msgid "Space separated output, not newline" + msgstr "スペースで区切られた出力で、改行ではありません" + +-#: plugins/repomanage.py:183 ++#: plugins/repomanage.py:186 + msgid "Newest N packages to keep - defaults to 1" + msgstr "維持する最新の N パッケージ - デフォルトは 1 に設定されます" + +-#: plugins/repomanage.py:186 ++#: plugins/repomanage.py:189 + msgid "Path to directory" + msgstr "ディレクトリーへのパス" + +-#: plugins/reposync.py:54 ++#: plugins/reposync.py:55 + msgid "download all packages from remote repo" + msgstr "リモート repo からすべてのパッケージをダウンロードします" + +-#: plugins/reposync.py:63 ++#: plugins/reposync.py:64 + msgid "download only packages for this ARCH" + msgstr "この ARCH 向けのパッケージのみをダウンロード" + +-#: plugins/reposync.py:65 ++#: plugins/reposync.py:66 + msgid "delete local packages no longer present in repository" + msgstr "リポジトリーにもはや存在しないローカルパッケージを削除" + +-#: plugins/reposync.py:67 +-msgid "also download and uncompress comps.xml" +-msgstr "" +- +-#: plugins/reposync.py:69 ++#: plugins/reposync.py:68 + msgid "download all the metadata." +-msgstr "" ++msgstr "すべてのメタデータをダウンロードします。" + +-#: plugins/reposync.py:71 +-msgid "download only newest packages per-repo" +-msgstr "最新のパッケージ per-repo のみをダウンロード" ++#: plugins/reposync.py:70 ++msgid "Remove packages that fail GPG signature checking after downloading" ++msgstr "ダウンロード後に GPG 署名の確認に失敗するパッケージを削除します" + + #: plugins/reposync.py:73 +-msgid "where to store downloaded repositories" +-msgstr "" ++msgid "also download and uncompress comps.xml" ++msgstr "comps.xml もダウンロードして展開します" + + #: plugins/reposync.py:75 +-msgid "Don't add the reponame to the download path." +-msgstr "" +- +-#: plugins/reposync.py:77 + msgid "" + "where to store downloaded repository metadata. Defaults to the value of " + "--download-path." +-msgstr "" ++msgstr "ダウンロード済みリポジトリーメタデータの保管場所。初期値は --download-path です。" ++ ++#: plugins/reposync.py:78 ++msgid "download only newest packages per-repo" ++msgstr "最新のパッケージ per-repo のみをダウンロード" + + #: plugins/reposync.py:80 +-msgid "operate on source packages" +-msgstr "ソースパッケージでの操作" ++msgid "Don't add the reponame to the download path." ++msgstr "ダウンロードパスにはリポネームを追加しないでください。" + + #: plugins/reposync.py:82 ++msgid "where to store downloaded repositories" ++msgstr "ダウンロード済みリポジトリーの保管場所" ++ ++#: plugins/reposync.py:84 + msgid "try to set local timestamps of local files by the one on the server" +-msgstr "" ++msgstr "サーバー上から、ローカルファイルのローカル timestamps の設定を試みます" ++ ++#: plugins/reposync.py:87 ++msgid "download only source packages" ++msgstr "ソースパッケージのみをダウンロード" + +-#: plugins/reposync.py:85 ++#: plugins/reposync.py:89 + msgid "Just list urls of what would be downloaded, don't download" +-msgstr "" ++msgstr "ダウンロードする予定のものの URL をリストするだけで、ダウンロードしないでください" + +-#: plugins/reposync.py:109 ++#: plugins/reposync.py:113 + msgid "Can't use --norepopath with multiple repositories" +-msgstr "" ++msgstr "複数のリポジトリーでは -norepopath は使えません" + +-#: plugins/reposync.py:127 ++#: plugins/reposync.py:132 + #, python-format + msgid "Failed to get mirror for metadata: %s" +-msgstr "" ++msgstr "メタデータのミラー取得に失敗しました: %s" + +-#: plugins/reposync.py:144 ++#: plugins/reposync.py:149 + msgid "Failed to get mirror for the group file." +-msgstr "" ++msgstr "グループファイルのミラー取得に失敗しました。" ++ ++#: plugins/reposync.py:168 ++msgid "Removing {}: {}" ++msgstr "{} の削除中: {}" + + #: plugins/reposync.py:175 ++msgid "GPG signature check failed." ++msgstr "GPG 署名の確認に失敗しました。" ++ ++#: plugins/reposync.py:196 + msgid "Download target '{}' is outside of download path '{}'." +-msgstr "" ++msgstr "ダウンロードターゲット '{}' は、ダウンロードパス '{}' の外にあります。" + +-#: plugins/reposync.py:190 ++#: plugins/reposync.py:211 + #, python-format + msgid "[DELETED] %s" + msgstr "[DELETED] %s" + +-#: plugins/reposync.py:192 ++#: plugins/reposync.py:213 + #, python-format + msgid "failed to delete file %s" + msgstr "ファイル %s の削除に失敗しました" + +-#: plugins/reposync.py:201 ++#: plugins/reposync.py:222 + #, python-format + msgid "comps.xml for repository %s saved" + msgstr "リポジトリー %s の comps.xml が保存されました" +@@ -973,66 +1154,70 @@ msgstr "リポジトリー %s の comps.xml が保存されました" + msgid "New leaves:" + msgstr "新規のリーフパッケージ (他のパッケージから依存されていないパッケージ) :" + +-#: plugins/versionlock.py:32 ++#: plugins/versionlock.py:33 + #, python-format + msgid "Unable to read version lock configuration: %s" + msgstr "バージョンロック設定の読み込みができません: %s" + +-#: plugins/versionlock.py:33 ++#: plugins/versionlock.py:34 + msgid "Locklist not set" + msgstr "ロックリストが設定されていません" + +-#: plugins/versionlock.py:34 ++#: plugins/versionlock.py:35 + msgid "Adding versionlock on:" + msgstr "versionlock を追加:" + +-#: plugins/versionlock.py:35 ++#: plugins/versionlock.py:36 + msgid "Adding exclude on:" + msgstr "除外を追加:" + +-#: plugins/versionlock.py:36 ++#: plugins/versionlock.py:37 + msgid "Package already locked in equivalent form:" +-msgstr "" ++msgstr "同等の形で既にロックされているパッケージ:" + +-#: plugins/versionlock.py:37 ++#: plugins/versionlock.py:38 + msgid "Package {} is already locked" +-msgstr "" ++msgstr "パッケージ {} は既にロックされています" + +-#: plugins/versionlock.py:38 ++#: plugins/versionlock.py:39 + msgid "Package {} is already excluded" +-msgstr "" ++msgstr "パッケージ{}はすでに除外されています" + +-#: plugins/versionlock.py:39 ++#: plugins/versionlock.py:40 + msgid "Deleting versionlock for:" + msgstr "versionlock を削除:" + +-#: plugins/versionlock.py:40 ++#: plugins/versionlock.py:41 + msgid "No package found for:" + msgstr "パッケージが見つかりませんでした:" + +-#: plugins/versionlock.py:41 ++#: plugins/versionlock.py:42 + msgid "Excludes from versionlock plugin were not applied" + msgstr "versionlock プラグインからの除外は適用されませんでした" + +-#: plugins/versionlock.py:42 ++#: plugins/versionlock.py:43 + msgid "Versionlock plugin: number of lock rules from file \"{}\" applied: {}" + msgstr "versionlock プラグイン: ファイル \"{}\" のロックルールの数を適用: {}" + +-#: plugins/versionlock.py:43 ++#: plugins/versionlock.py:44 + msgid "Versionlock plugin: number of exclude rules from file \"{}\" applied: {}" + msgstr "versionlock プラグイン: ファイル \"{}\" の除外ルールの数を適用: {}" + +-#: plugins/versionlock.py:44 ++#: plugins/versionlock.py:45 + msgid "Versionlock plugin: could not parse pattern:" + msgstr "versionlock プラグイン: パターンを解析できませんでした:" + +-#: plugins/versionlock.py:130 ++#: plugins/versionlock.py:132 + msgid "control package version locks" + msgstr "パッケージバージョンロックの制御" + +-#: plugins/versionlock.py:136 ++#: plugins/versionlock.py:138 + msgid "Use package specifications as they are, do not try to parse them" +-msgstr "" ++msgstr "パッケージ仕様をそのまま使用し、解析を試みないでください" ++ ++#: plugins/versionlock.py:158 ++msgid "Subcommand '{}' is deprecated. Use 'exclude' subcommand instead." ++msgstr "サブコマンド '{}' は非推奨になりました。代わりに 'exclude' サブコマンドを使用してください。" + + #~ msgid "" + #~ "\n" +diff --git a/po/ko.po b/po/ko.po +index 3f4eb89..1e049dc 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -1,55 +1,56 @@ + # Ludek Janda , 2018. #zanata, 2020. ++# simmon , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-09-12 11:29+0000\n" +-"Last-Translator: Ludek Janda \n" +-"Language-Team: Korean \n" ++"POT-Creation-Date: 2021-09-01 09:17+0200\n" ++"PO-Revision-Date: 2021-09-04 17:04+0000\n" ++"Last-Translator: simmon \n" ++"Language-Team: Korean \n" + "Language: ko\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Weblate 4.2.2\n" ++"X-Generator: Weblate 4.8\n" + + #: plugins/builddep.py:45 + msgid "[PACKAGE|PACKAGE.spec]" +-msgstr "" ++msgstr "[PACKAGE|PACKAGE.spec]" + + #: plugins/builddep.py:85 + #, python-format + msgid "'%s' is not of the format 'MACRO EXPR'" +-msgstr "" ++msgstr "'%s'는 'MACRO EXPR' 형식이 아닙니다" + + #: plugins/builddep.py:90 + msgid "packages with builddeps to install" +-msgstr "" ++msgstr "설치 할 builddeps가 있는 꾸러미(package)" + + #: plugins/builddep.py:93 + msgid "define a macro for spec file parsing" +-msgstr "" ++msgstr "특정한 파일 구문분석을 위해 매크로를 정의한다" + + #: plugins/builddep.py:95 + msgid "skip build dependencies not available in repositories" +-msgstr "" ++msgstr "저장소에서 사용 할 수 없는 구성 의존성을 건너띄기 한다" + + #: plugins/builddep.py:98 + msgid "treat commandline arguments as spec files" +-msgstr "" ++msgstr "명령줄 인수를 지정한 파일로 다룬다" + + #: plugins/builddep.py:100 + msgid "treat commandline arguments as source rpm" +-msgstr "" ++msgstr "명령줄 인수를 rpm 소스로 다룬다" + + #: plugins/builddep.py:144 + msgid "RPM: {}" +-msgstr "" ++msgstr "RPM: {}" + + #: plugins/builddep.py:153 + msgid "Some packages could not be found." +-msgstr "" ++msgstr "몇몇 꾸러미(packages)를 찾을 수 없습니다." + + #. No provides, no files + #. Richdeps can have no matches but it could be correct (solver must decide +@@ -57,141 +58,143 @@ msgstr "" + #: plugins/builddep.py:173 + #, python-format + msgid "No matching package to install: '%s'" +-msgstr "" ++msgstr "설치: '%s' 꾸러미(package)가 일치하지 않습니다" + + #: plugins/builddep.py:191 + #, python-format + msgid "Failed to open: '%s', not a valid source rpm file." +-msgstr "" ++msgstr "여는데 실패하였습니다: '%s', 유효한 rpm 파일 출처가 아닙니다." + + #: plugins/builddep.py:204 plugins/builddep.py:220 plugins/builddep.py:237 + msgid "Not all dependencies satisfied" +-msgstr "" ++msgstr "모든 의존성을 만족하지 않습니다" + + #: plugins/builddep.py:211 + #, python-format + msgid "Failed to open: '%s', not a valid spec file: %s" +-msgstr "" ++msgstr "여는데 실패하였습니다 '%s', 지정한 파일: %s가 유효하지 않습니다" + + #: plugins/builddep.py:230 plugins/repoclosure.py:118 + #, python-format + msgid "no package matched: %s" +-msgstr "일치하는 패키지 없음 : %s" ++msgstr "일치하는 꾸러미(package) 없음: %s" + + #: plugins/changelog.py:37 + #, python-brace-format + msgid "Not a valid date: \"{0}\"." +-msgstr "" ++msgstr "유효한 날자가 아닙니다: \"{0}\"." + + #: plugins/changelog.py:43 + msgid "Show changelog data of packages" +-msgstr "" ++msgstr "꾸러미(packages)의 변화 기록자료를 보여줍니다" + + #: plugins/changelog.py:51 + msgid "" + "show changelog entries since DATE. To avoid ambiguosity, YYYY-MM-DD format " + "is recommended." +-msgstr "" ++msgstr "DATE 이후에 변화기록를 보여줍니다. 모호함을 피하기 위하여, YYYY-MM-DD 형식을 추천합니다." + + #: plugins/changelog.py:55 + msgid "show given number of changelog entries per package" +-msgstr "" ++msgstr "주어진 수의 꾸러미(package) 마다 변화기록 항목을 보여줍니다" + + #: plugins/changelog.py:58 + msgid "" + "show only new changelog entries for packages, that provide an upgrade for " + "some of already installed packages." +-msgstr "" ++msgstr "몇몇 이미 설치된 꾸러미(package)들의 최신화를 제공하는 꾸러미를 위하여 새로운 변화기록만을 보여줍니다." + + #: plugins/changelog.py:60 + msgid "PACKAGE" +-msgstr "" ++msgstr "꾸러미(package)" + + #: plugins/changelog.py:81 plugins/debuginfo-install.py:90 + #, python-format + msgid "No match for argument: %s" +-msgstr "인수와 일치하는 항목 없음 : %s" ++msgstr "인수가 일치하지 않습니다: %s" + + #: plugins/changelog.py:109 + msgid "Listing changelogs since {}" +-msgstr "" ++msgstr "{} 이 후의 변화기록 목록" + + #: plugins/changelog.py:111 + msgid "Listing only latest changelog" + msgid_plural "Listing {} latest changelogs" +-msgstr[0] "" ++msgstr[0] "최신화된 변화기록 목록 {}" + + #: plugins/changelog.py:116 + msgid "Listing only new changelogs since installed version of the package" +-msgstr "" ++msgstr "꾸러미 설치 버전 이후의 새로운 변화 기록만 목록화함" + + #: plugins/changelog.py:118 + msgid "Listing all changelogs" +-msgstr "" ++msgstr "모든 변화기록 목록" + + #: plugins/changelog.py:122 + msgid "Changelogs for {}" +-msgstr "" ++msgstr "{}의 변경 사항" + +-#: plugins/config_manager.py:37 ++#: plugins/config_manager.py:38 + #, python-brace-format + msgid "manage {prog} configuration options and repositories" +-msgstr "" ++msgstr "{prog} 환경 선택과 저장소 관리" + +-#: plugins/config_manager.py:44 ++#: plugins/config_manager.py:45 + msgid "repo to modify" + msgstr "수정할 repo" + +-#: plugins/config_manager.py:47 ++#: plugins/config_manager.py:48 + msgid "save the current options (useful with --setopt)" + msgstr "현재 옵션 저장 (--setopt와 함께 유용함)" + +-#: plugins/config_manager.py:50 ++#: plugins/config_manager.py:51 + msgid "add (and enable) the repo from the specified file or url" + msgstr "지정된 파일 또는 URL에서 repo를 추가 (및 활성화)" + +-#: plugins/config_manager.py:53 ++#: plugins/config_manager.py:54 + msgid "print current configuration values to stdout" + msgstr "현재 구성 값을 표준 출력으로 인쇄" + +-#: plugins/config_manager.py:56 ++#: plugins/config_manager.py:57 + msgid "print variable values to stdout" + msgstr "변수 값을 표준 출력으로 출력" + +-#: plugins/config_manager.py:60 ++#: plugins/config_manager.py:61 + msgid "enable repos (automatically saves)" +-msgstr "" ++msgstr "저장소 활성화 (자동으로 저장합니다)" + +-#: plugins/config_manager.py:63 ++#: plugins/config_manager.py:64 + msgid "disable repos (automatically saves)" +-msgstr "" ++msgstr "저장소 비활성화 (자동으로 저장합니다)" + +-#: plugins/config_manager.py:77 ++#: plugins/config_manager.py:78 + msgid "one of the following arguments is required: {}" +-msgstr "" ++msgstr "다음 인수 중 하나가 필요합니다: {}" + +-#: plugins/config_manager.py:86 ++#: plugins/config_manager.py:87 + msgid "" + "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " + "manager. Use --set-enabled/--set-disabled instead." + msgstr "" ++"경고: -- --enablerepo/--disablerepo 인수는 설정 관리자와 함께 의미를 갖고 있지 않습니다. 대신에 --set-" ++"enabled/--set-disabled를 사용하세요." + +-#: plugins/config_manager.py:131 ++#: plugins/config_manager.py:132 + #, python-format + msgid "No matching repo to modify: %s." + msgstr "수정할 일치하는 Repo가 없습니다. %s." + +-#: plugins/config_manager.py:182 ++#: plugins/config_manager.py:183 + #, python-format + msgid "Adding repo from: %s" + msgstr "다음 위치에서 레포 추가 : %s" + +-#: plugins/config_manager.py:206 ++#: plugins/config_manager.py:207 + msgid "Configuration of repo failed" + msgid_plural "Configuration of repos failed" +-msgstr[0] "저장소 구성에 실패했습니다." ++msgstr[0] "저장소 구성에 실패했습니다" + +-#: plugins/config_manager.py:216 ++#: plugins/config_manager.py:217 + #, python-format + msgid "Could not save repo to repofile %s: %s" + msgstr "repofile에 repo를 저장할 수 없습니다. %s: %s" +@@ -237,7 +240,21 @@ msgid "" + " " + msgstr "" + "\n" +-" 프로젝트 이름 / 프로젝트 제거 - 설치 / 사용 / 사용 안 함 목록 - 사용 가능 사용자 = NAME 검색 프로젝트 예 : copr enable rhscl / perl516 epel-6-x86_64 copr enable ignatenkobrain / ocltoys copr 비활성화 rhscl / perl516 copr 제거 rhscl / perl516 copr 목록 - 사용 가능 목록 - 사용 가능 사용자 = ignatenkobrain copr 검색 테스트\n" ++" enable name/project [chroot]\n" ++" disable name/project\n" ++" remove name/project\n" ++" list --installed/enabled/disabled\n" ++" list --available-by-user=NAME\n" ++" search project\n" ++"\n" ++" Examples:\n" ++" copr enable rhscl/perl516 epel-6-x86_64\n" ++" copr enable ignatenkobrain/ocltoys\n" ++" copr disable rhscl/perl516\n" ++" copr remove rhscl/perl516\n" ++" copr list --enabled\n" ++" copr list --available-by-user=ignatenkobrain\n" ++" copr search tests\n" + " " + + #: plugins/copr.py:107 +@@ -258,9 +275,9 @@ msgstr "사용자가 사용할 수있는 Copr 저장소를 나열합니다. NAME + + #: plugins/copr.py:115 + msgid "Specify an instance of Copr to work with" +-msgstr "" ++msgstr "일하는 Copr의 예를 지정합니다" + +-#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 ++#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:244 + msgid "Error: " + msgstr "오류: " + +@@ -269,24 +286,36 @@ msgid "" + "specify Copr hub either with `--hub` or using " + "`copr_hub/copr_username/copr_projectname` format" + msgstr "" ++"Corp hub를 `--hub` 또는 사용하기 `copr_hub/copr_username/copr_projectname`형식으로 " ++"지정합니다" + + #: plugins/copr.py:153 + msgid "multiple hubs specified" +-msgstr "" ++msgstr "지정된 여러 허브" + + #: plugins/copr.py:218 plugins/copr.py:222 + msgid "exactly two additional parameters to copr command are required" +-msgstr "copr 명령에 정확히 두 개의 추가 매개 변수가 필요합니다." ++msgstr "copr 명령에 정확히 두 개의 추가 매개 변수가 필요합니다" ++ ++#: plugins/copr.py:227 ++msgid "Too many arguments." ++msgstr "너무 많은 인수." ++ ++#: plugins/copr.py:230 ++msgid "" ++"Bad format of optional chroot. The format is distribution-version-" ++"architecture." ++msgstr "선택적인 chroot의 나쁜 형식. 형식은 배포-버전-구조입니다." + +-#: plugins/copr.py:238 ++#: plugins/copr.py:245 + msgid "use format `copr_username/copr_projectname` to reference copr project" + msgstr "copr 프로젝트를 참조하기 위해`copr_username / copr_projectname` 형식을 사용하십시오" + +-#: plugins/copr.py:240 ++#: plugins/copr.py:247 + msgid "bad copr project format" + msgstr "나쁜 copr 프로젝트 형식" + +-#: plugins/copr.py:254 ++#: plugins/copr.py:261 + msgid "" + "\n" + "Enabling a Copr repository. Please note that this repository is not part\n" +@@ -300,72 +329,85 @@ msgid "" + "Please do not file bug reports about these packages in Fedora\n" + "Bugzilla. In case of problems, contact the owner of this repository.\n" + msgstr "" ++"\n" ++"Core 저정소를 활성화합니다. 이 저장소는 주요 배포판 부분이 아님을 알고 있기 바라고,\n" ++"품질이 다를 수 있습니다.\n" ++"\n" ++"페도라 프로젝트는\n" ++"에\n" ++"Core FAQ에 있는 설명된 규칙을 넘는 저장소 내용 이상의 권한을 시험하지 않으며,\n" ++"그리고 꾸러미(package)는 어떤 품질이나 보안 수준을 유지하지 않습니다.\n" ++"\n" ++"페도라 버그질라에 이들 꾸러미에 대한 파일 결점 보고를 제출하지 마세요.\n" ++"이들 문제는, 이들 저장소 소유자와 접촉하세요.\n" + +-#: plugins/copr.py:271 ++#: plugins/copr.py:278 + msgid "Repository successfully enabled." + msgstr "저장소가 사용 설정되었습니다." + +-#: plugins/copr.py:276 ++#: plugins/copr.py:283 + msgid "Repository successfully disabled." + msgstr "저장소가 사용 중지되었습니다." + +-#: plugins/copr.py:280 ++#: plugins/copr.py:287 + msgid "Repository successfully removed." + msgstr "저장소가 제거되었습니다." + +-#: plugins/copr.py:284 plugins/copr.py:693 ++#: plugins/copr.py:291 plugins/copr.py:698 + msgid "Unknown subcommand {}." + msgstr "알 수없는 부속 명령 {}." + +-#: plugins/copr.py:341 ++#: plugins/copr.py:348 + msgid "" + "* These coprs have repo file with an old format that contains no information" + " about Copr hub - the default one was assumed. Re-enable the project to fix " + "this." + msgstr "" ++"* 이들 coprs은 Copr hub에 대하여 어떤 정보도 포함하지 않는 오래된 형태의 저장소 파일을 갖고 있습니다. 이 문제를 수정하기" ++" 위하여 프로젝트를 재활성화하세요." + +-#: plugins/copr.py:353 ++#: plugins/copr.py:360 + msgid "Can't parse repositories for username '{}'." + msgstr "사용자 이름 '{}'에 대한 리포지토리를 구문 분석 할 수 없습니다." + +-#: plugins/copr.py:356 ++#: plugins/copr.py:363 + msgid "List of {} coprs" + msgstr "{} 명의 경찰 목록" + +-#: plugins/copr.py:364 ++#: plugins/copr.py:371 + msgid "No description given" +-msgstr "설명이 없습니다." ++msgstr "설명이 없습니다" + +-#: plugins/copr.py:376 ++#: plugins/copr.py:383 + msgid "Can't parse search for '{}'." + msgstr "'{}'에 대한 검색을 구문 분석 할 수 없습니다." + +-#: plugins/copr.py:379 ++#: plugins/copr.py:386 + msgid "Matched: {}" + msgstr "일치하는 항목 : {}" + +-#: plugins/copr.py:387 ++#: plugins/copr.py:394 + msgid "No description given." + msgstr "설명이 없습니다." + +-#: plugins/copr.py:410 ++#: plugins/copr.py:417 + msgid "Safe and good answer. Exiting." + msgstr "안전하고 좋은 대답. 나가기." + +-#: plugins/copr.py:417 ++#: plugins/copr.py:424 + msgid "This command has to be run under the root user." + msgstr "이 명령은 루트 사용자로 실행해야합니다." + +-#: plugins/copr.py:481 ++#: plugins/copr.py:486 + msgid "" + "This repository does not have any builds yet so you cannot enable it now." + msgstr "이 저장소에는 빌드가 아직 없으므로 지금 사용할 수 없습니다." + +-#: plugins/copr.py:484 ++#: plugins/copr.py:489 + msgid "Such repository does not exist." + msgstr "이러한 저장소는 존재하지 않습니다." + +-#: plugins/copr.py:528 ++#: plugins/copr.py:533 + #, python-brace-format + msgid "" + "Maintainer of the enabled Copr repository decided to make\n" +@@ -381,53 +423,63 @@ msgid "" + "\n" + "These repositories have been enabled automatically." + msgstr "" ++"활성화된 Core 저장소의 유지는 다른 저장소에 이를 독립적으로\n" ++"만드는 것으로 결정하였습니다.\n" ++"그런 저장소는 주요 Corp 저장소에서 성공적인 RPM 설치를\n" ++"위하여 일반적으로 필요합니다(이들은 실행 의존성을 제공합니다).\n" ++"\n" ++"위도 여기에 적용되며 품질과 결점-보고에 대한 참고 사항을 알아야 하고,\n" ++"페도라 프로젝트는 그 내용을 통제하지 않습니다.\n" ++"목록을 다시 검토합니다:\n" ++"\n" ++"{0}\n" ++"\n" ++"이들 저장소는 자동으로 활성화 됩니다." + +-#: plugins/copr.py:549 ++#: plugins/copr.py:554 + msgid "Do you want to keep them enabled?" +-msgstr "" ++msgstr "계속 사용하길 원하시나요?" + +-#: plugins/copr.py:582 ++#: plugins/copr.py:587 + #, python-brace-format + msgid "Failed to remove copr repo {0}/{1}/{2}" +-msgstr "" ++msgstr "copr repo {0}/{1}/{2} 제거를 실패하였습니다" + +-#: plugins/copr.py:593 ++#: plugins/copr.py:598 + msgid "Failed to disable copr repo {}/{}" +-msgstr "copr repo {} / {}를 사용 중지하지 못했습니다." ++msgstr "copr repo {} / {}를 사용 중지를 실패하였습니다" + +-#: plugins/copr.py:611 plugins/copr.py:648 ++#: plugins/copr.py:616 plugins/copr.py:653 + msgid "Unknown response from server." + msgstr "서버에서 알 수없는 응답." + +-#: plugins/copr.py:633 ++#: plugins/copr.py:638 + msgid "Interact with Playground repository." + msgstr "놀이터 저장소와 상호 작용하십시오." + +-#: plugins/copr.py:639 +-#, fuzzy +-#| msgid "Interact with Playground repository." ++#: plugins/copr.py:644 + msgid "Enabling a Playground repository." +-msgstr "놀이터 저장소와 상호 작용하십시오." ++msgstr "동작 저장소와 활용하기." + +-#: plugins/copr.py:640 ++#: plugins/copr.py:645 + msgid "Do you want to continue?" +-msgstr "" ++msgstr "계속하기를 원하십니까?" + +-#: plugins/copr.py:683 ++#: plugins/copr.py:688 + msgid "Playground repositories successfully enabled." + msgstr "놀이터 저장소를 사용하도록 설정했습니다." + +-#: plugins/copr.py:686 ++#: plugins/copr.py:691 + msgid "Playground repositories successfully disabled." + msgstr "놀이터 저장소가 사용 중지되었습니다." + +-#: plugins/copr.py:690 ++#: plugins/copr.py:695 + msgid "Playground repositories successfully updated." + msgstr "놀이터 저장소가 성공적으로 업데이트되었습니다." + + #: plugins/debug.py:53 + msgid "dump information about installed rpm packages to file" +-msgstr "설치된 rpm 패키지에 대한 정보를 파일에 덤프하십시오." ++msgstr "설치된 rpm 꾸러미(package)에 대한 정보를 파일에 덤프하십시오" + + #: plugins/debug.py:67 + msgid "do not attempt to dump the repository contents." +@@ -444,7 +496,7 @@ msgstr "작성된 출력 : %s" + + #: plugins/debug.py:172 + msgid "restore packages recorded in debug-dump file" +-msgstr "디버그 덤프 파일에 기록 된 패키지 복원" ++msgstr "디버그 덤프 파일에 기록 된 꾸러미(package) 복원" + + #: plugins/debug.py:185 + msgid "output commands that would be run to stdout." +@@ -452,13 +504,13 @@ msgstr "stdout으로 실행될 출력 명령." + + #: plugins/debug.py:188 + msgid "Install the latest version of recorded packages." +-msgstr "기록 된 패키지의 최신 버전을 설치하십시오." ++msgstr "기록 된 꾸러미의 최신 버전을 설치하십시오." + + #: plugins/debug.py:191 + msgid "" + "Ignore architecture and install missing packages matching the name, epoch, " + "version and release." +-msgstr "아키텍처를 무시하고 이름, 기원, 버전 및 릴리스와 일치하는 누락 된 패키지를 설치하십시오." ++msgstr "구조를 무시하고 이름, 기원, 버전및 출시와 일치하는 누락 된 꾸러미를 설치하십시오." + + #: plugins/debug.py:196 + msgid "limit to specified type" +@@ -468,7 +520,7 @@ msgstr "특정 유형으로 제한" + msgid "" + "Allow removing of install-only packages. Using this option may result in an " + "attempt to remove the running kernel." +-msgstr "" ++msgstr "설치전용 꾸리미 제거를 허용합니다. 이 선택의 사용은 동작하고 있는 커널을 제거하는 결과가 나타날 수 있습니다." + + #: plugins/debug.py:202 + msgid "name of dump file" +@@ -477,7 +529,7 @@ msgstr "덤프 파일의 이름" + #: plugins/debug.py:273 + #, python-format + msgid "Package %s is not available" +-msgstr "꾸러미 %s 사용할 수 없습니다" ++msgstr "꾸러미(package) %s 사용 할 수 없습니다" + + #: plugins/debug.py:283 + #, python-format +@@ -486,31 +538,31 @@ msgstr "잘못된 dnf 디버그 파일 : %s" + + #: plugins/debuginfo-install.py:56 + msgid "install debuginfo packages" +-msgstr "debuginfo 패키지 설치" ++msgstr "디버그정보 꾸러미(package) 설치" + + #: plugins/debuginfo-install.py:180 + #, python-format + msgid "" + "Could not find debuginfo package for the following available packages: %s" +-msgstr "" ++msgstr "다음 사용가능한 꾸러미(package): %s 를 위하여 디버그정보 꾸러미를 찾을 수 없습니다" + + #: plugins/debuginfo-install.py:185 + #, python-format + msgid "" + "Could not find debugsource package for the following available packages: %s" +-msgstr "" ++msgstr "다음 가용한 꾸러미(package): %s 를 위하여 디버그자원 꾸러미(package)를 찾을 수 없습니다" + + #: plugins/debuginfo-install.py:190 + #, python-format + msgid "" + "Could not find debuginfo package for the following installed packages: %s" +-msgstr "" ++msgstr "다음 설치된 꾸러미(package): %s 를 위한 디버그정보 꾸러미(package)를 찾을 수 없습니다" + + #: plugins/debuginfo-install.py:195 + #, python-format + msgid "" + "Could not find debugsource package for the following installed packages: %s" +-msgstr "" ++msgstr "다음 설치된 꾸러미(package): %s 를 위하여 디버그자원 꾸러미(package)를 찾을 수 없습니다" + + #: plugins/debuginfo-install.py:199 + msgid "Unable to find a match" +@@ -518,51 +570,51 @@ msgstr "일치하는 항목을 찾을 수 없습니다" + + #: plugins/download.py:41 + msgid "Download package to current directory" +-msgstr "현재 디렉토리에 패키지 다운로드" ++msgstr "현재 디렉토리에 꾸러미 내려받기" + + #: plugins/download.py:51 + msgid "packages to download" +-msgstr "다운로드 할 패키지" ++msgstr "내려받기 할 꾸러미" + + #: plugins/download.py:53 + msgid "download the src.rpm instead" +-msgstr "대신 src.rpm을 다운로드하십시오." ++msgstr "대신 src.rpm을 내려받으세요" + + #: plugins/download.py:55 + msgid "download the -debuginfo package instead" +-msgstr "대신 -debuginfo 패키지를 다운로드하십시오." ++msgstr "대신 -debuginfo 꾸러미(package)를 내려받아요" + + #: plugins/download.py:57 + msgid "download the -debugsource package instead" +-msgstr "" ++msgstr "대신 -debuginfo 꾸러미(package)를 내려받으세요" + + #: plugins/download.py:60 + msgid "limit the query to packages of given architectures." +-msgstr "쿼리를 주어진 아키텍처의 패키지로 제한하십시오." ++msgstr "요청를 주어진 구조 꾸러미(package)로 제한하십시오." + + #: plugins/download.py:62 + msgid "resolve and download needed dependencies" +-msgstr "필요한 종속성을 해결하고 다운로드하십시오." ++msgstr "필요한 종속성을 해결하고 내려받아요" + + #: plugins/download.py:64 + msgid "" + "when running with --resolve, download all dependencies (do not exclude " + "already installed ones)" +-msgstr "" ++msgstr "--resolve 와 함께 실행 할 때에, 모든 의존성을 내려받습니다 (이미 설치된 것들은 포함하지 않습니다)" + + #: plugins/download.py:67 + msgid "" + "print list of urls where the rpms can be downloaded instead of downloading" +-msgstr "다운로드 대신 rpms를 다운로드 할 수있는 URL 목록 인쇄" ++msgstr "내려받기 대신 rpms를 내려받기 할 수 있는 URL 목록 인쇄" + + #: plugins/download.py:72 + msgid "when running with --url, limit to specific protocols" +-msgstr "--url을 사용하여 실행하면 특정 프로토콜로 제한됩니다." ++msgstr "--url을 사용하여 실행하면 특정 통신규약이 제한됩니다" + +-#: plugins/download.py:121 plugins/reposync.py:293 ++#: plugins/download.py:121 plugins/reposync.py:314 + #, python-format + msgid "Failed to get mirror for package: %s" +-msgstr "패키지 미러링에 실패했습니다. %s" ++msgstr "꾸러미 연결주소 얻기에 실패했습니다: %s" + + #: plugins/download.py:243 + msgid "Exiting due to strict setting." +@@ -570,7 +622,7 @@ msgstr "엄격한 설정으로 인해 종료됩니다." + + #: plugins/download.py:261 + msgid "Error in resolve of packages:" +-msgstr "패키지 해결 오류 :" ++msgstr "꾸러미(package) 해결 오류 :" + + #: plugins/download.py:279 + #, python-format +@@ -580,27 +632,141 @@ msgstr "소스 rpm이 정의되지 않았습니다. %s" + #: plugins/download.py:296 plugins/download.py:309 + #, python-format + msgid "No package %s available." +-msgstr "패키지 없음 %s 유효한." ++msgstr "가용한 꾸러미(package) %s가 없습니다." ++ ++#: plugins/groups_manager.py:49 ++msgid "Invalid group id" ++msgstr "유효하지 않는 그룹 id" ++ ++#: plugins/groups_manager.py:58 ++msgid "Invalid translated data, should be in form 'lang:text'" ++msgstr "잘못 번역된 자료, 형식 'lang:text' 에 있어야 합니다" ++ ++#: plugins/groups_manager.py:61 ++msgid "Invalid/empty language for translated data" ++msgstr "번역된 자료가 유효하지 않음/비워짐" ++ ++#: plugins/groups_manager.py:71 ++msgid "Can't generate group id from '{}'. Please specify group id using --id." ++msgstr "'{}' 에서 그룹 id를 발생 할 수 없습니다. --id를 사용하여 그룹 id를 지정해 주세요." ++ ++#: plugins/groups_manager.py:79 ++msgid "create and edit groups metadata file" ++msgstr "그룹 메타데이타 파일 생성하고 수정합니다" ++ ++#: plugins/groups_manager.py:90 ++msgid "load groups metadata from file" ++msgstr "파일에서 그룹 메타파일을 적재합니다" ++ ++#: plugins/groups_manager.py:93 ++msgid "save groups metadata to file" ++msgstr "그룹 메타자료를 파일에 저장합니다" ++ ++#: plugins/groups_manager.py:95 ++msgid "load and save groups metadata to file" ++msgstr "그룹 메타파일을 파일에 적재하고 저장합니다" ++ ++#: plugins/groups_manager.py:97 ++msgid "print the result metadata to stdout" ++msgstr "결과 메타데이타를 표준출력으로 출력한다" ++ ++#: plugins/groups_manager.py:100 ++msgid "group id" ++msgstr "그룹 id" ++ ++#: plugins/groups_manager.py:101 ++msgid "group name" ++msgstr "그룹 이름" ++ ++#: plugins/groups_manager.py:103 ++msgid "group description" ++msgstr "그룹 설명" ++ ++#: plugins/groups_manager.py:105 ++msgid "group display order" ++msgstr "그룸 표시 순서" ++ ++#: plugins/groups_manager.py:108 ++msgid "translated name for the group" ++msgstr "그룹을 위한 번역된 이름" ++ ++#: plugins/groups_manager.py:111 ++msgid "translated description for the group" ++msgstr "그룹을 위한 번역 설명" ++ ++#: plugins/groups_manager.py:115 ++msgid "make the group user visible (default)" ++msgstr "그룹 사용자를 표시 (기본값)" ++ ++#: plugins/groups_manager.py:118 ++msgid "make the group user invisible" ++msgstr "그룹 사용자를 보이지 않게 표시" ++ ++#: plugins/groups_manager.py:123 ++msgid "add packages to the mandatory section" ++msgstr "꾸러미(package)를 필 수 부분에 추가합니다" ++ ++#: plugins/groups_manager.py:125 ++msgid "add packages to the optional section" ++msgstr "꾸러미(package)를 선택 부분에 추가합니다" ++ ++#: plugins/groups_manager.py:127 ++msgid "remove packages from the group instead of adding them" ++msgstr "추가하기 대신에 그룹에서 꾸러미(package)를 제거합니다" ++ ++#: plugins/groups_manager.py:129 ++msgid "include also direct dependencies for packages" ++msgstr "꾸러미(package)를 위해 직접적인 의존성을 포함한다" ++ ++#: plugins/groups_manager.py:132 ++msgid "package specification" ++msgstr "꾸러미(package) 사양" ++ ++#: plugins/groups_manager.py:156 ++msgid "Can't edit group without specifying it (use --id or --name)" ++msgstr "이것(user --id 또느 --name)을 특정하지 않고 그룹을 수정 할 수 없습니다" ++ ++#: plugins/groups_manager.py:190 ++msgid "Can't load file \"{}\": {}" ++msgstr "파일 \"{}\": {} 를 적재 할 수 없습니다" ++ ++#: plugins/groups_manager.py:206 ++msgid "Can't save file \"{}\": {}" ++msgstr "파일 \"{}\": {}을 저장 할 수 없습니다" ++ ++#: plugins/groups_manager.py:259 ++msgid "No match for argument: {}" ++msgstr "일치하는 인수가 없습니다 :{}" ++ ++#: plugins/groups_manager.py:296 ++msgid "Can't remove packages from non-existent group" ++msgstr "존재하지 않는 그룹에서 꾸러미(package)를 제거 할 수 없습니다" ++ ++#: plugins/groups_manager.py:305 ++msgid "" ++"Group id '{}' generated from '{}' is duplicit. Please specify group id using" ++" --id." ++msgstr "'{}'에서 발생한 그룹 id '{}'는 중복되었습니다. --id를 사용하여 그룹 id를 지정하기 바랍니다." + + #: plugins/leaves.py:32 + msgid "List installed packages not required by any other package" +-msgstr "다른 패키지에서 필요하지 않은 설치된 패키지 나열" ++msgstr "다른 꾸러미(package)에서 필요하지 않은 설치된 꾸러미(packages) 나열" + + #: plugins/local.py:122 + msgid "Unable to create a directory '{}' due to '{}'" +-msgstr "'{}'(으)로 인해 '{}'디렉토리를 만들 수 없습니다." ++msgstr "'{}'(으)로 인해 '{}'디렉토리를 만들 수 없습니다" + + #: plugins/local.py:126 + msgid "'{}' is not a directory" +-msgstr "'{}'은 (는) 디렉토리가 아닙니다." ++msgstr "'{}'는 디렉토리가 아닙니다" + + #: plugins/local.py:135 + msgid "Copying '{}' to local repo" +-msgstr "'{}'을 (를) 로컬 저장소로 복사 중입니다." ++msgstr "'{}'을 로컬 저장소로 복사 중입니다" + + #: plugins/local.py:141 + msgid "Can't write file '{}'" +-msgstr "'{}'파일을 쓸 수 없습니다." ++msgstr "'{}'파일을 쓸 수 없습니다" + + #: plugins/local.py:156 + msgid "Rebuilding local repo" +@@ -608,73 +774,79 @@ msgstr "지역 레포 복구" + + #: plugins/migrate.py:45 + msgid "migrate yum's history, group and yumdb data to dnf" +-msgstr "yum의 히스토리, 그룹 및 yumdb 데이터를 dnf로 마이그레이션합니다." ++msgstr "yum 사용기록, 그룹 및 yumdb 데이터를 dnf로 마이그레이션합니다" + + #: plugins/migrate.py:54 + msgid "Migrating history data..." + msgstr "기록 데이터 마이그레이션 중 ..." + +-#: plugins/needs_restarting.py:65 ++#: plugins/needs_restarting.py:66 + #, python-brace-format + msgid "" + "No installed package found for package name \"{pkg}\" specified in needs-" + "restarting file \"{file}\"." + msgstr "" ++"재시작이 필요한 파일 \"{file}\" 에 지정한 꾸러미 이름 \"{pkg}\"을 위하여 설치된 꾸러미(package)를 찾을 수 " ++"없습니다." + +-#: plugins/needs_restarting.py:199 ++#: plugins/needs_restarting.py:220 + msgid "determine updated binaries that need restarting" + msgstr "다시 시작해야하는 업데이트 된 바이너리 결정" + +-#: plugins/needs_restarting.py:204 ++#: plugins/needs_restarting.py:225 + msgid "only consider this user's processes" +-msgstr "이 사용자의 프로세스 만 고려하십시오." ++msgstr "이 사용자의 프로세스만 고려하세요" + +-#: plugins/needs_restarting.py:206 ++#: plugins/needs_restarting.py:227 + msgid "" + "only report whether a reboot is required (exit code 1) or not (exit code 0)" +-msgstr "" ++msgstr "재시작이 요구되는 (exit code 1) 또는 아닌(exit code0) 경우에만 보고합니다" + + #: plugins/needs_restarting.py:230 ++msgid "only report affected systemd services" ++msgstr "systemd 서비스에 영향을 미치는 것만 보고합니다" ++ ++#: plugins/needs_restarting.py:253 + msgid "Core libraries or services have been updated since boot-up:" +-msgstr "" ++msgstr "Core 라이브러리와 서비스는 재시작 이 후에 최신화 됩니다:" + +-#: plugins/needs_restarting.py:235 ++#: plugins/needs_restarting.py:258 + msgid "Reboot is required to fully utilize these updates." +-msgstr "" ++msgstr "재시작은 이들 최신화를 완전히 사용하려면 필요합니다." + +-#: plugins/needs_restarting.py:236 ++#: plugins/needs_restarting.py:259 + msgid "More information:" +-msgstr "" ++msgstr "자세한 정보:" + +-#: plugins/needs_restarting.py:240 ++#: plugins/needs_restarting.py:263 + msgid "No core libraries or services have been updated since boot-up." +-msgstr "" ++msgstr "핵심 라이브러리와 서비스는 재시작 이 후에 최신화 되지 않습니다." + +-#: plugins/needs_restarting.py:242 ++#: plugins/needs_restarting.py:265 + msgid "Reboot should not be necessary." +-msgstr "" ++msgstr "재시작은 필요하지 않을 수 있습니다." + + #: plugins/post-transaction-actions.py:71 + #, python-format + msgid "Bad Action Line \"%s\": %s" +-msgstr "" ++msgstr "잘못된 동작 선 \"%s\": %s" + + #. unsupported state, skip it + #: plugins/post-transaction-actions.py:130 + #, python-format + msgid "Bad Transaction State: %s" +-msgstr "" ++msgstr "잘못된 연결 상태: %s" + +-#: plugins/post-transaction-actions.py:153 +-#: plugins/post-transaction-actions.py:155 ++#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:159 + #, python-format + msgid "post-transaction-actions: %s" +-msgstr "" ++msgstr "연결 후 동작: %s" + +-#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:161 + #, python-format + msgid "post-transaction-actions: Bad Command \"%s\": %s" +-msgstr "" ++msgstr "연결 후 동작: 잘못된 명령 \"%s\": %s" + + #: plugins/repoclosure.py:42 + msgid "Display a list of unresolved dependencies for repositories" +@@ -686,149 +858,157 @@ msgstr "재구 축은 해결되지 않은 종속성으로 종료되었습니다. + + #: plugins/repoclosure.py:153 + msgid "check packages of the given archs, can be specified multiple times" +-msgstr "지정된 아치의 패키지를 검사하고 여러 번 지정할 수 있습니다." ++msgstr "지정된 아치의 꾸러미(package)를 검사하고 여러 번 지정할 수 있습니다" + + #: plugins/repoclosure.py:156 + msgid "Specify repositories to check" +-msgstr "확인할 저장소를 지정하십시오." ++msgstr "점검 할 저장소를 지정하세요" + + #: plugins/repoclosure.py:158 + msgid "Check only the newest packages in the repos" +-msgstr "리포지토리의 최신 패키지 만 확인하십시오." ++msgstr "저장소 최신 꾸러미(package)만 확인하세요" + + #: plugins/repoclosure.py:161 + msgid "Check closure for this package only" +-msgstr "이 패키지의 폐쇄 만 확인하십시오." ++msgstr "이 꾸러미(package)의 폐쇄만 확인하세요" + + #: plugins/repodiff.py:45 + msgid "List differences between two sets of repositories" +-msgstr "" ++msgstr "두 개의 저장소 구성 사이의 목록 차이점" + + #: plugins/repodiff.py:58 + msgid "Specify old repository, can be used multiple times" +-msgstr "" ++msgstr "여러번 사용될 수 있는, 오래된 저장소를 지정합니다" + + #: plugins/repodiff.py:60 + msgid "Specify new repository, can be used multiple times" +-msgstr "" ++msgstr "여러 번 사용 될 수 있는, 새로운 저장소를 지정합니다" + + #: plugins/repodiff.py:63 + msgid "" + "Specify architectures to compare, can be used multiple times. By default, " + "only source rpms are compared." +-msgstr "" ++msgstr "비교 할 구조를 지정하고, 여러 번 사용 될 수 있습니다. 기본적으로, 자원 rpms만 비교됩니다." + + #: plugins/repodiff.py:67 + msgid "Output additional data about the size of the changes." +-msgstr "" ++msgstr "크기 변화에 대한 추가 자료를 출력합니다." + + #: plugins/repodiff.py:69 + msgid "" + "Compare packages also by arch. By default packages are compared just by " + "name." +-msgstr "" ++msgstr "구조에 의해 꾸러미(package) 또한 비교합니다. 기본적으로 꾸러미(package)는 이름으로만 비교됩니다." + + #: plugins/repodiff.py:72 + msgid "Output a simple one line message for modified packages." +-msgstr "" ++msgstr "수정된 꾸러미(pacakage)지를 위해 단순히 한 줄 메시지를 출력합니다." + + #: plugins/repodiff.py:74 + msgid "" + "Split the data for modified packages between upgraded and downgraded " + "packages." +-msgstr "" ++msgstr "향상 또는 향상 꾸러미 사이에서 변형된 꾸러미를 위해 자료를 분할합니다." + + #: plugins/repodiff.py:86 + msgid "Both old and new repositories must be set." +-msgstr "" ++msgstr "오래된 것과 새로운 저장소 모두 구성되어야 합니다." + + #: plugins/repodiff.py:178 + msgid "Size change: {} bytes" +-msgstr "" ++msgstr "크기 변화: {} bytes" + + #: plugins/repodiff.py:184 + msgid "Added package : {}" +-msgstr "" ++msgstr "추가된 꾸러미(package) : {}" + + #: plugins/repodiff.py:187 + msgid "Removed package: {}" +-msgstr "" ++msgstr "제거된 꾸러미(package): {}" + + #: plugins/repodiff.py:190 + msgid "Obsoleted by : {}" +-msgstr "" ++msgstr "사용되지 않음 : {}" + + #: plugins/repodiff.py:195 + msgid "" + "\n" + "Upgraded packages" + msgstr "" ++"\n" ++"향상된 꾸러미(package)" + + #: plugins/repodiff.py:200 + msgid "" + "\n" + "Downgraded packages" + msgstr "" ++"\n" ++"꾸러미 하향설치" + + #: plugins/repodiff.py:207 + msgid "" + "\n" + "Modified packages" + msgstr "" ++"\n" ++"변형된 꾸러미(package)" + + #: plugins/repodiff.py:212 + msgid "" + "\n" + "Summary" + msgstr "" ++"\n" ++"요약" + + #: plugins/repodiff.py:213 + msgid "Added packages: {}" +-msgstr "" ++msgstr "추가된 꾸러미(package): {}" + + #: plugins/repodiff.py:214 + msgid "Removed packages: {}" +-msgstr "" ++msgstr "제거된 꾸러미(package): {}" + + #: plugins/repodiff.py:216 + msgid "Upgraded packages: {}" +-msgstr "" ++msgstr "향상된 꾸러미(package): {}" + + #: plugins/repodiff.py:217 + msgid "Downgraded packages: {}" +-msgstr "" ++msgstr "하향설치된 꾸러미: {}" + + #: plugins/repodiff.py:219 + msgid "Modified packages: {}" +-msgstr "" ++msgstr "변형된 꾸러미(package): {}" + + #: plugins/repodiff.py:222 + msgid "Size of added packages: {}" +-msgstr "" ++msgstr "크기가 증가된 꾸러미(package): {}" + + #: plugins/repodiff.py:223 + msgid "Size of removed packages: {}" +-msgstr "" ++msgstr "크기가 제거된 꾸러미(package): {}" + + #: plugins/repodiff.py:225 + msgid "Size of modified packages: {}" +-msgstr "" ++msgstr "크기가 변형된 꾸러미(package): {}" + + #: plugins/repodiff.py:228 + msgid "Size of upgraded packages: {}" +-msgstr "" ++msgstr "크기가 향상된 꾸러미: {}" + + #: plugins/repodiff.py:230 + msgid "Size of downgraded packages: {}" +-msgstr "" ++msgstr "크기가 하향설치된 꾸러미: {}" + + #: plugins/repodiff.py:232 + msgid "Size change: {}" +-msgstr "" ++msgstr "크기 변경: {}" + + #: plugins/repograph.py:50 + msgid "Output a full package dependency graph in dot format" +-msgstr "도트 형식의 전체 패키지 종속성 그래프 출력" ++msgstr "도트 형식의 전체 꾸러미(package) 종속성 그래프 출력" + + #: plugins/repograph.py:110 + #, python-format +@@ -837,186 +1017,202 @@ msgstr "아무것도 제공하지 않습니다 : '%s'" + + #: plugins/repomanage.py:45 + msgid "Manage a directory of rpm packages" +-msgstr "rpm 패키지 디렉토리 관리" ++msgstr "rpm 꾸러미(package) 디렉토리 관리" + + #: plugins/repomanage.py:59 + msgid "Pass either --old or --new, not both!" +-msgstr "--old 또는 --new 중 하나를 전달하십시오." ++msgstr "--old 또는 --new 중 하나를 전달하세요!" + + #: plugins/repomanage.py:71 + msgid "No files to process" +-msgstr "처리 할 파일이 없습니다." ++msgstr "처리 할 파일 없음" + +-#: plugins/repomanage.py:93 ++#: plugins/repomanage.py:96 + msgid "Could not open {}" +-msgstr "{}을 (를) 열 수 없습니다." ++msgstr "{}을 열 수 없습니다" + +-#: plugins/repomanage.py:177 ++#: plugins/repomanage.py:180 + msgid "Print the older packages" +-msgstr "이전 패키지 인쇄" ++msgstr "이전 꾸러미(package) 인쇄" + +-#: plugins/repomanage.py:179 ++#: plugins/repomanage.py:182 + msgid "Print the newest packages" +-msgstr "최신 패키지 인쇄" ++msgstr "최신 꾸러미(package) 인쇄" + +-#: plugins/repomanage.py:181 ++#: plugins/repomanage.py:184 + msgid "Space separated output, not newline" + msgstr "공백으로 구분 된 출력이 아닌 개행 문자" + +-#: plugins/repomanage.py:183 ++#: plugins/repomanage.py:186 + msgid "Newest N packages to keep - defaults to 1" +-msgstr "보관할 최신 N 패키지 - 기본값은 1입니다." ++msgstr "보관할 최신 N 꾸러미(package) - 기본값은 1입니다" + +-#: plugins/repomanage.py:186 ++#: plugins/repomanage.py:189 + msgid "Path to directory" + msgstr "디렉토리 경로" + +-#: plugins/reposync.py:54 ++#: plugins/reposync.py:55 + msgid "download all packages from remote repo" +-msgstr "원격 저장소에서 모든 패키지를 다운로드하십시오." ++msgstr "원격 저장소에서 모든 꾸러미(package)를 내려받아요" + +-#: plugins/reposync.py:63 ++#: plugins/reposync.py:64 + msgid "download only packages for this ARCH" +-msgstr "이 ARCH 용 패키지 만 다운로드하십시오." ++msgstr "이 ARCH용 꾸러미(package)만 내려받아요" + +-#: plugins/reposync.py:65 ++#: plugins/reposync.py:66 + msgid "delete local packages no longer present in repository" +-msgstr "저장소에 더 이상 존재하지 않는 로컬 패키지 삭제" +- +-#: plugins/reposync.py:67 +-msgid "also download and uncompress comps.xml" +-msgstr "" ++msgstr "저장소에 더 이상 존재하지 않는 로컬 꾸러미(package) 삭제" + +-#: plugins/reposync.py:69 ++#: plugins/reposync.py:68 + msgid "download all the metadata." +-msgstr "" ++msgstr "모든 메타데이타 내려받기." + +-#: plugins/reposync.py:71 +-msgid "download only newest packages per-repo" +-msgstr "repo 당 최신 패키지 만 다운로드하십시오." ++#: plugins/reposync.py:70 ++msgid "Remove packages that fail GPG signature checking after downloading" ++msgstr "내려받기 후에 점검한 GPG 서명이 실패한 꾸러미를 제거합니다" + + #: plugins/reposync.py:73 +-msgid "where to store downloaded repositories" +-msgstr "" ++msgid "also download and uncompress comps.xml" ++msgstr "또한 comps.xml 내려받기와 압축 풀기" + + #: plugins/reposync.py:75 +-msgid "Don't add the reponame to the download path." +-msgstr "" +- +-#: plugins/reposync.py:77 + msgid "" + "where to store downloaded repository metadata. Defaults to the value of " + "--download-path." +-msgstr "" ++msgstr "내려받은 저장소 메타데이타를 저장하기 위한 장소. --download-path의 값으로 기본 지정합니다." ++ ++#: plugins/reposync.py:78 ++msgid "download only newest packages per-repo" ++msgstr "저장소 최신 꾸러미(package)만 내려받아요" + + #: plugins/reposync.py:80 +-msgid "operate on source packages" +-msgstr "소스 패키지를 조작한다." ++msgid "Don't add the reponame to the download path." ++msgstr "내려받기 경로에 저장소이름을 추가하지 않습니다." + + #: plugins/reposync.py:82 ++msgid "where to store downloaded repositories" ++msgstr "내려받기 한 저장소를 저장할 위치" ++ ++#: plugins/reposync.py:84 + msgid "try to set local timestamps of local files by the one on the server" +-msgstr "" ++msgstr "서버에 있는 하나에서 로컬파일의 로컬 타임스템프 설정을 시도하세요" ++ ++#: plugins/reposync.py:87 ++msgid "download only source packages" ++msgstr "원천 꾸러미에서만 내려받습니다" + +-#: plugins/reposync.py:85 ++#: plugins/reposync.py:89 + msgid "Just list urls of what would be downloaded, don't download" +-msgstr "" ++msgstr "내려 받을 수 있는 url만 목록화하며, 내려 받지 않습니다" + +-#: plugins/reposync.py:109 ++#: plugins/reposync.py:113 + msgid "Can't use --norepopath with multiple repositories" +-msgstr "" ++msgstr "다중 저장소와 함께 --norepath를 사용 할 수 없습니다" + +-#: plugins/reposync.py:127 ++#: plugins/reposync.py:132 + #, python-format + msgid "Failed to get mirror for metadata: %s" +-msgstr "" ++msgstr "메타데이타에 대한 연결주소 얻기를 실패하였습니다:%s" + +-#: plugins/reposync.py:144 ++#: plugins/reposync.py:149 + msgid "Failed to get mirror for the group file." +-msgstr "" ++msgstr "그룹 파일을 위하여 연결주소 얻기에 실패하였습니다." ++ ++#: plugins/reposync.py:168 ++msgid "Removing {}: {}" ++msgstr "제거하기{}: {}" + + #: plugins/reposync.py:175 ++msgid "GPG signature check failed." ++msgstr "GPG 서명 점검이 실패하였습니다." ++ ++#: plugins/reposync.py:196 + msgid "Download target '{}' is outside of download path '{}'." +-msgstr "" ++msgstr "내려받기 대상 '{}'는 내려받기 경로'{}'의 밖에 있습니다." + +-#: plugins/reposync.py:190 ++#: plugins/reposync.py:211 + #, python-format + msgid "[DELETED] %s" + msgstr "[DELETED] %s" + +-#: plugins/reposync.py:192 ++#: plugins/reposync.py:213 + #, python-format + msgid "failed to delete file %s" + msgstr "파일을 삭제하지 못했습니다. %s" + +-#: plugins/reposync.py:201 ++#: plugins/reposync.py:222 + #, python-format + msgid "comps.xml for repository %s saved" + msgstr "저장소에 대한 comps.xml %s 저장된" + + #: plugins/show_leaves.py:54 + msgid "New leaves:" +-msgstr "새 잎 :" ++msgstr "독립 꾸러미(package):" + +-#: plugins/versionlock.py:32 ++#: plugins/versionlock.py:33 + #, python-format + msgid "Unable to read version lock configuration: %s" + msgstr "버전 잠금 설정을 읽을 수 없습니다 : %s" + +-#: plugins/versionlock.py:33 ++#: plugins/versionlock.py:34 + msgid "Locklist not set" +-msgstr "잠금 목록이 설정되지 않았습니다." ++msgstr "잠금 목록 설정되지 않음" + +-#: plugins/versionlock.py:34 ++#: plugins/versionlock.py:35 + msgid "Adding versionlock on:" +-msgstr "" ++msgstr "버전잠금 설정 추가하기:" + +-#: plugins/versionlock.py:35 ++#: plugins/versionlock.py:36 + msgid "Adding exclude on:" +-msgstr "" ++msgstr "제외 하기 추가하기:" + +-#: plugins/versionlock.py:36 ++#: plugins/versionlock.py:37 + msgid "Package already locked in equivalent form:" +-msgstr "" ++msgstr "꾸러미(package)는 이미 동일한 형태로 잠겨졌습니다:" + +-#: plugins/versionlock.py:37 ++#: plugins/versionlock.py:38 + msgid "Package {} is already locked" +-msgstr "" ++msgstr "꾸러미(package) {} 는 이미 잠겨졌습니다" + +-#: plugins/versionlock.py:38 ++#: plugins/versionlock.py:39 + msgid "Package {} is already excluded" +-msgstr "" ++msgstr "꾸러미(package) {} 는 이미 제외되었습니다" + +-#: plugins/versionlock.py:39 ++#: plugins/versionlock.py:40 + msgid "Deleting versionlock for:" +-msgstr "" ++msgstr "버전 잠금을 제거하기:" + +-#: plugins/versionlock.py:40 ++#: plugins/versionlock.py:41 + msgid "No package found for:" +-msgstr "" ++msgstr "찾고자 하는 꾸러미(package)가 없습니다:" + +-#: plugins/versionlock.py:41 ++#: plugins/versionlock.py:42 + msgid "Excludes from versionlock plugin were not applied" +-msgstr "" ++msgstr "버전 잠금 플러그인에서 제외는 적용되지 않습니다" + +-#: plugins/versionlock.py:42 ++#: plugins/versionlock.py:43 + msgid "Versionlock plugin: number of lock rules from file \"{}\" applied: {}" +-msgstr "" ++msgstr "버전 잠금 플러그인: 적용된 파일 \"{} \"에서 잠금 규칙의 수: {}" + +-#: plugins/versionlock.py:43 ++#: plugins/versionlock.py:44 + msgid "Versionlock plugin: number of exclude rules from file \"{}\" applied: {}" +-msgstr "" ++msgstr "버전 잠금 플러그인: 적용된 파일 \"{} \"에서 제외 규칙의 수: {}" + +-#: plugins/versionlock.py:44 ++#: plugins/versionlock.py:45 + msgid "Versionlock plugin: could not parse pattern:" +-msgstr "" ++msgstr "버전 잠금 플러그인: 유형을 구문 분석 할 수 없습니다:" + +-#: plugins/versionlock.py:130 ++#: plugins/versionlock.py:132 + msgid "control package version locks" +-msgstr "" ++msgstr "꾸러미 버전 잠금을 제어합니다" + +-#: plugins/versionlock.py:136 ++#: plugins/versionlock.py:138 + msgid "Use package specifications as they are, do not try to parse them" +-msgstr "" ++msgstr "꾸러미(package) 사양을 그대로 사용하며, 구문 분석을 시도하지 않습니다" ++ ++#: plugins/versionlock.py:158 ++msgid "Subcommand '{}' is deprecated. Use 'exclude' subcommand instead." ++msgstr "하위명령 '{}'가 더 이상 사용되지 않습니다. 대신에 '예외' 하위명령를 사용합니다." + + #~ msgid "" + #~ "\n" +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 151441d..977b027 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -1,24 +1,26 @@ + # Tommy He , 2015. #zanata + # Tommy He , 2016. #zanata + # mosquito , 2016. #zanata +-# Charles Lee , 2017. #zanata, 2020. ++# Charles Lee , 2017. #zanata, 2020, 2021. + # cheng ye <18969068329@163.com>, 2017. #zanata +-# Ludek Janda , 2018. #zanata ++# Ludek Janda , 2018. #zanata, 2021. + # Hongqiao Chen , 2020. ++# Sundeep Anand , 2021. ++# Qiyu Yan , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-07-09 13:27+0000\n" +-"Last-Translator: Charles Lee \n" +-"Language-Team: Chinese (Simplified) \n" ++"POT-Creation-Date: 2021-09-01 09:17+0200\n" ++"PO-Revision-Date: 2021-09-11 10:04+0000\n" ++"Last-Translator: Ludek Janda \n" ++"Language-Team: Chinese (Simplified) \n" + "Language: zh_CN\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Weblate 4.1.1\n" ++"X-Generator: Weblate 4.8\n" + + #: plugins/builddep.py:45 + msgid "[PACKAGE|PACKAGE.spec]" +@@ -39,7 +41,7 @@ msgstr "定义一个用于处理 Spec 文件的宏" + + #: plugins/builddep.py:95 + msgid "skip build dependencies not available in repositories" +-msgstr "" ++msgstr "跳过存储库中不可用的构建依赖项" + + #: plugins/builddep.py:98 + msgid "treat commandline arguments as spec files" +@@ -51,7 +53,7 @@ msgstr "将命令行参数作为源码 RPM 处理" + + #: plugins/builddep.py:144 + msgid "RPM: {}" +-msgstr "" ++msgstr "RPM软件包: {}" + + #: plugins/builddep.py:153 + msgid "Some packages could not be found." +@@ -87,27 +89,27 @@ msgstr "无匹配软件包: %s" + #: plugins/changelog.py:37 + #, python-brace-format + msgid "Not a valid date: \"{0}\"." +-msgstr "" ++msgstr "无效的日期 : \"{0}\"。" + + #: plugins/changelog.py:43 + msgid "Show changelog data of packages" +-msgstr "" ++msgstr "查看软件包的改变日志数据" + + #: plugins/changelog.py:51 + msgid "" + "show changelog entries since DATE. To avoid ambiguosity, YYYY-MM-DD format " + "is recommended." +-msgstr "" ++msgstr "显示自 DATE 开始的改变日志信息。为了避免混淆,推荐使用 YYYY-MM-DD 格式。" + + #: plugins/changelog.py:55 + msgid "show given number of changelog entries per package" +-msgstr "" ++msgstr "每个软件包显示指定数量的改变日志信息" + + #: plugins/changelog.py:58 + msgid "" + "show only new changelog entries for packages, that provide an upgrade for " + "some of already installed packages." +-msgstr "" ++msgstr "只显示软件包新的改变日志信息,为已安装的软件包提供升级。" + + #: plugins/changelog.py:60 + msgid "PACKAGE" +@@ -120,84 +122,86 @@ msgstr "未找到匹配的参数: %s" + + #: plugins/changelog.py:109 + msgid "Listing changelogs since {}" +-msgstr "" ++msgstr "列出自 {} 后的改变日志信息" + + #: plugins/changelog.py:111 + msgid "Listing only latest changelog" + msgid_plural "Listing {} latest changelogs" +-msgstr[0] "" ++msgstr[0] "只列出最新 {} 项更改日志" + + #: plugins/changelog.py:116 + msgid "Listing only new changelogs since installed version of the package" +-msgstr "" ++msgstr "在列出安装的软件包版本后的新改变日志" + + #: plugins/changelog.py:118 + msgid "Listing all changelogs" +-msgstr "" ++msgstr "列出所有改变日志" + + #: plugins/changelog.py:122 + msgid "Changelogs for {}" + msgstr "{}的变更记录" + +-#: plugins/config_manager.py:37 ++#: plugins/config_manager.py:38 + #, python-brace-format + msgid "manage {prog} configuration options and repositories" +-msgstr "" ++msgstr "管理 {prog} 配置选项和软件仓库" + +-#: plugins/config_manager.py:44 ++#: plugins/config_manager.py:45 + msgid "repo to modify" + msgstr "要修改的仓库" + +-#: plugins/config_manager.py:47 ++#: plugins/config_manager.py:48 + msgid "save the current options (useful with --setopt)" + msgstr "保存当前选项(与 --setopt 和用)" + +-#: plugins/config_manager.py:50 ++#: plugins/config_manager.py:51 + msgid "add (and enable) the repo from the specified file or url" + msgstr "从指定文件或 URL 添加(并启用)仓库" + +-#: plugins/config_manager.py:53 ++#: plugins/config_manager.py:54 + msgid "print current configuration values to stdout" + msgstr "打印当前配置值到标准输出" + +-#: plugins/config_manager.py:56 ++#: plugins/config_manager.py:57 + msgid "print variable values to stdout" + msgstr "打印变量值到标准输出" + +-#: plugins/config_manager.py:60 ++#: plugins/config_manager.py:61 + msgid "enable repos (automatically saves)" +-msgstr "" ++msgstr "启用仓库(自动保存)" + +-#: plugins/config_manager.py:63 ++#: plugins/config_manager.py:64 + msgid "disable repos (automatically saves)" +-msgstr "" ++msgstr "禁用仓库(自动保存)" + +-#: plugins/config_manager.py:77 ++#: plugins/config_manager.py:78 + msgid "one of the following arguments is required: {}" +-msgstr "" ++msgstr "需要以下参数之一:{}" + +-#: plugins/config_manager.py:86 ++#: plugins/config_manager.py:87 + msgid "" + "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " + "manager. Use --set-enabled/--set-disabled instead." + msgstr "" ++"警告:--enablerepo/--disablerepo 参数对于 config manager 没有作用。请使用 --set-" ++"enabled/--set-disabled。" + +-#: plugins/config_manager.py:131 ++#: plugins/config_manager.py:132 + #, python-format + msgid "No matching repo to modify: %s." + msgstr "没有匹配的仓库可以修改:%s 。" + +-#: plugins/config_manager.py:182 ++#: plugins/config_manager.py:183 + #, python-format + msgid "Adding repo from: %s" + msgstr "添加仓库自:%s" + +-#: plugins/config_manager.py:206 ++#: plugins/config_manager.py:207 + msgid "Configuration of repo failed" + msgid_plural "Configuration of repos failed" + msgstr[0] "配置仓库失败" + +-#: plugins/config_manager.py:216 ++#: plugins/config_manager.py:217 + #, python-format + msgid "Could not save repo to repofile %s: %s" + msgstr "无法保存仓库至仓库文件 %s:%s" +@@ -220,7 +224,7 @@ msgstr "否" + + #: plugins/copr.py:79 + msgid "Interact with Copr repositories." +-msgstr "与 Copr 仓库交互" ++msgstr "与 Copr 仓库交互。" + + #: plugins/copr.py:81 + msgid "" +@@ -250,7 +254,7 @@ msgstr "" + " list --available-by-user=NAME\n" + " search project\n" + "\n" +-" Examples:\n" ++" 例如:\n" + " copr enable rhscl/perl516 epel-6-x86_64\n" + " copr enable ignatenkobrain/ocltoys\n" + " copr disable rhscl/perl516\n" +@@ -278,9 +282,9 @@ msgstr "按照用户 NAME 列出可用的 Copr 仓库" + + #: plugins/copr.py:115 + msgid "Specify an instance of Copr to work with" +-msgstr "" ++msgstr "指定需要使用的 Copr 实例" + +-#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 ++#: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:244 + msgid "Error: " + msgstr "错误: " + +@@ -289,24 +293,35 @@ msgid "" + "specify Copr hub either with `--hub` or using " + "`copr_hub/copr_username/copr_projectname` format" + msgstr "" ++"使用 `--hub` 或使用 `copr_hub/copr_username/copr_projectname` 格式指定 Copr hub" + + #: plugins/copr.py:153 + msgid "multiple hubs specified" +-msgstr "" ++msgstr "指定多个 hub" + + #: plugins/copr.py:218 plugins/copr.py:222 + msgid "exactly two additional parameters to copr command are required" + msgstr "Copr 命令要求有且仅有两个额外参数" + +-#: plugins/copr.py:238 ++#: plugins/copr.py:227 ++msgid "Too many arguments." ++msgstr "参数过多。" ++ ++#: plugins/copr.py:230 ++msgid "" ++"Bad format of optional chroot. The format is distribution-version-" ++"architecture." ++msgstr "可选 chroot 的错误格式。格式为 distribution-version-architecture。" ++ ++#: plugins/copr.py:245 + msgid "use format `copr_username/copr_projectname` to reference copr project" + msgstr "使用格式 `copr_username/copr_projectname` 来引用 Copr 项目" + +-#: plugins/copr.py:240 ++#: plugins/copr.py:247 + msgid "bad copr project format" + msgstr "错误的 Copr 项目格式" + +-#: plugins/copr.py:254 ++#: plugins/copr.py:261 + msgid "" + "\n" + "Enabling a Copr repository. Please note that this repository is not part\n" +@@ -320,72 +335,84 @@ msgid "" + "Please do not file bug reports about these packages in Fedora\n" + "Bugzilla. In case of problems, contact the owner of this repository.\n" + msgstr "" ++"\n" ++"启用一个 Copr 仓库。请注意这个仓库\n" ++"不是主发行版本的一部分,质量可能会有所不同。\n" ++"\n" ++"Fedora 项目对其不行使除了于 Copr 常见问题\n" ++"\n" ++"中所提出的规则外的任何权力,并且其软件包不保证达到特定质量\n" ++"和安全水准。\n" ++"\n" ++"请不要在 Fedora Bugzilla 中报告这些软件包中出现的\n" ++"问题。当出现问题时,请联系仓库的所有者。\n" + +-#: plugins/copr.py:271 ++#: plugins/copr.py:278 + msgid "Repository successfully enabled." + msgstr "启用软件仓库成功。" + +-#: plugins/copr.py:276 ++#: plugins/copr.py:283 + msgid "Repository successfully disabled." + msgstr "禁用软件仓库成功。" + +-#: plugins/copr.py:280 ++#: plugins/copr.py:287 + msgid "Repository successfully removed." + msgstr "软件仓库已成功删除。" + +-#: plugins/copr.py:284 plugins/copr.py:693 ++#: plugins/copr.py:291 plugins/copr.py:698 + msgid "Unknown subcommand {}." + msgstr "未知的子命令 {}。" + +-#: plugins/copr.py:341 ++#: plugins/copr.py:348 + msgid "" + "* These coprs have repo file with an old format that contains no information" + " about Copr hub - the default one was assumed. Re-enable the project to fix " + "this." + msgstr "" ++"* 这些 coprs 有使用旧格式的 repo 文件,它们没有包括 Copr hub 的信息 - 假设使用默认值。重新启用项目来解决这个问题。" + +-#: plugins/copr.py:353 ++#: plugins/copr.py:360 + msgid "Can't parse repositories for username '{}'." + msgstr "无法为用户名 username '{}' 解析仓库。" + +-#: plugins/copr.py:356 ++#: plugins/copr.py:363 + msgid "List of {} coprs" + msgstr "{} Coprs 列表" + +-#: plugins/copr.py:364 ++#: plugins/copr.py:371 + msgid "No description given" + msgstr "没有给出描述" + +-#: plugins/copr.py:376 ++#: plugins/copr.py:383 + msgid "Can't parse search for '{}'." + msgstr "无法解析针对 '{}' 的搜索。" + +-#: plugins/copr.py:379 ++#: plugins/copr.py:386 + msgid "Matched: {}" + msgstr "匹配:{}" + +-#: plugins/copr.py:387 ++#: plugins/copr.py:394 + msgid "No description given." + msgstr "没有给出描述。" + +-#: plugins/copr.py:410 ++#: plugins/copr.py:417 + msgid "Safe and good answer. Exiting." + msgstr "安全及明智的答案。退出。" + +-#: plugins/copr.py:417 ++#: plugins/copr.py:424 + msgid "This command has to be run under the root user." +-msgstr "该命令必须以 root 用户运行" ++msgstr "该命令必须以 root 用户运行。" + +-#: plugins/copr.py:481 ++#: plugins/copr.py:486 + msgid "" + "This repository does not have any builds yet so you cannot enable it now." + msgstr "该仓库尚未包含任何构建所以您现在无法启用它。" + +-#: plugins/copr.py:484 ++#: plugins/copr.py:489 + msgid "Such repository does not exist." + msgstr "该软件仓库不存在。" + +-#: plugins/copr.py:528 ++#: plugins/copr.py:533 + #, python-brace-format + msgid "" + "Maintainer of the enabled Copr repository decided to make\n" +@@ -401,47 +428,57 @@ msgid "" + "\n" + "These repositories have been enabled automatically." + msgstr "" ++"启用的 Copr 仓库的维护人员决定\n" ++"它需要依赖于其他仓库。这些仓库\n" ++"通常是必需的,如果需要从主 Copr 仓库\n" ++"(它们会提供运行时依赖软件包)安装 RPM。\n" ++"\n" ++"请注意上面关于质量和程序错误报告的备注\n" ++"也适用于这里,Fedora Project 不控制内容。\n" ++"请检查列表:\n" ++"\n" ++"{0}\n" ++"\n" ++"这些仓库已被自动启用。" + +-#: plugins/copr.py:549 ++#: plugins/copr.py:554 + msgid "Do you want to keep them enabled?" +-msgstr "" ++msgstr "您需要保持它们被启用吗?" + +-#: plugins/copr.py:582 ++#: plugins/copr.py:587 + #, python-brace-format + msgid "Failed to remove copr repo {0}/{1}/{2}" +-msgstr "" ++msgstr "删除 copr 仓库 {0}/{1}/{2} 失败" + +-#: plugins/copr.py:593 ++#: plugins/copr.py:598 + msgid "Failed to disable copr repo {}/{}" + msgstr "无法禁用 Copr 软件仓库 {}/{}" + +-#: plugins/copr.py:611 plugins/copr.py:648 ++#: plugins/copr.py:616 plugins/copr.py:653 + msgid "Unknown response from server." + msgstr "来自服务器的未知响应。" + +-#: plugins/copr.py:633 ++#: plugins/copr.py:638 + msgid "Interact with Playground repository." + msgstr "与 Playground 仓库交互。" + +-#: plugins/copr.py:639 +-#, fuzzy +-#| msgid "Interact with Playground repository." ++#: plugins/copr.py:644 + msgid "Enabling a Playground repository." +-msgstr "与 Playground 仓库交互。" ++msgstr "启用 Playground 仓库。" + +-#: plugins/copr.py:640 ++#: plugins/copr.py:645 + msgid "Do you want to continue?" +-msgstr "" ++msgstr "您希望继续吗?" + +-#: plugins/copr.py:683 ++#: plugins/copr.py:688 + msgid "Playground repositories successfully enabled." + msgstr "启用 Playground 仓库成功。" + +-#: plugins/copr.py:686 ++#: plugins/copr.py:691 + msgid "Playground repositories successfully disabled." + msgstr "禁用 Playground 仓库成功。" + +-#: plugins/copr.py:690 ++#: plugins/copr.py:695 + msgid "Playground repositories successfully updated." + msgstr "更新 Playground 仓库成功。" + +@@ -488,7 +525,7 @@ msgstr "限制到指定类型" + msgid "" + "Allow removing of install-only packages. Using this option may result in an " + "attempt to remove the running kernel." +-msgstr "" ++msgstr "允许删除仅安装(install-only)的软件包。使用这个选项可能会导致尝试删除正在运行的内核。" + + #: plugins/debug.py:202 + msgid "name of dump file" +@@ -497,7 +534,7 @@ msgstr "转储文件名称" + #: plugins/debug.py:273 + #, python-format + msgid "Package %s is not available" +-msgstr "软件包 %s 不可用。" ++msgstr "软件包 %s 不可用" + + #: plugins/debug.py:283 + #, python-format +@@ -512,25 +549,25 @@ msgstr "安装调试信息软件包" + #, python-format + msgid "" + "Could not find debuginfo package for the following available packages: %s" +-msgstr "" ++msgstr "无法为以下可用的软件包找到 debuginfo 软件包: %s" + + #: plugins/debuginfo-install.py:185 + #, python-format + msgid "" + "Could not find debugsource package for the following available packages: %s" +-msgstr "" ++msgstr "无法为以下可用的软件包找到 debugsource 软件包: %s" + + #: plugins/debuginfo-install.py:190 + #, python-format + msgid "" + "Could not find debuginfo package for the following installed packages: %s" +-msgstr "" ++msgstr "无法为以下安装的软件包找到 debuginfo 软件包: %s" + + #: plugins/debuginfo-install.py:195 + #, python-format + msgid "" + "Could not find debugsource package for the following installed packages: %s" +-msgstr "" ++msgstr "无法为以下安装的软件包找到 debugsource 软件包: %s" + + #: plugins/debuginfo-install.py:199 + msgid "Unable to find a match" +@@ -554,11 +591,11 @@ msgstr "取而代之下载 -debuginfo 软件包" + + #: plugins/download.py:57 + msgid "download the -debugsource package instead" +-msgstr "" ++msgstr "取而代之下载 -debugsource 软件包" + + #: plugins/download.py:60 + msgid "limit the query to packages of given architectures." +-msgstr "限定查询指定架构的软件包" ++msgstr "限定查询指定架构的软件包。" + + #: plugins/download.py:62 + msgid "resolve and download needed dependencies" +@@ -568,7 +605,7 @@ msgstr "解析并下载所需的依赖关系" + msgid "" + "when running with --resolve, download all dependencies (do not exclude " + "already installed ones)" +-msgstr "" ++msgstr "当运行时使用 --resolve,下载所有依赖软件包 (不排除已安装的软件包)" + + #: plugins/download.py:67 + msgid "" +@@ -579,7 +616,7 @@ msgstr "打印 rpm 可被下载的 url 列表而不是直接下载" + msgid "when running with --url, limit to specific protocols" + msgstr "当执行时带有 --url 参数,则限制使用指定协议" + +-#: plugins/download.py:121 plugins/reposync.py:293 ++#: plugins/download.py:121 plugins/reposync.py:314 + #, python-format + msgid "Failed to get mirror for package: %s" + msgstr "获取针对以下软件包的镜像失败:%s" +@@ -602,13 +639,127 @@ msgstr "未找到所定义 %s 的源代码软件包 SRPM" + msgid "No package %s available." + msgstr "没有可用的软件包 %s。" + ++#: plugins/groups_manager.py:49 ++msgid "Invalid group id" ++msgstr "无效的组 ID" ++ ++#: plugins/groups_manager.py:58 ++msgid "Invalid translated data, should be in form 'lang:text'" ++msgstr "无效的翻译数据,格式应该是 'lang:text'" ++ ++#: plugins/groups_manager.py:61 ++msgid "Invalid/empty language for translated data" ++msgstr "翻译数据的无效/空语言" ++ ++#: plugins/groups_manager.py:71 ++msgid "Can't generate group id from '{}'. Please specify group id using --id." ++msgstr "无法从 '{}' 生成组 ID。请使用 --id 指定组 ID。" ++ ++#: plugins/groups_manager.py:79 ++msgid "create and edit groups metadata file" ++msgstr "创建并编辑组元数据文件" ++ ++#: plugins/groups_manager.py:90 ++msgid "load groups metadata from file" ++msgstr "从文件加载组元数据" ++ ++#: plugins/groups_manager.py:93 ++msgid "save groups metadata to file" ++msgstr "将组元数据保存到文件中" ++ ++#: plugins/groups_manager.py:95 ++msgid "load and save groups metadata to file" ++msgstr "将组元数据加载并保存到文件中" ++ ++#: plugins/groups_manager.py:97 ++msgid "print the result metadata to stdout" ++msgstr "将结果元数据输出到标准输出" ++ ++#: plugins/groups_manager.py:100 ++msgid "group id" ++msgstr "组 id" ++ ++#: plugins/groups_manager.py:101 ++msgid "group name" ++msgstr "组名称" ++ ++#: plugins/groups_manager.py:103 ++msgid "group description" ++msgstr "组描述" ++ ++#: plugins/groups_manager.py:105 ++msgid "group display order" ++msgstr "组显示顺序" ++ ++#: plugins/groups_manager.py:108 ++msgid "translated name for the group" ++msgstr "组的翻译名称" ++ ++#: plugins/groups_manager.py:111 ++msgid "translated description for the group" ++msgstr "组的翻译描述" ++ ++#: plugins/groups_manager.py:115 ++msgid "make the group user visible (default)" ++msgstr "使组用户可见(默认)" ++ ++#: plugins/groups_manager.py:118 ++msgid "make the group user invisible" ++msgstr "使组用户不可见" ++ ++#: plugins/groups_manager.py:123 ++msgid "add packages to the mandatory section" ++msgstr "在必填部分添加软件包" ++ ++#: plugins/groups_manager.py:125 ++msgid "add packages to the optional section" ++msgstr "在可选部分添加软件包" ++ ++#: plugins/groups_manager.py:127 ++msgid "remove packages from the group instead of adding them" ++msgstr "从组群中删除软件包而不是添加它们" ++ ++#: plugins/groups_manager.py:129 ++msgid "include also direct dependencies for packages" ++msgstr "同时包括软件包的直接依赖软件包" ++ ++#: plugins/groups_manager.py:132 ++msgid "package specification" ++msgstr "软件包规格" ++ ++#: plugins/groups_manager.py:156 ++msgid "Can't edit group without specifying it (use --id or --name)" ++msgstr "没有指定组(使用 --id 或 --name)就无法编辑组" ++ ++#: plugins/groups_manager.py:190 ++msgid "Can't load file \"{}\": {}" ++msgstr "无法加载文件 \"{}\": {}" ++ ++#: plugins/groups_manager.py:206 ++msgid "Can't save file \"{}\": {}" ++msgstr "无法保存文件 \"{}\": {}" ++ ++#: plugins/groups_manager.py:259 ++msgid "No match for argument: {}" ++msgstr "未找到匹配的参数: {}" ++ ++#: plugins/groups_manager.py:296 ++msgid "Can't remove packages from non-existent group" ++msgstr "无法从不存在的组中删除软件包" ++ ++#: plugins/groups_manager.py:305 ++msgid "" ++"Group id '{}' generated from '{}' is duplicit. Please specify group id using" ++" --id." ++msgstr "从 '{}' 生成的组 id '{}' 是显式的。请使用 --id 指定组 ID。" ++ + #: plugins/leaves.py:32 + msgid "List installed packages not required by any other package" + msgstr "列出已安装但不被任何其他软件包所需要的软件包" + + #: plugins/local.py:122 + msgid "Unable to create a directory '{}' due to '{}'" +-msgstr "无法创建目录 '{}' 由于 '{}'" ++msgstr "无法创建目录 '{}' 由于 '{}'" + + #: plugins/local.py:126 + msgid "'{}' is not a directory" +@@ -634,67 +785,71 @@ msgstr "迁移 yum 的历史、分组以及 yumdb 数据至 dnf" + msgid "Migrating history data..." + msgstr "正在迁移历史数据…" + +-#: plugins/needs_restarting.py:65 ++#: plugins/needs_restarting.py:66 + #, python-brace-format + msgid "" + "No installed package found for package name \"{pkg}\" specified in needs-" + "restarting file \"{file}\"." +-msgstr "" ++msgstr "没有为在需要重新启动文件 \"{file}\" 中指定的名为 \"{pkg}\" 的软件包找到安装的软件包。" + +-#: plugins/needs_restarting.py:199 ++#: plugins/needs_restarting.py:220 + msgid "determine updated binaries that need restarting" + msgstr "判断所升级的二进制文件是否需要重启" + +-#: plugins/needs_restarting.py:204 ++#: plugins/needs_restarting.py:225 + msgid "only consider this user's processes" + msgstr "仅考虑当前用户的进程" + +-#: plugins/needs_restarting.py:206 ++#: plugins/needs_restarting.py:227 + msgid "" + "only report whether a reboot is required (exit code 1) or not (exit code 0)" +-msgstr "" ++msgstr "只报告需要重新引导 (退出代码为 1) 或不需要重新引导 (退出代码为 0)" + + #: plugins/needs_restarting.py:230 ++msgid "only report affected systemd services" ++msgstr "只报告受影响的 systemd 服务" ++ ++#: plugins/needs_restarting.py:253 + msgid "Core libraries or services have been updated since boot-up:" +-msgstr "" ++msgstr "在引导后 Core 库或服务已被更新 :" + +-#: plugins/needs_restarting.py:235 ++#: plugins/needs_restarting.py:258 + msgid "Reboot is required to fully utilize these updates." +-msgstr "" ++msgstr "需要重新启动后才可以使这些更新完全生效。" + +-#: plugins/needs_restarting.py:236 ++#: plugins/needs_restarting.py:259 + msgid "More information:" +-msgstr "" ++msgstr "更多信息 :" + +-#: plugins/needs_restarting.py:240 ++#: plugins/needs_restarting.py:263 + msgid "No core libraries or services have been updated since boot-up." +-msgstr "" ++msgstr "在引导后没有 core 库或服务被更新。" + +-#: plugins/needs_restarting.py:242 ++#: plugins/needs_restarting.py:265 + msgid "Reboot should not be necessary." +-msgstr "" ++msgstr "不需要重新启动。" + + #: plugins/post-transaction-actions.py:71 + #, python-format + msgid "Bad Action Line \"%s\": %s" +-msgstr "" ++msgstr "错误的操作行“ %s”: %s" + + #. unsupported state, skip it + #: plugins/post-transaction-actions.py:130 + #, python-format + msgid "Bad Transaction State: %s" +-msgstr "" ++msgstr "错误的事务状态: %s" + +-#: plugins/post-transaction-actions.py:153 +-#: plugins/post-transaction-actions.py:155 ++#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:159 + #, python-format + msgid "post-transaction-actions: %s" +-msgstr "" ++msgstr "事物后的操作: %s" + +-#: plugins/post-transaction-actions.py:157 ++#: plugins/post-transaction-actions.py:161 + #, python-format + msgid "post-transaction-actions: Bad Command \"%s\": %s" +-msgstr "" ++msgstr "事物后的操作 : 无效的命令 \"%s\": %s" + + #: plugins/repoclosure.py:42 + msgid "Display a list of unresolved dependencies for repositories" +@@ -722,129 +877,137 @@ msgstr "仅为该软件包检查依赖闭合性" + + #: plugins/repodiff.py:45 + msgid "List differences between two sets of repositories" +-msgstr "" ++msgstr "列出两组仓库中的不同" + + #: plugins/repodiff.py:58 + msgid "Specify old repository, can be used multiple times" +-msgstr "" ++msgstr "指定旧的仓库,可以使用多次" + + #: plugins/repodiff.py:60 + msgid "Specify new repository, can be used multiple times" +-msgstr "" ++msgstr "指定新的仓库,可以使用多次" + + #: plugins/repodiff.py:63 + msgid "" + "Specify architectures to compare, can be used multiple times. By default, " + "only source rpms are compared." +-msgstr "" ++msgstr "指定要比较的架构,可以使用多次。默认情况下,只比较源 rpms。" + + #: plugins/repodiff.py:67 + msgid "Output additional data about the size of the changes." +-msgstr "" ++msgstr "输出关于改变大小的额外数据。" + + #: plugins/repodiff.py:69 + msgid "" + "Compare packages also by arch. By default packages are compared just by " + "name." +-msgstr "" ++msgstr "同时按架构比较软件包。在默认情况下只按名称比较软件包。" + + #: plugins/repodiff.py:72 + msgid "Output a simple one line message for modified packages." +-msgstr "" ++msgstr "为修改的软件包输出一个简单的单行信息。" + + #: plugins/repodiff.py:74 + msgid "" + "Split the data for modified packages between upgraded and downgraded " + "packages." +-msgstr "" ++msgstr "在升级和降级的软件包间为修改的软件包分隔数据。" + + #: plugins/repodiff.py:86 + msgid "Both old and new repositories must be set." +-msgstr "" ++msgstr "新仓库和旧仓库都需要被设置。" + + #: plugins/repodiff.py:178 + msgid "Size change: {} bytes" +-msgstr "" ++msgstr "大小的变化 : {} 字节" + + #: plugins/repodiff.py:184 + msgid "Added package : {}" +-msgstr "" ++msgstr "添加的软件包 : {}" + + #: plugins/repodiff.py:187 + msgid "Removed package: {}" +-msgstr "" ++msgstr "删除的软件包 : {}" + + #: plugins/repodiff.py:190 + msgid "Obsoleted by : {}" +-msgstr "" ++msgstr "被下述软件包弃用:{}" + + #: plugins/repodiff.py:195 + msgid "" + "\n" + "Upgraded packages" + msgstr "" ++"\n" ++"升级的软件包" + + #: plugins/repodiff.py:200 + msgid "" + "\n" + "Downgraded packages" + msgstr "" ++"\n" ++"降级的软件包" + + #: plugins/repodiff.py:207 + msgid "" + "\n" + "Modified packages" + msgstr "" ++"\n" ++"修改的软件包" + + #: plugins/repodiff.py:212 + msgid "" + "\n" + "Summary" + msgstr "" ++"\n" ++"概述" + + #: plugins/repodiff.py:213 + msgid "Added packages: {}" +-msgstr "" ++msgstr "添加的软件包 : {}" + + #: plugins/repodiff.py:214 + msgid "Removed packages: {}" +-msgstr "" ++msgstr "删除的软件包 : {}" + + #: plugins/repodiff.py:216 + msgid "Upgraded packages: {}" +-msgstr "" ++msgstr "升级的软件包 : {}" + + #: plugins/repodiff.py:217 + msgid "Downgraded packages: {}" +-msgstr "" ++msgstr "降级的软件包 : {}" + + #: plugins/repodiff.py:219 + msgid "Modified packages: {}" +-msgstr "" ++msgstr "修改的软件包 : {}" + + #: plugins/repodiff.py:222 + msgid "Size of added packages: {}" +-msgstr "" ++msgstr "添加的软件包的大小 : {}" + + #: plugins/repodiff.py:223 + msgid "Size of removed packages: {}" +-msgstr "" ++msgstr "删除的软件包的大小 : {}" + + #: plugins/repodiff.py:225 + msgid "Size of modified packages: {}" +-msgstr "" ++msgstr "修改的软件包的大小 : {}" + + #: plugins/repodiff.py:228 + msgid "Size of upgraded packages: {}" +-msgstr "" ++msgstr "升级的软件包的大小 : {}" + + #: plugins/repodiff.py:230 + msgid "Size of downgraded packages: {}" +-msgstr "" ++msgstr "降级的软件包的大小 : {}" + + #: plugins/repodiff.py:232 + msgid "Size change: {}" +-msgstr "" ++msgstr "大小改变 : {}" + + #: plugins/repograph.py:50 + msgid "Output a full package dependency graph in dot format" +@@ -867,108 +1030,120 @@ msgstr "传入 --old 或者 --new,不可同时传入!" + msgid "No files to process" + msgstr "没有可处理的文件" + +-#: plugins/repomanage.py:93 ++#: plugins/repomanage.py:96 + msgid "Could not open {}" + msgstr "无法打开 {}" + +-#: plugins/repomanage.py:177 ++#: plugins/repomanage.py:180 + msgid "Print the older packages" + msgstr "打印较旧的软件包" + +-#: plugins/repomanage.py:179 ++#: plugins/repomanage.py:182 + msgid "Print the newest packages" + msgstr "打印最新的软件包" + +-#: plugins/repomanage.py:181 ++#: plugins/repomanage.py:184 + msgid "Space separated output, not newline" + msgstr "用空格分割输出,而不是新行" + +-#: plugins/repomanage.py:183 ++#: plugins/repomanage.py:186 + msgid "Newest N packages to keep - defaults to 1" + msgstr "要保留的最新的 N 个软件包 - 默认值为 1" + +-#: plugins/repomanage.py:186 ++#: plugins/repomanage.py:189 + msgid "Path to directory" + msgstr "指向目录的路径" + +-#: plugins/reposync.py:54 ++#: plugins/reposync.py:55 + msgid "download all packages from remote repo" + msgstr "下载远程仓库中的全部软件包" + +-#: plugins/reposync.py:63 ++#: plugins/reposync.py:64 + msgid "download only packages for this ARCH" + msgstr "只下载这个 ARCH 的软件包" + +-#: plugins/reposync.py:65 ++#: plugins/reposync.py:66 + msgid "delete local packages no longer present in repository" + msgstr "删除已不在仓库中的本地软件包" + +-#: plugins/reposync.py:67 +-msgid "also download and uncompress comps.xml" +-msgstr "" +- +-#: plugins/reposync.py:69 ++#: plugins/reposync.py:68 + msgid "download all the metadata." +-msgstr "" ++msgstr "下载所有元数据。" + +-#: plugins/reposync.py:71 +-msgid "download only newest packages per-repo" +-msgstr "只下载最新的软件包 per-repo" ++#: plugins/reposync.py:70 ++msgid "Remove packages that fail GPG signature checking after downloading" ++msgstr "下载后删除无法通过 GPG 签名检查的软件包" + + #: plugins/reposync.py:73 +-msgid "where to store downloaded repositories" +-msgstr "" ++msgid "also download and uncompress comps.xml" ++msgstr "同时下载并解压 comps.xml" + + #: plugins/reposync.py:75 +-msgid "Don't add the reponame to the download path." +-msgstr "" +- +-#: plugins/reposync.py:77 + msgid "" + "where to store downloaded repository metadata. Defaults to the value of " + "--download-path." +-msgstr "" ++msgstr "存储下载的仓库元数据的位置。默认为 --download-path 的值。" ++ ++#: plugins/reposync.py:78 ++msgid "download only newest packages per-repo" ++msgstr "只下载最新的软件包 per-repo" + + #: plugins/reposync.py:80 +-msgid "operate on source packages" +-msgstr "在源软件包中操作" ++msgid "Don't add the reponame to the download path." ++msgstr "不要在下载路径中添加仓库名(reponame)。" + + #: plugins/reposync.py:82 ++msgid "where to store downloaded repositories" ++msgstr "在何处存储已下载的仓库" ++ ++#: plugins/reposync.py:84 + msgid "try to set local timestamps of local files by the one on the server" +-msgstr "" ++msgstr "根据服务器上的文件设置本地文件的本地时间戳" ++ ++#: plugins/reposync.py:87 ++msgid "download only source packages" ++msgstr "只下载源软件包" + +-#: plugins/reposync.py:85 ++#: plugins/reposync.py:89 + msgid "Just list urls of what would be downloaded, don't download" +-msgstr "" ++msgstr "只列出要下载内容的 url,不实际下载" + +-#: plugins/reposync.py:109 ++#: plugins/reposync.py:113 + msgid "Can't use --norepopath with multiple repositories" +-msgstr "" ++msgstr "不能将 --norepopath 与多个仓库一起使用" + +-#: plugins/reposync.py:127 ++#: plugins/reposync.py:132 + #, python-format + msgid "Failed to get mirror for metadata: %s" +-msgstr "" ++msgstr "获取元数据镜像失败:%s" + +-#: plugins/reposync.py:144 ++#: plugins/reposync.py:149 + msgid "Failed to get mirror for the group file." +-msgstr "" ++msgstr "获取组文件镜像失败。" ++ ++#: plugins/reposync.py:168 ++msgid "Removing {}: {}" ++msgstr "正在删除 {}: {}" + + #: plugins/reposync.py:175 ++msgid "GPG signature check failed." ++msgstr "GPG 签名检查失败。" ++ ++#: plugins/reposync.py:196 + msgid "Download target '{}' is outside of download path '{}'." +-msgstr "" ++msgstr "下载的目标 '{}' 在下载路径 '{}' 以外。" + +-#: plugins/reposync.py:190 ++#: plugins/reposync.py:211 + #, python-format + msgid "[DELETED] %s" + msgstr "[DELETED] %s" + +-#: plugins/reposync.py:192 ++#: plugins/reposync.py:213 + #, python-format + msgid "failed to delete file %s" + msgstr "无法删除文件 %s" + +-#: plugins/reposync.py:201 ++#: plugins/reposync.py:222 + #, python-format + msgid "comps.xml for repository %s saved" + msgstr "仓库 %s 的 comps.xml 已保存" +@@ -977,66 +1152,70 @@ msgstr "仓库 %s 的 comps.xml 已保存" + msgid "New leaves:" + msgstr "新增保留项:" + +-#: plugins/versionlock.py:32 ++#: plugins/versionlock.py:33 + #, python-format + msgid "Unable to read version lock configuration: %s" + msgstr "无法读取版本锁配置: %s" + +-#: plugins/versionlock.py:33 ++#: plugins/versionlock.py:34 + msgid "Locklist not set" + msgstr "锁列表未设置" + +-#: plugins/versionlock.py:34 ++#: plugins/versionlock.py:35 + msgid "Adding versionlock on:" + msgstr "正在添加版本锁:" + +-#: plugins/versionlock.py:35 ++#: plugins/versionlock.py:36 + msgid "Adding exclude on:" + msgstr "正在添加排除:" + +-#: plugins/versionlock.py:36 ++#: plugins/versionlock.py:37 + msgid "Package already locked in equivalent form:" +-msgstr "" ++msgstr "软件包已使用等同的格式锁定:" + +-#: plugins/versionlock.py:37 ++#: plugins/versionlock.py:38 + msgid "Package {} is already locked" +-msgstr "" ++msgstr "软件包 {} 已被锁定" + +-#: plugins/versionlock.py:38 ++#: plugins/versionlock.py:39 + msgid "Package {} is already excluded" +-msgstr "" ++msgstr "软件包 {} 已被排除" + +-#: plugins/versionlock.py:39 ++#: plugins/versionlock.py:40 + msgid "Deleting versionlock for:" + msgstr "正在删除版本锁:" + +-#: plugins/versionlock.py:40 ++#: plugins/versionlock.py:41 + msgid "No package found for:" + msgstr "未找到软件包:" + +-#: plugins/versionlock.py:41 ++#: plugins/versionlock.py:42 + msgid "Excludes from versionlock plugin were not applied" + msgstr "从 versionlock 插件中排除的没有被应用" + +-#: plugins/versionlock.py:42 ++#: plugins/versionlock.py:43 + msgid "Versionlock plugin: number of lock rules from file \"{}\" applied: {}" + msgstr "Versionlock 插件: 文件 \"{}\" 中的锁定数量规则被应用:{}" + +-#: plugins/versionlock.py:43 ++#: plugins/versionlock.py:44 + msgid "Versionlock plugin: number of exclude rules from file \"{}\" applied: {}" + msgstr "Versionlock 插件: 文件 \"{}\" 中的排除规则数量被应用:{}" + +-#: plugins/versionlock.py:44 ++#: plugins/versionlock.py:45 + msgid "Versionlock plugin: could not parse pattern:" + msgstr "Versionlock 插件:不能解析特征:" + +-#: plugins/versionlock.py:130 ++#: plugins/versionlock.py:132 + msgid "control package version locks" + msgstr "控制软件包版本锁" + +-#: plugins/versionlock.py:136 ++#: plugins/versionlock.py:138 + msgid "Use package specifications as they are, do not try to parse them" +-msgstr "" ++msgstr "按原样使用程序包规格,请勿尝试解析它们" ++ ++#: plugins/versionlock.py:158 ++msgid "Subcommand '{}' is deprecated. Use 'exclude' subcommand instead." ++msgstr "子命令 '{}' 已被弃用。改为使用 'exclude' 子命令。" + + #~ msgid "" + #~ "\n" +-- +2.31.1 + diff --git a/SPECS/dnf-plugins-core.spec b/SPECS/dnf-plugins-core.spec new file mode 100644 index 0000000..5224131 --- /dev/null +++ b/SPECS/dnf-plugins-core.spec @@ -0,0 +1,1579 @@ +%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.2.22} +%global dnf_plugins_extra 2.0.0 +%global hawkey_version 0.46.1 +%global yum_utils_subpackage_name dnf-utils +%if 0%{?rhel} > 7 +%global yum_utils_subpackage_name yum-utils +%endif + +%define __cmake_in_source_build 1 + +%if 0%{?rhel} && 0%{?rhel} <= 7 +%bcond_with python3 +%else +%bcond_without python3 +%endif + +%if 0%{?rhel} > 7 || 0%{?fedora} > 29 +%bcond_with python2 +%else +%bcond_without python2 +%endif + +%if 0%{?rhel} > 7 || 0%{?fedora} > 30 +%bcond_without yumcompatibility +%else +%bcond_with yumcompatibility +%endif + +%if 0%{?rhel} && 0%{?rhel} <= 7 +%bcond_with yumutils +%else +%bcond_without yumutils +%endif + +Name: dnf-plugins-core +Version: 4.0.21 +Release: 3%{?dist} +Summary: Core Plugins for DNF +License: GPLv2+ +URL: https://github.com/rpm-software-management/dnf-plugins-core +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +Patch1: 0001-Update-translations.patch +BuildArch: noarch +BuildRequires: cmake +BuildRequires: gettext +# Documentation +%if %{with python3} +BuildRequires: %{_bindir}/sphinx-build-3 +Requires: python3-%{name} = %{version}-%{release} +%else +BuildRequires: %{_bindir}/sphinx-build +Requires: python2-%{name} = %{version}-%{release} +%endif +Provides: dnf-command(builddep) +Provides: dnf-command(changelog) +Provides: dnf-command(config-manager) +Provides: dnf-command(copr) +Provides: dnf-command(debug-dump) +Provides: dnf-command(debug-restore) +Provides: dnf-command(debuginfo-install) +Provides: dnf-command(download) +Provides: dnf-command(groups-manager) +Provides: dnf-command(repoclosure) +Provides: dnf-command(repograph) +Provides: dnf-command(repomanage) +Provides: dnf-command(reposync) +Provides: dnf-command(repodiff) +Provides: dnf-plugins-extras-debug = %{version}-%{release} +Provides: dnf-plugins-extras-repoclosure = %{version}-%{release} +Provides: dnf-plugins-extras-repograph = %{version}-%{release} +Provides: dnf-plugins-extras-repomanage = %{version}-%{release} +Provides: dnf-plugin-builddep = %{version}-%{release} +Provides: dnf-plugin-config-manager = %{version}-%{release} +Provides: dnf-plugin-debuginfo-install = %{version}-%{release} +Provides: dnf-plugin-download = %{version}-%{release} +Provides: dnf-plugin-generate_completion_cache = %{version}-%{release} +Provides: dnf-plugin-needs_restarting = %{version}-%{release} +Provides: dnf-plugin-groups-manager = %{version}-%{release} +Provides: dnf-plugin-repoclosure = %{version}-%{release} +Provides: dnf-plugin-repodiff = %{version}-%{release} +Provides: dnf-plugin-repograph = %{version}-%{release} +Provides: dnf-plugin-repomanage = %{version}-%{release} +Provides: dnf-plugin-reposync = %{version}-%{release} +%if %{with yumcompatibility} +Provides: yum-plugin-copr = %{version}-%{release} +Provides: yum-plugin-changelog = %{version}-%{release} +Provides: yum-plugin-auto-update-debug-info = %{version}-%{release} +%endif +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} + +%description +Core Plugins for DNF. This package enhances DNF with builddep, config-manager, +copr, debug, debuginfo-install, download, needs-restarting, groups-manager, repoclosure, +repograph, repomanage, reposync, changelog and repodiff commands. Additionally +provides generate_completion_cache passive plugin. + +%if %{with python2} +%package -n python2-%{name} +Summary: Core Plugins for DNF +%{?python_provide:%python_provide python2-%{name}} +BuildRequires: python2-dnf >= %{dnf_lowest_compatible} +%if 0%{?rhel} && 0%{?rhel} <= 7 +BuildRequires: dbus-python +%else +BuildRequires: python2-dbus +%endif +BuildRequires: python2-devel +%if 0%{?fedora} +Requires: python2-distro +%endif +Requires: python2-dnf >= %{dnf_lowest_compatible} +Requires: python2-hawkey >= %{hawkey_version} +%if 0%{?rhel} && 0%{?rhel} <= 7 +Requires: dbus-python +Requires: python-dateutil +%else +Requires: python2-dbus +Requires: python2-dateutil +%endif +Provides: python2-dnf-plugins-extras-debug = %{version}-%{release} +Provides: python2-dnf-plugins-extras-repoclosure = %{version}-%{release} +Provides: python2-dnf-plugins-extras-repograph = %{version}-%{release} +Provides: python2-dnf-plugins-extras-repomanage = %{version}-%{release} +Obsoletes: python2-dnf-plugins-extras-debug < %{dnf_plugins_extra} +Obsoletes: python2-dnf-plugins-extras-repoclosure < %{dnf_plugins_extra} +Obsoletes: python2-dnf-plugins-extras-repograph < %{dnf_plugins_extra} +Obsoletes: python2-dnf-plugins-extras-repomanage < %{dnf_plugins_extra} + +Conflicts: %{name} <= 0.1.5 +# let the both python plugin versions be updated simultaneously +Conflicts: python3-%{name} < %{version}-%{release} +Conflicts: python-%{name} < %{version}-%{release} + +%description -n python2-%{name} +Core Plugins for DNF, Python 2 interface. This package enhances DNF with builddep, +config-manager, copr, degug, debuginfo-install, download, needs-restarting, +groups-manager, repoclosure, repograph, repomanage, reposync, changelog +and repodiff commands. +Additionally provides generate_completion_cache passive plugin. +%endif + +%if %{with python3} +%package -n python3-%{name} +Summary: Core Plugins for DNF +%{?python_provide:%python_provide python3-%{name}} +BuildRequires: python3-dbus +BuildRequires: python3-devel +BuildRequires: python3-dnf >= %{dnf_lowest_compatible} +BuildRequires: make +%if 0%{?fedora} +Requires: python3-distro +%endif +Requires: python3-dbus +Requires: python3-dnf >= %{dnf_lowest_compatible} +Requires: python3-hawkey >= %{hawkey_version} +Requires: python3-dateutil +Provides: python3-dnf-plugins-extras-debug = %{version}-%{release} +Provides: python3-dnf-plugins-extras-repoclosure = %{version}-%{release} +Provides: python3-dnf-plugins-extras-repograph = %{version}-%{release} +Provides: python3-dnf-plugins-extras-repomanage = %{version}-%{release} +Obsoletes: python3-dnf-plugins-extras-debug < %{dnf_plugins_extra} +Obsoletes: python3-dnf-plugins-extras-repoclosure < %{dnf_plugins_extra} +Obsoletes: python3-dnf-plugins-extras-repograph < %{dnf_plugins_extra} +Obsoletes: python3-dnf-plugins-extras-repomanage < %{dnf_plugins_extra} + +Conflicts: %{name} <= 0.1.5 +# let the both python plugin versions be updated simultaneously +Conflicts: python2-%{name} < %{version}-%{release} +Conflicts: python-%{name} < %{version}-%{release} + +%description -n python3-%{name} +Core Plugins for DNF, Python 3 interface. This package enhances DNF with builddep, +config-manager, copr, debug, debuginfo-install, download, needs-restarting, +groups-manager, repoclosure, repograph, repomanage, reposync, changelog +and repodiff commands. +Additionally provides generate_completion_cache passive plugin. +%endif + +%if %{with yumutils} +%package -n %{yum_utils_subpackage_name} +%if "%{yum_utils_subpackage_name}" == "dnf-utils" +Conflicts: yum-utils < 1.1.31-520 +%if 0%{?rhel} != 7 +Provides: yum-utils = %{version}-%{release} +%endif +%else +Provides: dnf-utils = %{version}-%{release} +Obsoletes: dnf-utils < %{version}-%{release} +%endif +Requires: dnf >= %{dnf_lowest_compatible} +Requires: %{name} = %{version}-%{release} +%if %{with python3} +Requires: python3-dnf >= %{dnf_lowest_compatible} +%else +Requires: python2-dnf >= %{dnf_lowest_compatible} +%endif +Summary: Yum-utils CLI compatibility layer + +%description -n %{yum_utils_subpackage_name} +As a Yum-utils CLI compatibility layer, supplies in CLI shims for +debuginfo-install, repograph, package-cleanup, repoclosure, repomanage, +repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug, +download and yum-groups-manager that use new implementations using DNF. +%endif + +%if 0%{?rhel} == 0 && %{with python2} +%package -n python2-dnf-plugin-leaves +Summary: Leaves Plugin for DNF +Requires: python2-%{name} = %{version}-%{release} +Provides: python2-dnf-plugins-extras-leaves = %{version}-%{release} +%if !%{with python3} +Provides: dnf-command(leaves) +Provides: dnf-plugin-leaves = %{version}-%{release} +Provides: dnf-plugins-extras-leaves = %{version}-%{release} +%endif +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python3-dnf-plugin-leaves < %{version}-%{release} +Obsoletes: python2-dnf-plugins-extras-leaves < %{dnf_plugins_extra} + +%description -n python2-dnf-plugin-leaves +Leaves Plugin for DNF, Python 2 version. List all installed packages +not required by any other installed package. +%endif + +%if 0%{?rhel} == 0 && %{with python3} +%package -n python3-dnf-plugin-leaves +Summary: Leaves Plugin for DNF +Requires: python3-%{name} = %{version}-%{release} +Provides: python3-dnf-plugins-extras-leaves = %{version}-%{release} +Provides: dnf-command(leaves) +Provides: dnf-plugin-leaves = %{version}-%{release} +Provides: dnf-plugins-extras-leaves = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python2-dnf-plugin-leaves < %{version}-%{release} +Obsoletes: python3-dnf-plugins-extras-leaves < %{dnf_plugins_extra} + +%description -n python3-dnf-plugin-leaves +Leaves Plugin for DNF, Python 3 version. List all installed packages +not required by any other installed package. +%endif + +%if 0%{?rhel} == 0 && %{with python2} +%package -n python2-dnf-plugin-local +Summary: Local Plugin for DNF +Requires: %{_bindir}/createrepo_c +Requires: python2-%{name} = %{version}-%{release} +%if !%{with python3} +Provides: dnf-plugin-local = %{version}-%{release} +Provides: dnf-plugins-extras-local = %{version}-%{release} +%endif +Provides: python2-dnf-plugins-extras-local = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python3-dnf-plugin-local < %{version}-%{release} +Obsoletes: python2-dnf-plugins-extras-local < %{dnf_plugins_extra} + +%description -n python2-dnf-plugin-local +Local Plugin for DNF, Python 2 version. Automatically copy all downloaded packages to a +repository on the local filesystem and generating repo metadata. +%endif + +%if %{with python3} && 0%{?rhel} == 0 +%package -n python3-dnf-plugin-local +Summary: Local Plugin for DNF +Requires: %{_bindir}/createrepo_c +Requires: python3-%{name} = %{version}-%{release} +Provides: dnf-plugin-local = %{version}-%{release} +Provides: python3-dnf-plugins-extras-local = %{version}-%{release} +Provides: dnf-plugins-extras-local = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python2-dnf-plugin-local < %{version}-%{release} +Obsoletes: python3-dnf-plugins-extras-local < %{dnf_plugins_extra} + +%description -n python3-dnf-plugin-local +Local Plugin for DNF, Python 3 version. Automatically copy all downloaded +packages to a repository on the local filesystem and generating repo metadata. +%endif + +%if %{with python2} +%package -n python2-dnf-plugin-migrate +Summary: Migrate Plugin for DNF +Requires: python2-%{name} = %{version}-%{release} +Requires: yum +Provides: dnf-plugin-migrate = %{version}-%{release} +Provides: python2-dnf-plugins-extras-migrate = %{version}-%{release} +Provides: dnf-command(migrate) +Provides: dnf-plugins-extras-migrate = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Obsoletes: python2-dnf-plugins-extras-migrate < %{dnf_plugins_extra} +Obsoletes: python-dnf-plugins-extras-migrate < %{dnf_plugins_extra} + +%description -n python2-dnf-plugin-migrate +Migrate Plugin for DNF, Python 2 version. Migrates history, group and yumdb data from yum to dnf. +%endif + +%if %{with python2} +%package -n python2-dnf-plugin-post-transaction-actions +Summary: Post transaction actions Plugin for DNF +Requires: python2-%{name} = %{version}-%{release} +%if !%{with python3} +Provides: dnf-plugin-post-transaction-actions = %{version}-%{release} +%endif +Conflicts: python3-dnf-plugin-post-transaction-actions < %{version}-%{release} + +%description -n python2-dnf-plugin-post-transaction-actions +Post transaction actions Plugin for DNF, Python 2 version. Plugin runs actions +(shell commands) after transaction is completed. Actions are defined in action +files. +%endif + +%if %{with python3} +%package -n python3-dnf-plugin-post-transaction-actions +Summary: Post transaction actions Plugin for DNF +Requires: python3-%{name} = %{version}-%{release} +Provides: dnf-plugin-post-transaction-actions = %{version}-%{release} +Conflicts: python2-dnf-plugin-post-transaction-actions < %{version}-%{release} + +%description -n python3-dnf-plugin-post-transaction-actions +Post transaction actions Plugin for DNF, Python 3 version. Plugin runs actions +(shell commands) after transaction is completed. Actions are defined in action +files. +%endif + +%if 0%{?rhel} == 0 && %{with python2} +%package -n python2-dnf-plugin-show-leaves +Summary: Leaves Plugin for DNF +Requires: python2-%{name} = %{version}-%{release} +Requires: python2-dnf-plugin-leaves = %{version}-%{release} +%if !%{with python3} +Provides: dnf-plugin-show-leaves = %{version}-%{release} +Provides: dnf-command(show-leaves) +Provides: dnf-plugins-extras-show-leaves = %{version}-%{release} +%endif +Provides: python2-dnf-plugins-extras-show-leaves = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python3-dnf-plugin-show-leaves < %{version}-%{release} +Obsoletes: python2-dnf-plugins-extras-show-leaves < %{dnf_plugins_extra} + +%description -n python2-dnf-plugin-show-leaves +Show-leaves Plugin for DNF, Python 2 version. List all installed +packages that are no longer required by any other installed package +after a transaction. +%endif + +%if 0%{?rhel} == 0 && %{with python3} +%package -n python3-dnf-plugin-show-leaves +Summary: Show-leaves Plugin for DNF +Requires: python3-%{name} = %{version}-%{release} +Requires: python3-dnf-plugin-leaves = %{version}-%{release} +Provides: dnf-plugin-show-leaves = %{version}-%{release} +Provides: python3-dnf-plugins-extras-show-leaves = %{version}-%{release} +Provides: dnf-command(show-leaves) +Provides: dnf-plugins-extras-show-leaves = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python2-dnf-plugin-show-leaves < %{version}-%{release} +Obsoletes: python3-dnf-plugins-extras-show-leaves < %{dnf_plugins_extra} + +%description -n python3-dnf-plugin-show-leaves +Show-leaves Plugin for DNF, Python 3 version. List all installed +packages that are no longer required by any other installed package +after a transaction. +%endif + +%if %{with python2} +%package -n python2-dnf-plugin-versionlock +Summary: Version Lock Plugin for DNF +Requires: python2-%{name} = %{version}-%{release} +%if !%{with python3} +Provides: dnf-plugin-versionlock = %{version}-%{release} +Provides: dnf-command(versionlock) +Provides: dnf-plugins-extras-versionlock = %{version}-%{release} +%if %{with yumcompatibility} +Provides: yum-plugin-versionlock = %{version}-%{release} +%endif +%endif +Provides: python2-dnf-plugins-extras-versionlock = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python3-dnf-plugin-versionlock < %{version}-%{release} +Obsoletes: python2-dnf-plugins-extras-versionlock < %{dnf_plugins_extra} + +%description -n python2-dnf-plugin-versionlock +Version lock plugin takes a set of name/versions for packages and excludes all other +versions of those packages. This allows you to e.g. protect packages from being +updated by newer versions. +%endif + +%if %{with python3} +%package -n python3-dnf-plugin-versionlock +Summary: Version Lock Plugin for DNF +Requires: python3-%{name} = %{version}-%{release} +Provides: dnf-plugin-versionlock = %{version}-%{release} +Provides: python3-dnf-plugins-extras-versionlock = %{version}-%{release} +Provides: dnf-command(versionlock) +%if %{with yumcompatibility} +Provides: yum-plugin-versionlock = %{version}-%{release} +%endif +Provides: dnf-plugins-extras-versionlock = %{version}-%{release} +Conflicts: dnf-plugins-extras-common-data < %{dnf_plugins_extra} +Conflicts: python2-dnf-plugin-versionlock < %{version}-%{release} +Obsoletes: python3-dnf-plugins-extras-versionlock < %{dnf_plugins_extra} + +%description -n python3-dnf-plugin-versionlock +Version lock plugin takes a set of name/versions for packages and excludes all other +versions of those packages. This allows you to e.g. protect packages from being +updated by newer versions. +%endif + +%prep +%autosetup -p1 +%if %{with python2} +mkdir build-py2 +%endif +%if %{with python3} +mkdir build-py3 +%endif + +%build +%if %{with python2} +pushd build-py2 + %cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python2} -DWITHOUT_LOCAL:str=0%{?rhel} + %make_build + make doc-man +popd +%endif +%if %{with python3} +pushd build-py3 + %cmake ../ -DPYTHON_DESIRED:FILEPATH=%{__python3} -DWITHOUT_LOCAL:str=0%{?rhel} + %make_build + make doc-man +popd +%endif + +%install +%if %{with python2} +pushd build-py2 + %make_install +popd +%endif +%if %{with python3} +pushd build-py3 + %make_install +popd +%endif +%find_lang %{name} +%if %{with yumutils} + %if %{with python3} + mv %{buildroot}%{_libexecdir}/dnf-utils-3 %{buildroot}%{_libexecdir}/dnf-utils + %else + mv %{buildroot}%{_libexecdir}/dnf-utils-2 %{buildroot}%{_libexecdir}/dnf-utils + %endif +%endif +rm -vf %{buildroot}%{_libexecdir}/dnf-utils-* + +%if %{with yumutils} +mkdir -p %{buildroot}%{_bindir} +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/debuginfo-install +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/needs-restarting +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/find-repos-of-install +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repo-graph +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/package-cleanup +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoclosure +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repodiff +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repomanage +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repoquery +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/reposync +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/repotrack +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-builddep +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-config-manager +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-dump +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-debug-restore +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yum-groups-manager +ln -sf %{_libexecdir}/dnf-utils %{buildroot}%{_bindir}/yumdownloader +# These commands don't have a dedicated man page, so let's just point them +# to the utils page which contains their descriptions. +ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/find-repos-of-install.1.gz +ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repoquery.1.gz +ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/man1/repotrack.1.gz +%endif + +%check +%if %{with python2} + pushd build-py2 + ctest -VV + popd +%endif +%if %{with python3} + pushd build-py3 + ctest -VV + popd +%endif + +%files +%{_mandir}/man8/dnf-builddep.* +%{_mandir}/man8/dnf-changelog.* +%{_mandir}/man8/dnf-config-manager.* +%{_mandir}/man8/dnf-copr.* +%{_mandir}/man8/dnf-debug.* +%{_mandir}/man8/dnf-debuginfo-install.* +%{_mandir}/man8/dnf-download.* +%{_mandir}/man8/dnf-generate_completion_cache.* +%{_mandir}/man8/dnf-groups-manager.* +%{_mandir}/man8/dnf-needs-restarting.* +%{_mandir}/man8/dnf-repoclosure.* +%{_mandir}/man8/dnf-repodiff.* +%{_mandir}/man8/dnf-repograph.* +%{_mandir}/man8/dnf-repomanage.* +%{_mandir}/man8/dnf-reposync.* +%if %{with yumcompatibility} +%{_mandir}/man1/yum-changelog.* +%{_mandir}/man8/yum-copr.* +%else +%exclude %{_mandir}/man1/yum-changelog.* +%exclude %{_mandir}/man8/yum-copr.* +%endif + +%if %{with python2} +%files -n python2-%{name} -f %{name}.lang +%license COPYING +%doc AUTHORS README.rst +%ghost %attr(644,-,-) %{_var}/cache/dnf/packages.db +%config(noreplace) %{_sysconfdir}/dnf/plugins/copr.conf +%config(noreplace) %{_sysconfdir}/dnf/plugins/copr.d +%config(noreplace) %{_sysconfdir}/dnf/plugins/debuginfo-install.conf +%{python2_sitelib}/dnf-plugins/builddep.* +%{python2_sitelib}/dnf-plugins/changelog.* +%{python2_sitelib}/dnf-plugins/config_manager.* +%{python2_sitelib}/dnf-plugins/copr.* +%{python2_sitelib}/dnf-plugins/debug.* +%{python2_sitelib}/dnf-plugins/debuginfo-install.* +%{python2_sitelib}/dnf-plugins/download.* +%{python2_sitelib}/dnf-plugins/generate_completion_cache.* +%{python2_sitelib}/dnf-plugins/groups_manager.* +%{python2_sitelib}/dnf-plugins/needs_restarting.* +%{python2_sitelib}/dnf-plugins/repoclosure.* +%{python2_sitelib}/dnf-plugins/repodiff.* +%{python2_sitelib}/dnf-plugins/repograph.* +%{python2_sitelib}/dnf-plugins/repomanage.* +%{python2_sitelib}/dnf-plugins/reposync.* +%{python2_sitelib}/dnfpluginscore/ +%endif + +%if %{with python3} +%files -n python3-%{name} -f %{name}.lang +%license COPYING +%doc AUTHORS README.rst +%ghost %attr(644,-,-) %{_var}/cache/dnf/packages.db +%config(noreplace) %{_sysconfdir}/dnf/plugins/copr.conf +%config(noreplace) %{_sysconfdir}/dnf/plugins/copr.d +%config(noreplace) %{_sysconfdir}/dnf/plugins/debuginfo-install.conf +%{python3_sitelib}/dnf-plugins/builddep.py +%{python3_sitelib}/dnf-plugins/changelog.py +%{python3_sitelib}/dnf-plugins/config_manager.py +%{python3_sitelib}/dnf-plugins/copr.py +%{python3_sitelib}/dnf-plugins/debug.py +%{python3_sitelib}/dnf-plugins/debuginfo-install.py +%{python3_sitelib}/dnf-plugins/download.py +%{python3_sitelib}/dnf-plugins/generate_completion_cache.py +%{python3_sitelib}/dnf-plugins/groups_manager.py +%{python3_sitelib}/dnf-plugins/needs_restarting.py +%{python3_sitelib}/dnf-plugins/repoclosure.py +%{python3_sitelib}/dnf-plugins/repodiff.py +%{python3_sitelib}/dnf-plugins/repograph.py +%{python3_sitelib}/dnf-plugins/repomanage.py +%{python3_sitelib}/dnf-plugins/reposync.py +%{python3_sitelib}/dnf-plugins/__pycache__/builddep.* +%{python3_sitelib}/dnf-plugins/__pycache__/changelog.* +%{python3_sitelib}/dnf-plugins/__pycache__/config_manager.* +%{python3_sitelib}/dnf-plugins/__pycache__/copr.* +%{python3_sitelib}/dnf-plugins/__pycache__/debug.* +%{python3_sitelib}/dnf-plugins/__pycache__/debuginfo-install.* +%{python3_sitelib}/dnf-plugins/__pycache__/download.* +%{python3_sitelib}/dnf-plugins/__pycache__/generate_completion_cache.* +%{python3_sitelib}/dnf-plugins/__pycache__/groups_manager.* +%{python3_sitelib}/dnf-plugins/__pycache__/needs_restarting.* +%{python3_sitelib}/dnf-plugins/__pycache__/repoclosure.* +%{python3_sitelib}/dnf-plugins/__pycache__/repodiff.* +%{python3_sitelib}/dnf-plugins/__pycache__/repograph.* +%{python3_sitelib}/dnf-plugins/__pycache__/repomanage.* +%{python3_sitelib}/dnf-plugins/__pycache__/reposync.* +%{python3_sitelib}/dnfpluginscore/ +%endif + +%if %{with yumutils} +%files -n %{yum_utils_subpackage_name} +%{_libexecdir}/dnf-utils +%{_bindir}/debuginfo-install +%{_bindir}/needs-restarting +%{_bindir}/find-repos-of-install +%{_bindir}/package-cleanup +%{_bindir}/repo-graph +%{_bindir}/repoclosure +%{_bindir}/repodiff +%{_bindir}/repomanage +%{_bindir}/repoquery +%{_bindir}/reposync +%{_bindir}/repotrack +%{_bindir}/yum-builddep +%{_bindir}/yum-config-manager +%{_bindir}/yum-debug-dump +%{_bindir}/yum-debug-restore +%{_bindir}/yum-groups-manager +%{_bindir}/yumdownloader +%{_mandir}/man1/debuginfo-install.* +%{_mandir}/man1/needs-restarting.* +%{_mandir}/man1/repo-graph.* +%{_mandir}/man1/repoclosure.* +%{_mandir}/man1/repodiff.* +%{_mandir}/man1/repomanage.* +%{_mandir}/man1/reposync.* +%{_mandir}/man1/yum-builddep.* +%{_mandir}/man1/yum-config-manager.* +%{_mandir}/man1/yum-debug-dump.* +%{_mandir}/man1/yum-debug-restore.* +%{_mandir}/man1/yum-groups-manager.* +%{_mandir}/man1/yumdownloader.* +%{_mandir}/man1/package-cleanup.* +%{_mandir}/man1/dnf-utils.* +%{_mandir}/man1/yum-utils.* +# These are only built with yumutils bcond. +%{_mandir}/man1/find-repos-of-install.* +%{_mandir}/man1/repoquery.* +%{_mandir}/man1/repotrack.* +%else +# These are built regardless of yumutils bcond so we need to exclude them. +%exclude %{_mandir}/man1/debuginfo-install.* +%exclude %{_mandir}/man1/needs-restarting.* +%exclude %{_mandir}/man1/repo-graph.* +%exclude %{_mandir}/man1/repoclosure.* +%exclude %{_mandir}/man1/repodiff.* +%exclude %{_mandir}/man1/repomanage.* +%exclude %{_mandir}/man1/reposync.* +%exclude %{_mandir}/man1/yum-builddep.* +%exclude %{_mandir}/man1/yum-config-manager.* +%exclude %{_mandir}/man1/yum-debug-dump.* +%exclude %{_mandir}/man1/yum-debug-restore.* +%exclude %{_mandir}/man1/yum-groups-manager.* +%exclude %{_mandir}/man1/yumdownloader.* +%exclude %{_mandir}/man1/package-cleanup.* +%exclude %{_mandir}/man1/dnf-utils.* +%exclude %{_mandir}/man1/yum-utils.* +%endif + +%if 0%{?rhel} == 0 + +%if %{with python2} +%files -n python2-dnf-plugin-leaves +%{python2_sitelib}/dnf-plugins/leaves.* +%{_mandir}/man8/dnf-leaves.* +%endif + +%if %{with python3} +%files -n python3-dnf-plugin-leaves +%{python3_sitelib}/dnf-plugins/leaves.* +%{python3_sitelib}/dnf-plugins/__pycache__/leaves.* +%{_mandir}/man8/dnf-leaves.* +%endif + +%else +%exclude %{_mandir}/man8/dnf-leaves.* +%if %{with python2} +%exclude %{python2_sitelib}/dnf-plugins/leaves.* +%endif +%if %{with python3} +%exclude %{python3_sitelib}/dnf-plugins/leaves.* +%exclude %{python3_sitelib}/dnf-plugins/__pycache__/leaves.* +%endif +%endif +# endif 0%%{?rhel} == 0 + +%if 0%{?rhel} == 0 && %{with python2} +%files -n python2-dnf-plugin-local +%config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf +%{python2_sitelib}/dnf-plugins/local.* +%{_mandir}/man8/dnf-local.* +%endif + +%if %{with python3} && 0%{?rhel} == 0 +%files -n python3-dnf-plugin-local +%config(noreplace) %{_sysconfdir}/dnf/plugins/local.conf +%{python3_sitelib}/dnf-plugins/local.* +%{python3_sitelib}/dnf-plugins/__pycache__/local.* +%{_mandir}/man8/dnf-local.* +%endif + +%if %{with python2} +%files -n python2-dnf-plugin-migrate +%{python2_sitelib}/dnf-plugins/migrate.* +%{_mandir}/man8/dnf-migrate.* +%else +%exclude %{_mandir}/man8/dnf-migrate.* +%endif + +%if %{with python2} +%files -n python2-dnf-plugin-post-transaction-actions +%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.conf +%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.d +%{python2_sitelib}/dnf-plugins/post-transaction-actions.* +%{_mandir}/man8/dnf-post-transaction-actions.* +%endif + +%if %{with python3} +%files -n python3-dnf-plugin-post-transaction-actions +%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.conf +%config(noreplace) %{_sysconfdir}/dnf/plugins/post-transaction-actions.d +%{python3_sitelib}/dnf-plugins/post-transaction-actions.* +%{python3_sitelib}/dnf-plugins/__pycache__/post-transaction-actions.* +%{_mandir}/man8/dnf-post-transaction-actions.* +%endif + +%if 0%{?rhel} == 0 + +%if %{with python2} +%files -n python2-dnf-plugin-show-leaves +%{python2_sitelib}/dnf-plugins/show_leaves.* +%{_mandir}/man8/dnf-show-leaves.* +%endif + +%if %{with python3} +%files -n python3-dnf-plugin-show-leaves +%{python3_sitelib}/dnf-plugins/show_leaves.* +%{python3_sitelib}/dnf-plugins/__pycache__/show_leaves.* +%{_mandir}/man8/dnf-show-leaves.* +%endif + +%else +%exclude %{_mandir}/man8/dnf-show-leaves.* +%if %{with python2} +%exclude %{python2_sitelib}/dnf-plugins/show_leaves.* +%endif +%if %{with python3} +%exclude %{python3_sitelib}/dnf-plugins/show_leaves.* +%exclude %{python3_sitelib}/dnf-plugins/__pycache__/show_leaves.* +%endif +%endif +# endif 0%%{?rhel} == 0 + +%if %{with python2} +%files -n python2-dnf-plugin-versionlock +%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.conf +%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.list +%{python2_sitelib}/dnf-plugins/versionlock.* +%{_mandir}/man8/dnf-versionlock.* +%if %{with yumcompatibility} +%{_mandir}/man8/yum-versionlock.* +%{_mandir}/man5/yum-versionlock.* +%else +%exclude %{_mandir}/man8/yum-versionlock.* +%exclude %{_mandir}/man5/yum-versionlock.* +%endif +%endif + +%if %{with python3} +%files -n python3-dnf-plugin-versionlock +%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.conf +%config(noreplace) %{_sysconfdir}/dnf/plugins/versionlock.list +%{python3_sitelib}/dnf-plugins/versionlock.* +%{python3_sitelib}/dnf-plugins/__pycache__/versionlock.* +%{_mandir}/man8/dnf-versionlock.* +%if %{with yumcompatibility} +%{_mandir}/man8/yum-versionlock.* +%{_mandir}/man5/yum-versionlock.* +%else +%exclude %{_mandir}/man8/yum-versionlock.* +%exclude %{_mandir}/man5/yum-versionlock.* +%endif +%endif + +%changelog +* Fri Sep 17 2021 Marek Blaha - 4.0.21-3 +- Update translations + +* Mon Aug 09 2021 Mohan Boddu - 4.0.21-2 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Jun 02 2021 Pavla Kratochvilova - 4.0.21-1 +- Update to 4.0.21 +- Removed dependency on dnf.yum.misc.Checksum class (RhBug:1935465) +- Add missing command line option to documentation +- doc: add packages to needs-restarting conf +- Set blacklist subcommand as deprecated +- Bugs fixed (RhBug:1914827,1916782) + + +* Thu Apr 15 2021 Mohan Boddu - 4.0.19-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Thu Jan 28 2021 Nicola Sella - 4.0.19-1 +- Update to 4.0.19 +- copr: allow only 2 arguments with copr enable command +- [needs-restarting] fix -r in nspawn containers (RhBug:1913962,1914251) +- Add --gpgcheck option to reposync (RhBug:1856818) (RhBug:1856818) +- Re-introduce yum-groups-manager functionality (RhBug:1826016) +- [repomanage] Don't use cached metadata (RhBug:1899852) +- [needs-restarting] add -s to list services (RhBug:1772939) (RhBug:1772939) + +* Tue Jan 26 2021 Fedora Release Engineering - 4.0.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Oct 08 2020 Nicola Sella - 4.0.18-1 +- [needs-restarting] Fix plugin fail if needs-restarting.d does not exist +- [needs-restarting] add kernel-rt to reboot list +- Fix debug-restore command +- [config-manager] enable/disable comma separated pkgs (RhBug:1830530) +- [debug] Use standard demands.resolving for transaction handling +- [debug] Do not remove install-only packages (RhBug:1844533) +- return error when dnf download failed +- README: Reference Fedora Weblate instead of Zanata +- [reposync] Add latest NEVRAs per stream to download (RhBug: 1833074) +- copr: don't try to list runtime dependencies + +* Mon Aug 10 2020 Nicola Sella - 4.0.16-4 +- spec: Fix building with new cmake macros + +* Sat Aug 01 2020 Fedora Release Engineering - 4.0.16-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 4.0.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 03 06:48:41 CEST 2020 Igor Raits - 4.0.16-1 +- Update to 4.0.16 + + [versionlock] Take obsoletes into account (RhBug:1627124) + + Move args "--set-enabled", "--set-disabled" from DNF (RhBug:1727882) + + Add missing arguments --set-enabled/--set-diabled into error message + + Warn when --enablerepo/--disablerepo args were passed (RhBug:1727882) + + [copr] add support for enabling/disabling runtime dependencies + + [copr] no-liability text to be always printed + +* Sun May 24 2020 Miro Hrončok - 4.0.15-2 +- Rebuilt for Python 3.9 + +* Wed Apr 01 2020 Aleš Matěj - 4.0.15-1 +- Support remote files in dnf builddep +- [download] Respect repo priority (RhBug:1800342) + +* Mon Feb 24 2020 Aleš Matěj - 4.0.14-1 +- Fix conflict for dnf download --resolve (RhBug:1787908) +- config-manager calls parser error when without options (RhBug:1782822) +- Update reposync.py with --norepopath option +- Fix: don't open stdin if versionlock is missing (RhBug:1785563) + +* Tue Jan 28 2020 Fedora Release Engineering - 4.0.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 15 2020 Aleš Matěj - 4.0.13-1 +- Fix: config_manager respect config file location during save +- Redesign reposync --latest for modular system (RhBug:1775434) +- [reposync] Fix --delete with multiple repos (RhBug:1774103) +- [doc] Skip creating and installing migrate documentation for Python 3+ +- [config-manager] Allow use of --set-enabled without arguments (RhBug:1679213) +- [versionlock] Prevent conflicting/duplicate entries (RhBug:1782052) + +* Fri Nov 29 2019 Aleš Matěj - 4.0.12-1 +- Update to 4.0.12 +- [reposync] Add --urls option (RhBug:1686602) +- [versionlock] Add --raw option (RhBug:1645564) +- [doc] move manpages for plugins to "dnf-PLUGIN" (RhBug:1706386) +- Add new plugin post-transaction-actions (RhBug:967264) +- [builddep] Add --skip-unavailable switch (RhBug:1628634) +- [versionlock] Don't apply excludes on @System (RhBug:1726712) +- [reposync] Ignore only modular excludes (RhBug:1750273) + +* Wed Nov 06 2019 Pavla Kratochvilova - 4.0.11-1 +- Update to 4.0.11 +- [spec] Specify attributes for ghost file (RhBug: 1754463) +- download: add the --debugsource option (RhBug:1637008) +- Fix incorrect handling richdeps in buildep (RhBug:1756902) + +* Tue Oct 01 2019 Ales Matej - 4.0.10-1 +- Update to 4.0.10 +- debuginfo-install: Update both debuginfo and debugsource for updated package (RhBug:1586084) +- copr: Support multilib repofiles (RhBug:1393664) +- copr: Fix disable if copr instance has non-default port +- copr: Fix repoid when using subdirectories in copr project + +* Sun Aug 18 2019 Zbigniew Jędrzejewski-Szmek - 4.0.9-2 +- Rebuilt for Python 3.8 + +* Tue Aug 13 2019 Pavla Kratochvilova - 4.0.9-1 +- Update to 4.0.9 +- [reposync] Enable timestamp preserving for downloaded data (RhBug:1688537) +- [reposync] Download packages from all streams (RhBug:1714788) +- Make yum-copr manpage available (RhBug:1673902) +- [needs-restarting] Add ``--reboothint`` option (RhBug:1192946) (RhBug:1639468) +- Set the cost of ``_dnf_local`` repo to 500, to make it preferred to normal repos +- [builddep] Report all rpm errors (RhBug:1663619,1658292,1724668) +- [config-manager] --setopt: Fix crash with "--save --dump" +- [config-manager] --setopt: Add globs support to repoid +- [config-manager] --setopt=key=value is applied only to the main config +- [config-manager] --setopt and empty list of repositories (RhBug:1702678) +- [config-manager] --setopt: Add check for existence of input repositories + +* Wed Jul 24 2019 Fedora Release Engineering - 4.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 21 2019 Pavla Kratochvilova - 4.0.7-1 +- Update to 4.0.7 +- Fix: copr disable command traceback (RhBug:1693551) +- [doc] state repoid as repo identifier of config-manager (RhBug:1686779) +- Fix download of src when not the latest requested (RhBug:1649627) + +* Mon Mar 11 2019 Pavla Kratochvilova - 4.0.6-1 +- Update to 4.0.6 +- Use improved config parser that preserves order of data +- [leaves] Show multiply satisfied dependencies as leaves +- [download] Fix downloading an rpm from a URL (RhBug:1678582) +- [download] Fix problem with downloading src pkgs (RhBug:1649627) + +* Sat Feb 23 2019 Igor Gnatenko - 4.0.4-2 +- Raise yum-utils conflict version + +* Wed Feb 13 2019 Pavla Kratochvilova - 4.0.4-1 +- Update to 4.0.4 +- [download] Do not download src without ``--source`` (RhBug:1666648) + +* Thu Jan 31 2019 Fedora Release Engineering - 4.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Dec 12 2018 Jaroslav Mracek - 4.0.3-1 +- Update to 4.0.3 +- Add ``changelog`` plugin that is used for viewing package changelogs +- New option ``--metadata-path`` option for reposync plugin + +* Thu Nov 22 2018 Jaroslav Mracek - 4.0.2-1 +- Added repodif command +- copr: fix enabling Rawhide repository +- Add needs-restarting CLI shim +- [reposync] Fix traceback with --quiet option +- [versionlock] Accept more pkgspec forms + +* Wed Oct 17 2018 Jaroslav Mracek - 4.0.0-2 +- Allow build of dnf-utils in F29 + +* Mon Oct 15 2018 Jaroslav Mracek - 4.0.0-1 +- Update to 4.0.0 +- Enhance documentation +- [repoclosure] check every --pkg attribute separately +- [repoclosure] Now accepts nevra as a argument of --pkg option +- [reposync] enhancements (RhBug:1550063,1582152,1550064,1405789,1598068) +- package-cleanup: remove --oldkernels +- Download only packages with unique NEVRAs (RhBug:1612874) + +* Tue Sep 25 2018 Jaroslav Mracek - 3.0.4-1 +- [copr] Huge upgrade of copr plugin +- [spec] Disable building python2 modules on Fedora 30+ +- Add characters into repo URL sanitization (RhBug:1615416) +- copr: add support for multiple copr instances (RhBug:1478208) +- Redirect repo progress to std error (RhBug:1626011) + +* Fri Sep 07 2018 Jaroslav Mracek - 3.0.3-1 +- Resolves: rhbz#1582152 +- Resolves: rhbz#1581117 +- Resolves: rhbz#1579737 + +* Mon Jul 23 2018 Marek Blaha 3.0.2-1 +- Resolves: rhbz#1603805 +- Resolves: rhbz#1571251 + +* Thu Jul 12 2018 Fedora Release Engineering - 3.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 29 2018 Jaroslav Mracek 3.0.1-2 +- Rebuilt for Python 3.7 + +* Tue Jun 26 2018 Jaroslav Mracek 3.0.1-1 +- Enhanced documentation +- Resolves: rhbz#1576594 +- Resolves: rhbz#1530081 +- Resolves: rhbz#1547897 +- Resolves: rhbz#1550006 +- Resolves: rhbz#1431491 +- Resolves: rhbz#1516857 +- Resolves: rhbz#1499623 +- Resolves: rhbz#1489724 + +* Mon Jun 18 2018 Miro Hrončok - 2.1.5-5 +- Rebuilt for Python 3.7 + +* Sat Feb 10 2018 Igor Gnatenko - 2.1.5-4 +- Conflict with any yum-utils + +* Fri Feb 09 2018 Igor Gnatenko - 2.1.5-3 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 2.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Oct 06 2017 Igor Gnatenko - 2.1.5-1 +- Fix download command (RHBZ #1498426) + +* Mon Oct 02 2017 Jaroslav Mracek 2.1.4-1 +- Added four new options for ``list`` subcommand of ``copr`` plugin +- Resolves: rhbz#1476834 - [abrt] dnf: arch(): config.py:908:arch:TypeError: unhashable type: 'list' + +* Wed Jul 26 2017 Fedora Release Engineering - 2.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Jaroslav Mracek 2.1.3-1 +- Solve conflict with migrate plugin (RhBug:1470843) (Jaroslav Mracek) +- Move copying to dnf (RhBug:1279001) (Ondřej Sojka) +- Return 1 if dnf config-manager --add-repo fails (RhBug:1439514) (Jaroslav + Mracek) +- bump minimal dnf version to 2.6.0 (Igor Gnatenko) +- trivial: remove whitespace at end of line (Igor Gnatenko) + +* Sun Jul 02 2017 Igor Gnatenko - 2.1.2-2 +- Fix crash in COPR plugin + +* Sat Jul 01 2017 Igor Gnatenko - 2.1.2-1 +- debuginfo-install: install only requested packages +- Unify user confirmation in copr with dnf itself + +* Mon Jun 12 2017 Jaroslav Mracek 2.1.1-1 +- bump version to 2.1.1 + update release notes (Jaroslav Mracek) +- Enhance versionlock documentation (Jaroslav Mracek) +- Fix typos in args.ingex to args.index (RhBug:1458446) (Jaroslav Mracek) +- dont run versionlock on non-transactional operations (Jan Silhan) + +* Mon May 22 2017 Jaroslav Mracek 2.1.0-1 +- bump version to 2.1.0 + update release notes (Jaroslav Mracek) +- Adjust the dnf-utils subpackage to be more accurate (Neal Gompa) +- Add new sub-package dnf-utils (RhBug:1381917) (Jaroslav Mracek) +- Fix two renamed functions by dnf privatization (Jaroslav Mracek) + +* Tue May 02 2017 Jaroslav Mracek 2.0.0-1 +- update release notes (Jaroslav Mracek) +- po: Update translations (Igor Gnatenko) +- Fix incorrect exclude of locked version in versionlock (Jaroslav Mracek) +- po: Update translations (Igor Gnatenko) +- Setup selectively provides for python2 packages (Jaroslav Mracek) +- Build python3 packages only if with_python3 (Jaroslav Mracek) +- Search only according nevra in versionlock (Jaroslav Mracek) +- Solve a problem in performance of versionlock (RhBug:1431493) (Jaroslav + Mracek) +- Repoclosure exit with 1 if unsatisfied dependencies (RhBug:1416782) (Jaroslav + Rohel) +- Not raise an Error if strict=False and --url for download command (Jaroslav + Mracek) +- Check argument if it is a file ending with .rpm (RhBug:1436570) (Jaroslav + Mracek) +- update link to "What I can build in Copr? documentation page (clime) +- po: Update translations (Igor Gnatenko) +- Create dir for local plugin if path not exist (Jaroslav Mracek) +- Correct some PEP8 violations after plugin import (Jaroslav Mracek) +- Add debug into dnf-plugins-core (Jaroslav Mracek) +- Added latest doc changes from plugins-extras upstream (Jaroslav Mracek) +- bump version to 2.0.0 (Jaroslav Mracek) +- Add migrate plugin into dnf-plugins-core (Jaroslav Mracek) +- Add man pages for transfered plugins (Jaroslav Mracek) +- Add provide dnf-plugin-* for each plugin (Jaroslav Mracek) +- Correct some PEP8 violations (Jaroslav Mracek) +- Add local into dnf-plugins-core (Jaroslav Mracek) +- Add leaves and show-leaves into dnf-plugins-core (Jaroslav Mracek) +- Add versionlock into dnf-plugins-core (Jaroslav Mracek) +- Add repograph into dnf-plugins-core (Jaroslav Mracek) +- Add repoclosure into dnf-plugins-core (Jaroslav Mracek) +- Add repomanage into dnf-plugins-core (Jaroslav Mracek) +- Add --archlist option for dnf download command (Jaroslav Mracek) +- Change code that provides package location for download command (Jaroslav + Mracek) +- po: update translations (Igor Gnatenko) +- po: add sv translations (Igor Gnatenko) + +* Tue Mar 21 2017 Igor Gnatenko 1.1.0-1 +- dnf dowload --resolve should download everytime requested packages + (RhBug:1276611) (stepasm) +- builddep: install requirements by provides (RhBug:1332830) (Igor Gnatenko) +- builddep: do not check GPG key of SRPM (RhBug:1431486) (Igor Gnatenko) +- builddep: properly check for nosrc.rpm (Igor Gnatenko) +- po: Update translations (RhBug:1429087) (Igor Gnatenko) +- Remove noroot plugin that was move into dnf itself (Jaroslav Mracek) + +* Mon Feb 20 2017 Jaroslav Mracek 1.0.2-1 +- bump version to 1.0.2 + update release notes (Jaroslav Mracek) +- download: add --urlprotocols option (Dusty Mabe) +- download: add --url cli option (RhBug:1250115) (Dusty Mabe) +- download: refactor download code (Dusty Mabe) +- copr: Tweak wording to be more generic (Neal Gompa) +- Automatic commit of package [dnf-plugins-core] release [1.0.1-1]. (Jaroslav + Mracek) +- bump version to 1.0.1 + update release notes (Jaroslav Mracek) + +* Thu Feb 16 2017 Igor Gnatenko - 1.0.1-2 +- Rebuild due to infra breakage + +* Fri Feb 10 2017 Jaroslav Mracek 1.0.1-1 +- bump version to 1.0.1 + update release notes (Jaroslav Mracek) +- setup SideCI to ignore some PEP8 violations (Jaroslav Mracek) +- spec: define all configs as (noreplace) (Igor Gnatenko) +- spec: include __pycache__ files (Igor Gnatenko) +- builddep: print errors from RPM SPEC parser (Petr Spacek) + +* Fri Feb 10 2017 Fedora Release Engineering - 1.0.0-0.rc1.2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Dec 13 2016 Stratakis Charalampos - 1.0.0-0.rc1.2 +- Rebuild for Python 3.6 + +* Thu Sep 29 2016 Michal Luscon 1.0.0-0.rc1.1 +- doc: open rpmspec in utf-8 mode (Igor Gnatenko) +- cls.chroot_config inside _guess_chroot returns None (RhBug: 1361003) (Michael + Goodwin) +- builddep: adjust to new config (dnf-2.0) (Michal Luscon) +- Change minimal required version (Jaroslav Mracek) +- introduced config-manager --dump-variables (RhBug:1360752) (Michael Mraka) +- Fix string puzzle in translatable message (Luigi Toscano) +- Added alias to 'builddep'->'build-dep' (RhBug:1350604) (stepasm) +- reposync should keep packages (RhBug:1325350) (Michael Mraka) +- Change usage of add_remote_rpm according to new API (Jaroslav Mracek) +- Remove lib.py from plugins-core (Jaroslav Mracek) +- Delete repoquery from dnf-plugins-core (Jaroslav Mracek) +- removed protected_packages plugin (Jan Silhan) +- repoquery: add --requires-pre switch (RhBug:1303117) (Michal Luscon) +- spec: bump version to 1.0.0 (Igor Gnatenko) +- Automatic commit of package [dnf-plugins-core] release [0.1.21-2]. (Igor + Gnatenko) +- Automatic commit of package [dnf-plugins-core] release [0.1.21-1]. (Igor + Gnatenko) +- spec: explicitly conflict with python-%%{name} with different version (Igor + Gnatenko) +- updated plugin to read_config() change (RhBug:1193823) (Michael Mraka) +- repoquery: sourcerpm does not contain epoch (RhBug:1335959) (Michael Mraka) +- enforce-api: use api method transaction (Michal Luscon) +- enforce-api: apply changes from Base class (Michal Luscon) +- copr: Read the %%distro_arch macro to determine Mageia chroot arch (Neal + Gompa (ニール・ゴンパ)) +- copr: Remove unnecessary function calls/options and simplify conditional + (Neal Gompa (ニール・ゴンパ)) +- copr: Add Mageia chroot selection support (Neal Gompa (ニール・ゴンパ)) +- copr: Simplify and fix up reading copr chroot config override (Neal Gompa + (ニール・ゴンパ)) +- autoglob feature has been moved to filter() (RhBug:1279538) (Michael Mraka) + +* Fri May 27 2016 Igor Gnatenko 0.1.21-2 +- spec: explicitly conflict with python-%%{name} with different version (Igor + Gnatenko) + +* Thu May 19 2016 Igor Gnatenko 0.1.21-1 +- doc: release notes 0.1.21 (Igor Gnatenko) +- spec: correctly set up requirements for python subpkg (Igor Gnatenko) +- spec: improve python packaging according to new guidelines & compat with EL7 + (Igor Gnatenko) +- tests/support: set priority and cost in RepoStub (Igor Gnatenko) +- repoquery: sourcerpm does not contain epoch (RhBug:1335959) (Michael Mraka) +- enforce-api: use api method transaction (Michal Luscon) +- enforce-api: apply changes from Base class (Michal Luscon) +- copr: Read the %%distro_arch macro to determine Mageia chroot arch (Neal + Gompa (ニール・ゴンパ)) +- copr: Remove unnecessary function calls/options and simplify conditional + (Neal Gompa (ニール・ゴンパ)) +- copr: Add Mageia chroot selection support (Neal Gompa (ニール・ゴンパ)) +- copr: Simplify and fix up reading copr chroot config override (Neal Gompa + (ニール・ゴンパ)) +- zanata update (Jan Silhan) +- Add link for other project documentation pages (Jaroslav Mracek) +- autoglob feature has been moved to filter() (RhBug:1279538) (Michael Mraka) +- support globs in --what (RhBug:1303311) (Michael Mraka) +- repoquery: fix typo (there -> that, and plural form) (Luigi Toscano) +- copr: fix string - singular is required (Luigi Toscano) +- doc: release notes updated to vallid plugins version (Jan Šilhan) + +* Tue Apr 05 2016 Michal Luscon 0.1.20-1 +- doc: release notes 0.1.20 (Igor Gnatenko) +- copr: Properly detect reposdir and add chroot override capability (Neal Gompa + (ニール・ゴンパ)) +- config_manager: Use new API in dnfpluginscore.lib for determining reposdir + (Neal Gompa (ニール・ゴンパ)) +- dnfpluginscore.lib: Add get_reposdir() API function (Neal Gompa (ニール・ゴンパ)) +- Fix typo (Eduardo Mayorga Téllez) + +* Tue Mar 22 2016 Miroslav Suchý 0.1.19-1 +- spec: correct requires on F22 + EPEL (Miroslav Suchý) + +* Tue Mar 22 2016 Miroslav Suchý 0.1.18-1 +- Add myself as contributor in AUTHORS (Neal Gompa (ニール・ゴンパ)) +- copr: copr.fedoraproject.org -> copr.fedorainfracloud.org (Neal Gompa + (ニール・ゴンパ)) +- copr: fix traceback when trying to enable non-existing project (RhBug: + 1304615) (Jakub Kadlčík) +- README: mention translation fixes should be made on Zanata (Jan Šilhan) + +* Thu Feb 25 2016 Michal Luscon 0.1.17-1 +- enable debuginfo repos if autoupdate is on (RhBug:1024701) (Michael Mraka) +- fixed string suffix removal (Michael Mraka) +- install latest debuginfo by default (Michael Mraka) +- Enable strings for translation (RhBug:1302214) (Parag Nemade) + +* Mon Jan 25 2016 Jan Silhan 0.1.16-1 +- zanata update (Jan Silhan) +- AUTHORS: updated (Jan Silhan) +- run noroot in non cli mode (RhBug:1297511) (Jan Silhan) +- Sanitize repos containing a tilde in the URL (François RIGAULT) +- contributor added (clime) +- latest-limit option moved to base set of options making it compatible with + --queryformat and other output formatters (RhBug: 1292475) (clime) +- builddep: do not download source package (Jeff Smith) +- repoquery: keep --autoremove as secret option (Jan Silhan) +- cosmetic: repoquery: remove unused imports (Jan Silhan) +- doc: repoquery: --recent (Jan Silhan) +- doc: renamed autoremove to unneeded and extended docs (Jan Silhan) + +* Fri Dec 18 2015 Michal Luscon 0.1.15-1 +- Make it possible to specify the source package name as parameter in stub + constructor. (Alexander Todorov) +- Add --debuginfo to download (Alexander Todorov) +- resolve local RPMs when downloading. useful with --source (Alexander Todorov) +- spec: ensure python*-dnf-plugins-core versions are the same (RhBug:1283448) + (Jan Silhan) +- reimplemented config file writing (RhBug:1253237) (Michael Mraka) + +* Mon Nov 16 2015 Michal Luscon 0.1.14-1 +- zanata update (Jan Silhan) +- repoquery: do not require loading metadata when we want to query system only + (Jan Silhan) +- repoquery: fix unicode tracebacks (Michal Luscon) +- repoquery: use new methods recent, extras, unneeded (Michal Luscon) +- repoquery: use new api methods duplicated and latest (RhBug:1231572) (Michal + Luscon) +- Exit with non-zero status if strict and package not found (alde) +- Fix cmdline conversion to unicode (RhBug:1265210) (Michal Domonkos) +- Remove extra 'l' in test class name (Alexander Todorov) +- copr: PEP formating (Miroslav Suchý) +- copr: allow to use staging instance of Copr for testing (Miroslav Suchý) +- do not use @ in repoid (RhBug:1280416) (Miroslav Suchý) +- reverts unintentional releaser from e035152 (Jan Silhan) +- don't look for builddeps on source packages (RhBug:1272936) (Michael Mraka) +- Fix hawkey version constraint (Neal Gompa (ニール・ゴンパ)) + +* Wed Oct 14 2015 Jan Silhan 0.1.13-1 +- updated: release notes for 0.1.13 (Jan Silhan) +- Remove kickstart plugin from core plugins (Neal Gompa + (ニール・ゴンパ)) +- read file as utf-8 in Py3 (RhBug:1267808) (Miroslav Suchý) +- playground: check if repo actually exists for our version of OS (Miroslav + Suchý) +- add Catalan (Robert Antoni Buj Gelonch) +- repoquery: Fix UnicodeEncodeError with --info (RhBug:1264125) (Jaroslav + Mracek) +- lookup builddeps in source package for given package name (RhBug:1265622) + (Michael Mraka) +- functions moved to library (Michael Mraka) +- functions to return name of source and debuginfo package (Michael Mraka) +- try -debuginfo first then -debuginfo (RhBug:1159614) (Michael + Mraka) +- Automatic commit of package [dnf-plugins-core] release [0.1.12-2]. (Michal + Luscon) +- doc: release notes 0.1.12 (Michal Luscon) + +* Tue Sep 22 2015 Michal Luscon 0.1.12-2 +- add python2-dnf requirements + +* Tue Sep 22 2015 Michal Luscon 0.1.12-1 +- repoquery: add globbing support to whatrequires/whatprovides. + (RhBug:1249073) (Valentina Mukhamedzhanova) +- needs_restarting: Rewrite a warning message (Wieland Hoffmann) +- Remove extra quotation mark in comment (Alexander Todorov) + +* Tue Sep 01 2015 Michal Luscon 0.1.11-1 +- dnf donwload checks for duplicate packages (rhBug:1250114) (Adam Salih) +- Extend repoquery --arch option. You can now pass multiple archs separated by + commas (RhBug:1186381) (Adam Salih) +- download plugin now prints not valid packages (RhBug:1225784) (Adam Salih) +- correct typo (Adam Salih) +- dnf now accepts more than one key (RhBug:1233728) (Adam Salih) +- description should be print unwrapped (Adam Salih) +- alternative to pkgnarrow (RhBug:1199601) (Adam Salih) +- sort output alphabetically, tree accepts switches --enhances --suggests + --provides --suplements --recommends (RhBug:1156778) (Adam Salih) + +* Mon Aug 10 2015 Jan Silhan 0.1.10-1 +- generate_completion_cache: use list for each insert (fixes regression + introduced in e020c96) (Igor Gnatenko) +- generate_completion_cache: store NEVRA insted of NA (RhBug:1226663) (Igor + Gnatenko) +- repoquery: weak deps queries (RhBug:1184930) (Michal Luscon) +- builddep requires an argument (Michael Mraka) +- disable c++ checks in rpmbuild (Michael Mraka) +- path may contain unicode (RhBug:1234099) (Michael Mraka) +- fail if no package match (RhBug:1241126) (Michael Mraka) +- make --spec and --srpm mutually exclusive (Michael Mraka) +- handle error message in python3 (RhBug:1218299) (Michael Mraka) +- options to recognize spec/srpm files (RhBug:1241135) (Michael Mraka) +- copr: set chmod to rw-r--r-- on repo files (Miroslav Suchý) +- [copr] refactor duplicated lines (Jakub Kadlčík) +- [copr] allow utf-8 user input (RhBug:1244125) (Jakub Kadlčík) +- [copr] fix regression with handling `search` and `list` subcommands (Valentin + Gologuzov) +- [copr] terminate execution when failed to parse project name (Valentin + Gologuzov) +- [copr] unused import (Valentin Gologuzov) +- [copr] subcommand `disable` now only set `enabled=0`, repo file could be + deleted by new subcommand `remove` (Valentin Gologuzov) + +* Wed Jun 24 2015 Michal Luscon 0.1.9-1 +- repoquery: add srpm option (RhBug:1186382) (Vladan Kudlac) +- create repo files readable by users (RhBug:1228693) (Michael Mraka) +- copr: use librepo instead of python-request (Miroslav Suchý) +- --tree now works with --conflicts --obsoletes --requires and --whatrequires + (RhBug:1128424) (RhBug:1186689) (Adam Salih) +- url for copr repos changed (RhBug:1227190) (Miroslav Suchý) +- repoquery: fixed conflicts package format (Adam Salih) +- document that globs can be used in dnf config-manager (Michael Mraka) + + +* Wed Jun 17 2015 Fedora Release Engineering - 0.1.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 06 2015 Michal Luscon 0.1.8-1 +- spec: fix an upgrade path from dnf-plugins-core <= 0.1.5 (Radek Holy) + +* Thu Apr 30 2015 Michal Luscon 0.1.7-1 +- doc: release notes dnf-plugins-core-0.1.7 (Michal Luscon) +- spec: fix Conflicts of the new plugins (Radek Holy) +- spec: allow DNF 1.x.x (Radek Holy) +- AUTHORS: filled in missing email address (Jan Silhan) +- download: enabling source repos when desired only (Jan Silhan) +- download: using enable_source_repos from lib (Jan Silhan) +- lib: inform user when enabling disabled repo (Jan Silhan) +- AUTHORS: made 2 categories (Jan Silhan) +- fixed typos and missing demand (Michael Mraka) +- changed warning paragraph (Michael Mraka) +- AUTHORS: updated (Jan Silhan) +- debuginfo-install: don't consider src packages as candidates for installation + (RhBug:1215154) (Lubomir Rintel) +- documentation warning about build deps in srpm (Michael Mraka) +- fixed builddep tests (Michael Mraka) +- builddep: enable source repos only when needed (Michael Mraka) +- fixed builldep documentation (Michael Mraka) +- mark appropriate dnfpluginscore.lib as API (Michael Mraka) +- fixed builddep configure test (Michael Mraka) +- moved enable_{source|debug}_repos() to dnfpluginscore.lib (Michael Mraka) +- builddep: add feature to get builddeps from remote packages (RhBug:1074585) + (Igor Gnatenko) +- doc: repoquery: doesn't print 'No match for argument:...' garbage (Jan + Silhan) +- updated repoquery documentation (Michael Mraka) +- implemented repoquery --latest-limit (Michael Mraka) +- implemented repoquery --unsatisfied (Michael Mraka) +- builddep: Support defining macros for parsing spec files (David Michael) +- removed redundant argument (Michael Mraka) +- doc: update repoquery docs with --resolve (Tim Lauridsen) +- repoquery: add --resolve option (RhBug:1156487) (Tim Lauridsen) +- spec: dnf version upper boundaries (Jan Silhan) +- spec: added plugin command provides (Related:RhBug:1208773) (Jan Silhan) +- make --repo cumulative (Michael Mraka) +- rename --repoid to --repo (Michael Mraka) +- don't delete local repo packages after download (RhBug:1186948) (Michael + Mraka) +- doc: replaced last references pointing to akozumpl (Jan Silhan) + +* Wed Apr 08 2015 Michal Luscon 0.1.6-3 +- doc: release notes 0.1.6 (Michal Luscon) +- initialize to use tito (Michal Luscon) +- prepare repo for tito build system (Michal Luscon) +- migrate raw_input() to Python3 (RhBug:1208399) (Miroslav Suchý) +- require dnf 0.6.5+ which contains duplicated/installonly queries (Michael Mraka) +- implemented --duplicated and --installonly (Michael Mraka) +- create --destdir if not exist (Michael Mraka) +- repoquery: Added -s/--source switch, test case and documentation for querying source rpm name (Parag Nemade) +- repoquery: Added documentation and test case for file switch (Parag Nemade) +- spec: ship man pages in dnf-plugins-core metapackage (Jan Silhan) +- debuginfo-install: support cases where src.rpm name != binary package name (Petr Spacek) +- spec: added empty %%files directive to generate rpm (Jan Silhan) +- spec: adapt to pykickstart f23 package split (Jan Silhan) +- spec: requires >= dnf version not = (Jan Silhan) +- spec: python3 source code by default in f23+ (RhBug:1194725,1198442) (Jan Silhan) +- use dnfpluginscore.lib.urlopen() (RhBug:1193047) (Miroslav Suchý) +- implemented functionality of yum-config-manager (Michael Mraka) +- repoquery: Added --file switch to show who owns the given file (RhBug:1196952) (Parag Nemade) +- debuginfo-install: accept packages names specified as NEVRA (RhBug:1171046) (Petr Spacek) +- repoquery: accept package names specified as NEVRA (RhBug:1179366) (Petr Spacek) +- download: fix typo in 'No source rpm definded' (Petr Spacek) +- download: accept package names ending with .src too (Petr Spacek) +- download: Do not disable user-enabled repos (thanks Spacekpe) (Jan Silhan) +- Add README to tests/ directory (Petr Spacek) +- AUTHORS: updated (Jan Silhan) +- download: fix package download on Python 3 (Petr Spacek) + +* Tue Mar 10 2015 Jan Silhan - 0.1.6-2 +- man pages moved into dnf-plugins-core subpackage + +* Fri Mar 6 2015 Jan Silhan - 0.1.6-1 +- fixed python(3)-dnf dependency in f23 + +* Thu Feb 5 2015 Jan Silhan - 0.1.5-1 +- updated package url (Michael Mraka) +- also dnf_version could be specified on rpmbuild commandline (Michael Mraka) +- simple script to build test package (Michael Mraka) +- let gitrev be specified on rpmbuild commandline (Michael Mraka) +- assign default GITREV value (Michael Mraka) +- standard way to find out latest commit (Michael Mraka) +- debuginfo-install: fix handling of subpackages with non-zero epoch (Petr Spacek) +- debuginfo-install: Make laywers happier by assigning copyright to Red Hat (Petr Spacek) +- debuginfo-install: remove dead code uncovered by variable renaming (Petr Spacek) +- debuginfo-install: clearly separate source and debug package names (Petr Spacek) +- debuginfo-install: use descriptive parameter name in _is_available() (Petr Spacek) +- repoquery: add -l option to list files contained in the package (Petr Spacek) +- 1187773 - replace undefined variable (Miroslav Suchý) +- download: fixed unicode location error (RhBug:1178239) (Jan Silhan) +- builddep recognizes nosrc.rpm pkgs (RhBug:1166126) (Jan Silhan) +- builddep: added nosignatures flag to rpm transaction set (Jan Silhan) +- builddep: more verbose output of non-matching packages (RhBug:1155211) (Jan Silhan) +- package: archive script is the same as in dnf (Jan Silhan) +- spec: exclude __pycache__ dir (Igor Gnatenko) + +* Fri Dec 5 2014 Jan Silhan - 0.1.4-1 +- revert of commit 80ae3f4 (Jan Silhan) +- transifex update (Jan Silhan) +- spec: binded to current dnf version (Jan Silhan) +- generate_completion_cache: use sqlite instead of text files (Igor Gnatenko) +- logging: renamed log file (Related:RhBug:1074715) (Jan Silhan) +- Add reposync. (RhBug:1139738) (Ales Kozumplik) +- download: fix traceback if rpm package has no defined sourcerpm (RhBug: 1144003) (Tim Lauridsen) +- lint: ignore warnings of a test accessing protected attribute. (Ales Kozumplik) +- repoquery lint: logger is not used. (Ales Kozumplik) +- repoquery: support querying of weak deps. (Ales Kozumplik) +- needs_restarting: fix typo (Miroslav Suchý) +- copr: migrate copr plugin form urlgrabber to python-request (Miroslav Suchý) +- Add needs-restarting command. (Ales Kozumplik) + +* Thu Sep 4 2014 Jan Silhan - 0.1.3-1 +- repoquery: output times in UTC. (Ales Kozumplik) +- repoquery: missing help messages. (Ales Kozumplik) +- repoquery: add --info. (RhBug:1135984) (Ales Kozumplik) +- add Jan to AUTHORS. (Ales Kozumplik) +- spec: extended package description with plugin names and commands (Related:RhBug:1132335) (Jan Silhan) +- copr: check for 'ok' in 'output' for json data (RhBug:1134378) (Igor Gnatenko) +- README: changed references to new repo location (Jan Silhan) +- transifex update (Jan Silhan) +- copr: convert key to unicode before guessing lenght (Miroslav Suchý) +- Add pnemade to AUTHORS (Ales Kozumplik) +- debuginfo-install: Use logger as module level variable and not instance attribute since dnf-0.6.0 release (RhBug:1130559) (Parag Nemade) +- copr: Use logger as module level variable and not instance attribute since dnf-0.6.0 release (RhBug:1130559) (Parag Nemade) +- copr: implement help command (Igor Gnatenko) +- debuginfo-install: fix indenting (Igor Gnatenko) +- debuginfo-install: use srpm basename for debuginfo (Igor Gnatenko) + +* Mon Jul 28 2014 Aleš Kozumplík - 0.1.2-1 +- BashCompletionCache: error strings are unicoded (RhBug:1118809) (Jan Silhan) +- transifex update (Jan Silhan) +- debuginfo-install: remove some pylint warnings (Igor Gnatenko) +- debuginfo-install: fix installing when installed version not found in repos, optimize performance (RhBug: 1108321) (Ig +- fix: copr plugin message for repo without builds (RhBug:1116389) (Adam Samalik) +- logging: remove messages about initialization. (Ales Kozumplik) + +* Thu Jul 3 2014 Aleš Kozumplík - 0.1.1-2 +- packaging: add protected_packages.py to the package. (Ales Kozumplik) + +* Thu Jul 3 2014 Aleš Kozumplík - 0.1.1-1 +- protected_packages: prevent removal of the running kernel. (RhBug:1049310) (Ales Kozumplik) +- packaging: create and own /etc/dnf/protected.d. (Ales Kozumplik) +- doc: add documentation for protected_packages. (Ales Kozumplik) +- doc: rename: generate-completion-cache -> generate_completion_cache. (Ales Kozumplik) +- add protected_packages (RhBug:1111855) (Ales Kozumplik) +- build: add python-requests to requires (RHBZ: 1104088) (Miroslav Suchý) +- doc: typo: fix double 'plugin' in release notes. (Ales Kozumplik) + +* Wed Jun 4 2014 Aleš Kozumplík - 0.1.0-1 +- pylint: fix all pylint builddep problems. (Ales Kozumplik) +- builddep: better error reporting on deps that actually don't exist. (Ales Kozumplik) +- builddep: load available repos. (RhBug:1103906) (Ales Kozumplik) +- tests: stop argparse from printing to stdout when tests run. (Ales Kozumplik) +- packaging: all the manual pages with a glob. (Ales Kozumplik) +- fix: packaging problem with query.py. (Ales Kozumplik) +- doc: add reference documentation for repoquery. (Ales Kozumplik) +- repoquery: support --provides, --requires etc. (Ales Kozumplik) +- repoquery: make the CLI more compatible with Yum's repoquery. (Ales Kozumplik) +- repoquery: some cleanups in the plugin and the tests. (Ales Kozumplik) +- rename: query->repoquery. (RhBug:1045078) (Ales Kozumplik) +- add pylint script for dnf-core-plugins. (Ales Kozumplik) +- tests: repoquery: fix unit tests. (Ales Kozumplik) +- add query tool (Tim Lauridsen) + +* Wed May 28 2014 Aleš Kozumplík - 0.0.8-1 +- build: add sphinx to build requires. (Ales Kozumplik) +- doc: packaging: add license block to each .rst. (Ales Kozumplik) +- tests: stray print() in test_download.py. (Ales Kozumplik) +- doc: put each synopsis on new line (Miroslav Suchý) +- doc: cosmetic: project name in the documentation. (Ales Kozumplik) +- doc: cleanups, form, style. (Ales Kozumplik) +- doc: add documentation and man pages (Tim Lauridsen) +- copr: remove repofile if failed to enable repo (Igor Gnatenko) +- copr: honor -y and --assumeno (Miroslav Suchý) +- py3: absolute imports and unicode literals everywhere. (Ales Kozumplik) +- debuginfo-install: doesn't install latest pkgs (RhBug: 1096507) (Igor Gnatenko) +- debuginfo-install: fix description (Igor Gnatenko) +- debuginfo-install: fix logger debug messages (Igor Gnatenko) +- build: install the download plugin (Tim Lauridsen) +- download: update the download plugin with --source, --destdir & --resolve options (Tim Lauridsen) +- Add a special ArgumentParser to parsing plugin cmd arguments and options (Tim Lauridsen) +- tests: add __init__.py to make tests a module and use abs imports (Tim Lauridsen) +- build: simplify plugins/CMakeLists.txt. (Ales Kozumplik) +- dnf.cli.commands.err_mini_usage() changed name. (Ales Kozumplik) +- kickstart: do not include kickstart errors into own messages. (Radek Holy) + +* Wed Apr 23 2014 Aleš Kozumplík - 0.0.7-1 +- build: gettext is also needed as a buildreq (Tim Lauridsen) +- copr: use usage & summary class attributes, to work with dnf 0.5.0 use shared lib dnfpluginscore for translation wrapp +- build: add cmake as buildreq (Tim Lauridsen) +- generate-completion-cache: fix shared lib name (Tim Lauridsen) +- make .spec use gitrev in the source file add helper script for building source archive (Tim Lauridsen) +- Added transifex config (Tim Lauridsen) +- tests: use cli logger in kickstart test (Tim Lauridsen) +- Added translation .pot file Added da translation files so we have something to build & install (Tim Lauridsen) +- Added CMake files Added CMake build to .spec & and added translation files handling (Tim Lauridsen) +- make plugins use shared lib added translation wrappers added missing usage & summary PEP8 fixes (Tim Lauridsen) +- added shared dnfpluginscore lib (Tim Lauridsen) +- copr: C:139, 0: Unnecessary parens after 'print' keyword (superfluous-parens) (Miroslav Suchý) +- copr: W: 23, 0: Unused import gettext (unused-import) (Miroslav Suchý) +- copr: C: 33, 0: No space allowed before : (Miroslav Suchý) +- copr: some python3 migration (Miroslav Suchý) +- copr: get rid of dnf i18n imports (Miroslav Suchý) +- remove dnf.yum.i18n imports. (Ales Kozumplik) +- copr: Fix the playground upgrade command. (Tadej Janež) +- copr: implement search function (Igor Gnatenko) +- better format output (Miroslav Suchý) +- implement playground plugin (Miroslav Suchý) +- move removing of repo into method (Miroslav Suchý) +- check root only for actions which really need root (Miroslav Suchý) +- move repo downloading into separate method (Miroslav Suchý) +- define copr url as class attribute (Miroslav Suchý) +- better wording of warning (Miroslav Suchý) +- move question to function argument (Miroslav Suchý) +- move guessing chroot into function (Miroslav Suchý) +- copr: use common lib use Command.usage & summary cleanup imports & PEP8 fixes (Tim Lauridsen) +- builddep: added usage & summary & fix some PEP8 issues (Tim Lauridsen) +- kickstart: use new public Command.usage & Command.summary api (Tim Lauridsen) +- fix resource leak in builddep.py. (Ales Kozumplik) +- refactor: command plugins use demands mechanism. (Ales Kozumplik) +- noroot: move to the new 'demands' mechanism to check the need of root. (Ales Kozumplik) +- tests: fix locale independence. (Radek Holy) +- [copr] correctly specify chroot when it should be guessed (Miroslav Suchý) + +* Mon Mar 17 2014 Aleš Kozumplík - 0.0.6-1 +- clenaup: remove commented out code (Miroslav Suchý) +- copr: list: print description (Igor Gnatenko) +- builddep: rpm error messages sink. (Ales Kozumplik) +- builddep: improve error handling on an command argument (RhBug:1074436) (Ales Kozumplik) +- copr: handling case when no argument is passed on cli (Miroslav Suchý) +- copr: delete excess argument (Igor Gnatenko) +- add copr plugin (Miroslav Suchý) +- debuginfo-install: check for root with dnf api (Igor Gnatenko) +- packaging: fix bogus dates. (Ales Kozumplik) + +* Wed Feb 26 2014 Aleš Kozumplík - 0.0.5-2 +- packaging: add debuginfo-install.py (Ales Kozumplik) + +* Wed Feb 26 2014 Aleš Kozumplík - 0.0.5-1 +- packaging: add builddep.py to the RPM. (Ales Kozumplik) + +* Tue Feb 25 2014 Radek Holý - 0.0.4-1 +- refactor: use Base.install instead of installPkgs in kickstart plugin. (Radek Holy) +- refactor: move kickstart arguments parsing to standalone method. (Radek Holy) +- tests: test effects instead of mock calls. (Radek Holy) +- Add debuginfo-install plugin. (RhBug:1045770) (Igor Gnatenko) +- builddep: needs to be run under root. (RhBug:1065851) (Ales Kozumplik) + +* Thu Feb 6 2014 Aleš Kozumplík - 0.0.3-1 +- tests: import mock through support so its simpler for the test cases. (Ales Kozumplik) +- packaging: fix typos in the spec. (Ales Kozumplik) +- [completion_cache] Cache installed packages, update the cache less frequently (Elad Alfassa) +- Add bash completion to dnf (Elad Alfassa) +- packaging: missing buildrequire (Ales Kozumplik) + +* Mon Jan 13 2014 Aleš Kozumplík - 0.0.2-1 +- First release. + +* Wed Jan 8 2014 Cristian Ciupitu - 0.0.1-4 +- Spec updates. + +* Tue Jan 7 2014 Aleš Kozumplík - 0.0.1-3 +- Spec updates. + +* Mon Jan 6 2014 Aleš Kozumplík - 0.0.1-2 +- Spec updates. + +* Fri Dec 20 2013 Aleš Kozumplík - 0.0.1-1 +- The initial package version.