All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Carter <jwcart2@gmail.com>
To: Petr Lautrbach <lautrbach@redhat.com>
Cc: Vit Mojzis <vmojzis@redhat.com>, selinux@vger.kernel.org
Subject: Re: [PATCH v4 4/4] python: update python.pot
Date: Wed, 12 Jul 2023 13:33:33 -0400	[thread overview]
Message-ID: <CAP+JOzQ1cFLBQ71hoH2FdXxkfccdkk-WD=7mzxywYzLgO8+uFg@mail.gmail.com> (raw)
In-Reply-To: <CAP+JOzSj+F=v4r60X2ZAqNjJf9MikJ=y-DR4QTzzJQNOBEDyEg@mail.gmail.com>

On Thu, Jul 6, 2023 at 9:39 AM James Carter <jwcart2@gmail.com> wrote:
>
> On Tue, Jun 27, 2023 at 10:12 AM Petr Lautrbach <lautrbach@redhat.com> wrote:
> >
> > Vit Mojzis <vmojzis@redhat.com> writes:
> >
> > > On 6/13/23 13:20, Petr Lautrbach wrote:
> > >> Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
> >
> > > For all four patches:
> > > Reviewed-by: Vit Mojzis <vmojzis@redhat.com>
> >
> > Thanks.
> >
> >
> > If there's no objection I'd like to merge this soon.
> >
>
> I have no objections.
> For these four patches,
> Acked-by: James Carter <jwcart2@gmail.com>
>

These four patches have been merged.
Thanks,
Jim

> >
> > >> ---
> > >>   python/po/python.pot | 963 ++++++++++++++++++++++---------------------
> > >>   1 file changed, 487 insertions(+), 476 deletions(-)
> > >>
> > >> diff --git a/python/po/python.pot b/python/po/python.pot
> > >> index 16d04eb0f18e..435a1b764e34 100644
> > >> --- a/python/po/python.pot
> > >> +++ b/python/po/python.pot
> > >> @@ -8,7 +8,7 @@ msgid ""
> > >>   msgstr ""
> > >>   "Project-Id-Version: PACKAGE VERSION\n"
> > >>   "Report-Msgid-Bugs-To: \n"
> > >> -"POT-Creation-Date: 2023-01-18 11:57+0100\n"
> > >> +"POT-Creation-Date: 2023-06-12 18:13+0200\n"
> > >>   "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> > >>   "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
> > >>   "Language-Team: LANGUAGE <LL@li.org>\n"
> > >> @@ -17,17 +17,12 @@ msgstr ""
> > >>   "Content-Type: text/plain; charset=UTF-8\n"
> > >>   "Content-Transfer-Encoding: 8bit\n"
> > >>
> > >> -#: ../audit2allow/audit2allow:239
> > >> -msgid "******************** IMPORTANT ***********************\n"
> > >> +#: ../audit2allow/audit2allow:244
> > >> +msgid "IMPORTANT"
> > >>   msgstr ""
> > >>
> > >> -#: ../audit2allow/audit2allow:240
> > >> -#, python-format
> > >> -msgid ""
> > >> -"To make this policy package active, execute:\n"
> > >> -"\n"
> > >> -"semodule -i %s\n"
> > >> -"\n"
> > >> +#: ../audit2allow/audit2allow:245
> > >> +msgid "To make this policy package active, execute:"
> > >>   msgstr ""
> > >>
> > >>   #: ../chcat/chcat:111 ../chcat/chcat:191
> > >> @@ -40,13 +35,13 @@ msgid "Can not modify sensitivity levels using '+' on %s"
> > >>   msgstr ""
> > >>
> > >>   #: ../chcat/chcat:128
> > >> -#, python-format
> > >> -msgid "%s is already in %s"
> > >> +#, python-brace-format
> > >> +msgid "{target} is already in {category}"
> > >>   msgstr ""
> > >>
> > >>   #: ../chcat/chcat:210 ../chcat/chcat:220
> > >> -#, python-format
> > >> -msgid "%s is not in %s"
> > >> +#, python-brace-format
> > >> +msgid "{target} is not in {category}"
> > >>   msgstr ""
> > >>
> > >>   #: ../chcat/chcat:291 ../chcat/chcat:296
> > >> @@ -152,218 +147,222 @@ msgstr ""
> > >>
> > >>   #: ../semanage/semanage:242
> > >>   msgid ""
> > >> -"\n"
> > >> -"MLS/MCS Security Range (MLS/MCS Systems only)\n"
> > >> -"SELinux Range  for SELinux login mapping\n"
> > >> -"defaults to the SELinux user record range.\n"
> > >> -"SELinux Range for SELinux user defaults to s0.\n"
> > >> +"MLS/MCS Security Range (MLS/MCS Systems only) SELinux Range for SELinux "
> > >> +"login mapping defaults to the SELinux user record range. SELinux Range for "
> > >> +"SELinux user defaults to s0."
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:251
> > >> +#: ../semanage/semanage:249
> > >>   msgid ""
> > >> -"\n"
> > >> -"    Protocol  for  the specified port (tcp|udp|dccp|sctp) or internet "
> > >> -"protocol\n"
> > >> -"    version for the specified node (ipv4|ipv6).\n"
> > >> +"Protocol for the specified port (tcp|udp|dccp|sctp) or internet protocol "
> > >> +"version for the specified node (ipv4|ipv6)."
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:257
> > >> -msgid ""
> > >> -"\n"
> > >> -"    Subnet prefix for  the specified infiniband ibpkey.\n"
> > >> +#: ../semanage/semanage:253
> > >> +msgid "Subnet prefix for  the specified infiniband ibpkey."
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:262
> > >> -msgid ""
> > >> -"\n"
> > >> -"    Name for the specified infiniband end port.\n"
> > >> +#: ../semanage/semanage:256
> > >> +msgid "Name for the specified infiniband end port."
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:267
> > >> +#: ../semanage/semanage:259
> > >>   #, python-format
> > >>   msgid "Modify a record of the %s object type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:271
> > >> +#: ../semanage/semanage:263
> > >>   #, python-format
> > >>   msgid "List records of the %s object type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:275
> > >> +#: ../semanage/semanage:267
> > >>   #, python-format
> > >>   msgid "Delete a record of the %s object type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:279
> > >> +#: ../semanage/semanage:271
> > >>   msgid "Extract customizable commands, for use within a transaction"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:283
> > >> +#: ../semanage/semanage:275
> > >>   #, python-format
> > >>   msgid "Remove all %s objects local customizations"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:287
> > >> +#: ../semanage/semanage:279
> > >>   msgid "SELinux user name"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:292
> > >> +#: ../semanage/semanage:284
> > >>   msgid "Manage login mappings between linux users and SELinux confined users"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:309
> > >> +#: ../semanage/semanage:301
> > >>   #, python-format
> > >>   msgid "login_name | %%groupname"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:361
> > >> +#: ../semanage/semanage:344
> > >>   msgid "Manage file context mapping definitions"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:375
> > >> +#: ../semanage/semanage:359
> > >> +msgid ""
> > >> +"Substitute target path with sourcepath when generating default label. This "
> > >> +"is used with fcontext. Requires source and target path arguments. The "
> > >> +"context labeling for the target subtree is made equivalent to that defined "
> > >> +"for the source."
> > >> +msgstr ""
> > >> +
> > >> +#: ../semanage/semanage:363
> > >>   msgid ""
> > >> -"Substitute  target  path with sourcepath when generating default\n"
> > >> -"                                                                  label.  "
> > >> -"This is used with fcontext. Requires source  and  target\n"
> > >> -"                                                                  path  "
> > >> -"arguments.  The context labeling for the target subtree is\n"
> > >> -"                                                                  made "
> > >> -"equivalent to that defined for the source."
> > >> +"File Type. This is used with fcontext. Requires a file type as shown in the "
> > >> +"mode field by ls, e.g. use d to match only directories or f to match only "
> > >> +"regular files. The following file type options can be passed: f (regular "
> > >> +"file), d (directory), c (character device), b (block device), s (socket), l "
> > >> +"(symbolic link), p (named pipe). If you do not specify a file type, the file "
> > >> +"type will default to \"all files\"."
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:383
> > >> +#: ../semanage/semanage:371
> > >>   msgid ""
> > >>   "Path to be labeled (may be in the form of a Perl compatible regular "
> > >>   "expression)"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:411
> > >> +#: ../semanage/semanage:399
> > >>   msgid "Manage SELinux confined users (Roles and levels for an SELinux user)"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:429
> > >> +#: ../semanage/semanage:417
> > >>   msgid ""
> > >> -"\n"
> > >> -"SELinux Roles.  You must enclose multiple roles within quotes, separate by "
> > >> -"spaces. Or specify -R multiple times.\n"
> > >> +"SELinux Roles. You must enclose multiple roles within quotes, separate by "
> > >> +"spaces. Or specify -R multiple times."
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:433
> > >> +#: ../semanage/semanage:419
> > >>   msgid "selinux_name"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:461
> > >> +#: ../semanage/semanage:447
> > >>   msgid "Manage network port type definitions"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:477
> > >> +#: ../semanage/semanage:463
> > >>   msgid "port | port_range"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:506
> > >> +#: ../semanage/semanage:492
> > >>   msgid "Manage infiniband ibpkey type definitions"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:522
> > >> +#: ../semanage/semanage:508
> > >>   msgid "pkey | pkey_range"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:549
> > >> +#: ../semanage/semanage:535
> > >>   msgid "Manage infiniband end port type definitions"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:565
> > >> +#: ../semanage/semanage:551
> > >>   msgid "ibendport"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:592
> > >> +#: ../semanage/semanage:578
> > >>   msgid "Manage network interface type definitions"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:607
> > >> +#: ../semanage/semanage:593
> > >>   msgid "interface_spec"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:631
> > >> +#: ../semanage/semanage:617
> > >>   msgid "Manage SELinux policy modules"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:642
> > >> +#: ../semanage/semanage:628
> > >>   msgid "Add a module"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:643
> > >> +#: ../semanage/semanage:629
> > >>   msgid "Remove a module"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:644
> > >> +#: ../semanage/semanage:630
> > >>   msgid "Disable a module"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:645
> > >> +#: ../semanage/semanage:631
> > >>   msgid "Enable a module"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:672
> > >> +#: ../semanage/semanage:658
> > >>   msgid "Manage network node type definitions"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:686
> > >> +#: ../semanage/semanage:672
> > >>   msgid "Network Mask"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:690
> > >> +#: ../semanage/semanage:676
> > >>   msgid "node"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:715
> > >> +#: ../semanage/semanage:701
> > >>   msgid "Manage booleans to selectively enable functionality"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:720
> > >> +#: ../semanage/semanage:706
> > >>   msgid "boolean"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:730
> > >> +#: ../semanage/semanage:716
> > >>   msgid "Enable the boolean"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:731
> > >> +#: ../semanage/semanage:717
> > >>   msgid "Disable the boolean"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:752
> > >> +#: ../semanage/semanage:738
> > >>   msgid "semanage permissive: error: the following argument is required: type\n"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:756
> > >> +#: ../semanage/semanage:742
> > >>   msgid "Manage process type enforcement mode"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:768 ../semanage/seobject.py:2677
> > >> +#: ../semanage/semanage:754 ../semanage/seobject.py:2672
> > >>   msgid "type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:779
> > >> +#: ../semanage/semanage:765
> > >>   msgid "Disable/Enable dontaudit rules in policy"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:799
> > >> +#: ../semanage/semanage:785
> > >>   msgid "Output local customizations"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:801
> > >> +#: ../semanage/semanage:787
> > >>   msgid "Output file"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:894
> > >> +#: ../semanage/semanage:880
> > >>   msgid "Import local customizations"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/semanage:897
> > >> +#: ../semanage/semanage:883
> > >>   msgid "Input file"
> > >>   msgstr ""
> > >>
> > >> +#: ../semanage/semanage:891
> > >> +msgid ""
> > >> +"semanage is used to configure certain elements of SELinux policy with-out "
> > >> +"requiring modification or recompilation from policy source."
> > >> +msgstr ""
> > >> +
> > >>   #: ../semanage/seobject.py:279
> > >>   msgid "Could not create semanage handle"
> > >>   msgstr ""
> > >> @@ -485,123 +484,115 @@ msgstr ""
> > >>   msgid "Customized Permissive Types"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:510
> > >> -msgid ""
> > >> -"The sepolgen python module is required to setup permissive domains.\n"
> > >> -"In some distributions it is included in the policycoreutils-devel package.\n"
> > >> -"# yum install policycoreutils-devel\n"
> > >> -"Or similar for your distro."
> > >> -msgstr ""
> > >> -
> > >> -#: ../semanage/seobject.py:520
> > >> +#: ../semanage/seobject.py:515
> > >>   #, python-format
> > >>   msgid "Could not set permissive domain %s (module installation failed)"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:526
> > >> +#: ../semanage/seobject.py:521
> > >>   #, python-format
> > >>   msgid "Could not remove permissive domain %s (remove failed)"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:563 ../semanage/seobject.py:633
> > >> -#: ../semanage/seobject.py:678 ../semanage/seobject.py:797
> > >> -#: ../semanage/seobject.py:827 ../semanage/seobject.py:892
> > >> -#: ../semanage/seobject.py:948 ../semanage/seobject.py:1226
> > >> -#: ../semanage/seobject.py:1492 ../semanage/seobject.py:2502
> > >> -#: ../semanage/seobject.py:2575 ../semanage/seobject.py:2599
> > >> -#: ../semanage/seobject.py:2730 ../semanage/seobject.py:2781
> > >> +#: ../semanage/seobject.py:558 ../semanage/seobject.py:628
> > >> +#: ../semanage/seobject.py:673 ../semanage/seobject.py:792
> > >> +#: ../semanage/seobject.py:822 ../semanage/seobject.py:887
> > >> +#: ../semanage/seobject.py:943 ../semanage/seobject.py:1221
> > >> +#: ../semanage/seobject.py:1487 ../semanage/seobject.py:2497
> > >> +#: ../semanage/seobject.py:2570 ../semanage/seobject.py:2594
> > >> +#: ../semanage/seobject.py:2725 ../semanage/seobject.py:2776
> > >>   #, python-format
> > >>   msgid "Could not create a key for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:567 ../semanage/seobject.py:637
> > >> -#: ../semanage/seobject.py:682 ../semanage/seobject.py:688
> > >> +#: ../semanage/seobject.py:562 ../semanage/seobject.py:632
> > >> +#: ../semanage/seobject.py:677 ../semanage/seobject.py:683
> > >>   #, python-format
> > >>   msgid "Could not check if login mapping for %s is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:569
> > >> +#: ../semanage/seobject.py:564
> > >>   #, python-format
> > >>   msgid "Login mapping for %s is already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:574
> > >> +#: ../semanage/seobject.py:569
> > >>   #, python-format
> > >>   msgid "Linux Group %s does not exist"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:579
> > >> +#: ../semanage/seobject.py:574
> > >>   #, python-format
> > >>   msgid "Linux User %s does not exist"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:583
> > >> +#: ../semanage/seobject.py:578
> > >>   #, python-format
> > >>   msgid "Could not create login mapping for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:587 ../semanage/seobject.py:841
> > >> +#: ../semanage/seobject.py:582 ../semanage/seobject.py:836
> > >>   #, python-format
> > >>   msgid "Could not set name for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:592 ../semanage/seobject.py:851
> > >> +#: ../semanage/seobject.py:587 ../semanage/seobject.py:846
> > >>   #, python-format
> > >>   msgid "Could not set MLS range for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:596
> > >> +#: ../semanage/seobject.py:591
> > >>   #, python-format
> > >>   msgid "Could not set SELinux user for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:600
> > >> +#: ../semanage/seobject.py:595
> > >>   #, python-format
> > >>   msgid "Could not add login mapping for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:616
> > >> +#: ../semanage/seobject.py:611
> > >>   msgid "Requires seuser or serange"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:639 ../semanage/seobject.py:684
> > >> +#: ../semanage/seobject.py:634 ../semanage/seobject.py:679
> > >>   #, python-format
> > >>   msgid "Login mapping for %s is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:643
> > >> +#: ../semanage/seobject.py:638
> > >>   #, python-format
> > >>   msgid "Could not query seuser for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:658
> > >> +#: ../semanage/seobject.py:653
> > >>   #, python-format
> > >>   msgid "Could not modify login mapping for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:690
> > >> +#: ../semanage/seobject.py:685
> > >>   #, python-format
> > >>   msgid "Login mapping for %s is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:694
> > >> +#: ../semanage/seobject.py:689
> > >>   #, python-format
> > >>   msgid "Could not delete login mapping for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:713 ../semanage/seobject.py:745
> > >> -#: ../semanage/seobject.py:991
> > >> +#: ../semanage/seobject.py:708 ../semanage/seobject.py:740
> > >> +#: ../semanage/seobject.py:986
> > >>   msgid "Could not list login mappings"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:772 ../semanage/seobject.py:784
> > >> +#: ../semanage/seobject.py:767 ../semanage/seobject.py:779
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:1156
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:3138
> > >>   msgid "Login Name"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:772 ../semanage/seobject.py:784
> > >> -#: ../semanage/seobject.py:1041 ../semanage/seobject.py:1046
> > >> +#: ../semanage/seobject.py:767 ../semanage/seobject.py:779
> > >> +#: ../semanage/seobject.py:1036 ../semanage/seobject.py:1041
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:1182
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:3156
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:3242
> > >> @@ -609,938 +600,958 @@ msgstr ""
> > >>   msgid "SELinux User"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:772
> > >> +#: ../semanage/seobject.py:767
> > >>   msgid "MLS/MCS Range"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:772
> > >> +#: ../semanage/seobject.py:767
> > >>   msgid "Service"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:800 ../semanage/seobject.py:831
> > >> -#: ../semanage/seobject.py:896 ../semanage/seobject.py:952
> > >> -#: ../semanage/seobject.py:958
> > >> +#: ../semanage/seobject.py:795 ../semanage/seobject.py:826
> > >> +#: ../semanage/seobject.py:891 ../semanage/seobject.py:947
> > >> +#: ../semanage/seobject.py:953
> > >>   #, python-format
> > >>   msgid "Could not check if SELinux user %s is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:803 ../semanage/seobject.py:902
> > >> -#: ../semanage/seobject.py:964
> > >> +#: ../semanage/seobject.py:798 ../semanage/seobject.py:897
> > >> +#: ../semanage/seobject.py:959
> > >>   #, python-format
> > >>   msgid "Could not query user for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:823
> > >> +#: ../semanage/seobject.py:818
> > >>   #, python-format
> > >>   msgid "You must add at least one role for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:833
> > >> +#: ../semanage/seobject.py:828
> > >>   #, python-format
> > >>   msgid "SELinux user %s is already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:837
> > >> +#: ../semanage/seobject.py:832
> > >>   #, python-format
> > >>   msgid "Could not create SELinux user for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:846
> > >> -#, python-format
> > >> -msgid "Could not add role %s for %s"
> > >> +#: ../semanage/seobject.py:841
> > >> +#, python-brace-format
> > >> +msgid "Could not add role {role} for {name}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:855
> > >> +#: ../semanage/seobject.py:850
> > >>   #, python-format
> > >>   msgid "Could not set MLS level for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:858
> > >> -#, python-format
> > >> -msgid "Could not add prefix %s for %s"
> > >> +#: ../semanage/seobject.py:853
> > >> +#, python-brace-format
> > >> +msgid "Could not add prefix {prefix} for {role}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:861
> > >> +#: ../semanage/seobject.py:856
> > >>   #, python-format
> > >>   msgid "Could not extract key for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:865
> > >> +#: ../semanage/seobject.py:860
> > >>   #, python-format
> > >>   msgid "Could not add SELinux user %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:886
> > >> +#: ../semanage/seobject.py:881
> > >>   msgid "Requires prefix, roles, level or range"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:888
> > >> +#: ../semanage/seobject.py:883
> > >>   msgid "Requires prefix or roles"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:898 ../semanage/seobject.py:954
> > >> +#: ../semanage/seobject.py:893 ../semanage/seobject.py:949
> > >>   #, python-format
> > >>   msgid "SELinux user %s is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:927
> > >> +#: ../semanage/seobject.py:922
> > >>   #, python-format
> > >>   msgid "Could not modify SELinux user %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:960
> > >> +#: ../semanage/seobject.py:955
> > >>   #, python-format
> > >>   msgid "SELinux user %s is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:971
> > >> +#: ../semanage/seobject.py:966
> > >>   #, python-format
> > >>   msgid "Could not delete SELinux user %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1009
> > >> +#: ../semanage/seobject.py:1004
> > >>   msgid "Could not list SELinux users"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1015
> > >> +#: ../semanage/seobject.py:1010
> > >>   #, python-format
> > >>   msgid "Could not list roles for user %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1040
> > >> +#: ../semanage/seobject.py:1035
> > >>   msgid "Labeling"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1040
> > >> +#: ../semanage/seobject.py:1035
> > >>   msgid "MLS/"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1041
> > >> +#: ../semanage/seobject.py:1036
> > >>   msgid "Prefix"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1041
> > >> +#: ../semanage/seobject.py:1036
> > >>   msgid "MCS Level"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1041
> > >> +#: ../semanage/seobject.py:1036
> > >>   msgid "MCS Range"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1041 ../semanage/seobject.py:1046
> > >> +#: ../semanage/seobject.py:1036 ../semanage/seobject.py:1041
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:3262
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:5233
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:5382
> > >>   msgid "SELinux Roles"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1071
> > >> +#: ../semanage/seobject.py:1066
> > >>   msgid "Protocol has to be one of udp, tcp, dccp or sctp"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1073
> > >> +#: ../semanage/seobject.py:1068
> > >>   msgid "Port is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1087
> > >> +#: ../semanage/seobject.py:1082
> > >>   msgid "Invalid Port"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1091 ../semanage/seobject.py:1365
> > >> -#, python-format
> > >> -msgid "Could not create a key for %s/%s"
> > >> +#: ../semanage/seobject.py:1086
> > >> +#, python-brace-format
> > >> +msgid "Could not create a key for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1102 ../semanage/seobject.py:1376
> > >> -#: ../semanage/seobject.py:1631
> > >> +#: ../semanage/seobject.py:1097 ../semanage/seobject.py:1371
> > >> +#: ../semanage/seobject.py:1626
> > >>   msgid "Type is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1107 ../semanage/seobject.py:1172
> > >> +#: ../semanage/seobject.py:1102 ../semanage/seobject.py:1167
> > >>   #, python-format
> > >>   msgid "Type %s is invalid, must be a port type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1113 ../semanage/seobject.py:1178
> > >> -#: ../semanage/seobject.py:1244 ../semanage/seobject.py:1250
> > >> -#, python-format
> > >> -msgid "Could not check if port %s/%s is defined"
> > >> +#: ../semanage/seobject.py:1108 ../semanage/seobject.py:1173
> > >> +#: ../semanage/seobject.py:1239 ../semanage/seobject.py:1245
> > >> +#, python-brace-format
> > >> +msgid "Could not check if port {proto}/{port} is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1115
> > >> -#, python-format
> > >> -msgid "Port %s/%s already defined"
> > >> +#: ../semanage/seobject.py:1110
> > >> +#, python-brace-format
> > >> +msgid "Port {proto}/{port} already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1119
> > >> -#, python-format
> > >> -msgid "Could not create port for %s/%s"
> > >> +#: ../semanage/seobject.py:1114
> > >> +#, python-brace-format
> > >> +msgid "Could not create port for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1125 ../semanage/seobject.py:1399
> > >> -#: ../semanage/seobject.py:1653
> > >> -#, python-format
> > >> -msgid "Could not create context for %s/%s"
> > >> +#: ../semanage/seobject.py:1120
> > >> +#, python-brace-format
> > >> +msgid "Could not create context for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1129
> > >> -#, python-format
> > >> -msgid "Could not set user in port context for %s/%s"
> > >> +#: ../semanage/seobject.py:1124
> > >> +#, python-brace-format
> > >> +msgid "Could not set user in port context for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1133
> > >> -#, python-format
> > >> -msgid "Could not set role in port context for %s/%s"
> > >> +#: ../semanage/seobject.py:1128
> > >> +#, python-brace-format
> > >> +msgid "Could not set role in port context for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1137
> > >> -#, python-format
> > >> -msgid "Could not set type in port context for %s/%s"
> > >> +#: ../semanage/seobject.py:1132
> > >> +#, python-brace-format
> > >> +msgid "Could not set type in port context for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1142
> > >> -#, python-format
> > >> -msgid "Could not set mls fields in port context for %s/%s"
> > >> +#: ../semanage/seobject.py:1137
> > >> +#, python-brace-format
> > >> +msgid "Could not set mls fields in port context for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1146
> > >> -#, python-format
> > >> -msgid "Could not set port context for %s/%s"
> > >> +#: ../semanage/seobject.py:1141
> > >> +#, python-brace-format
> > >> +msgid "Could not set port context for {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1150
> > >> -#, python-format
> > >> -msgid "Could not add port %s/%s"
> > >> +#: ../semanage/seobject.py:1145
> > >> +#, python-brace-format
> > >> +msgid "Could not add port {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1166 ../semanage/seobject.py:1438
> > >> -#: ../semanage/seobject.py:1692 ../semanage/seobject.py:1970
> > >> -#: ../semanage/seobject.py:2176
> > >> +#: ../semanage/seobject.py:1161 ../semanage/seobject.py:1433
> > >> +#: ../semanage/seobject.py:1687 ../semanage/seobject.py:1965
> > >> +#: ../semanage/seobject.py:2171
> > >>   msgid "Requires setype or serange"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1168 ../semanage/seobject.py:1440
> > >> -#: ../semanage/seobject.py:1694
> > >> +#: ../semanage/seobject.py:1163 ../semanage/seobject.py:1435
> > >> +#: ../semanage/seobject.py:1689
> > >>   msgid "Requires setype"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1246
> > >> -#, python-format
> > >> -msgid "Port %s/%s is not defined"
> > >> +#: ../semanage/seobject.py:1175 ../semanage/seobject.py:1241
> > >> +#, python-brace-format
> > >> +msgid "Port {proto}/{port} is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1184
> > >> -#, python-format
> > >> -msgid "Could not query port %s/%s"
> > >> +#: ../semanage/seobject.py:1179
> > >> +#, python-brace-format
> > >> +msgid "Could not query port {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1198
> > >> -#, python-format
> > >> -msgid "Could not modify port %s/%s"
> > >> +#: ../semanage/seobject.py:1193
> > >> +#, python-brace-format
> > >> +msgid "Could not modify port {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1213
> > >> +#: ../semanage/seobject.py:1208
> > >>   msgid "Could not list the ports"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1230
> > >> +#: ../semanage/seobject.py:1225
> > >>   #, python-format
> > >>   msgid "Could not delete the port %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1252
> > >> -#, python-format
> > >> -msgid "Port %s/%s is defined in policy, cannot be deleted"
> > >> +#: ../semanage/seobject.py:1247
> > >> +#, python-brace-format
> > >> +msgid "Port {proto}/{port} is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1256
> > >> -#, python-format
> > >> -msgid "Could not delete port %s/%s"
> > >> +#: ../semanage/seobject.py:1251
> > >> +#, python-brace-format
> > >> +msgid "Could not delete port {proto}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1274 ../semanage/seobject.py:1294
> > >> +#: ../semanage/seobject.py:1269 ../semanage/seobject.py:1289
> > >>   msgid "Could not list ports"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1329 ../sepolicy/sepolicy/sepolicy.glade:2668
> > >> +#: ../semanage/seobject.py:1324 ../sepolicy/sepolicy/sepolicy.glade:2668
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:2766
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:4630
> > >>   msgid "SELinux Port Type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1329
> > >> +#: ../semanage/seobject.py:1324
> > >>   msgid "Proto"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1329 ../semanage/seobject.py:1835
> > >> +#: ../semanage/seobject.py:1324 ../semanage/seobject.py:1830
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:1407
> > >>   msgid "Port Number"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1351
> > >> +#: ../semanage/seobject.py:1346
> > >>   msgid "Subnet Prefix is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1361
> > >> +#: ../semanage/seobject.py:1356
> > >>   msgid "Invalid Pkey"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1381 ../semanage/seobject.py:1445
> > >> +#: ../semanage/seobject.py:1360
> > >> +#, python-brace-format
> > >> +msgid "Could not create a key for {subnet_prefix}/{pkey}"
> > >> +msgstr ""
> > >> +
> > >> +#: ../semanage/seobject.py:1376 ../semanage/seobject.py:1440
> > >>   #, python-format
> > >>   msgid "Type %s is invalid, must be a ibpkey type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1387 ../semanage/seobject.py:1451
> > >> -#: ../semanage/seobject.py:1505 ../semanage/seobject.py:1511
> > >> -#, python-format
> > >> -msgid "Could not check if ibpkey %s/%s is defined"
> > >> +#: ../semanage/seobject.py:1382 ../semanage/seobject.py:1446
> > >> +#: ../semanage/seobject.py:1500 ../semanage/seobject.py:1506
> > >> +#, python-brace-format
> > >> +msgid "Could not check if ibpkey {subnet_prefix}/{pkey} is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1389
> > >> -#, python-format
> > >> -msgid "ibpkey %s/%s already defined"
> > >> +#: ../semanage/seobject.py:1384
> > >> +#, python-brace-format
> > >> +msgid "ibpkey {subnet_prefix}/{pkey} already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1393
> > >> -#, python-format
> > >> -msgid "Could not create ibpkey for %s/%s"
> > >> +#: ../semanage/seobject.py:1388
> > >> +#, python-brace-format
> > >> +msgid "Could not create ibpkey for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1403
> > >> -#, python-format
> > >> -msgid "Could not set user in ibpkey context for %s/%s"
> > >> +#: ../semanage/seobject.py:1394
> > >> +#, python-brace-format
> > >> +msgid "Could not create context for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1407
> > >> -#, python-format
> > >> -msgid "Could not set role in ibpkey context for %s/%s"
> > >> +#: ../semanage/seobject.py:1398
> > >> +#, python-brace-format
> > >> +msgid "Could not set user in ibpkey context for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1411
> > >> -#, python-format
> > >> -msgid "Could not set type in ibpkey context for %s/%s"
> > >> +#: ../semanage/seobject.py:1402
> > >> +#, python-brace-format
> > >> +msgid "Could not set role in ibpkey context for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1416
> > >> -#, python-format
> > >> -msgid "Could not set mls fields in ibpkey context for %s/%s"
> > >> +#: ../semanage/seobject.py:1406
> > >> +#, python-brace-format
> > >> +msgid "Could not set type in ibpkey context for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1420
> > >> -#, python-format
> > >> -msgid "Could not set ibpkey context for %s/%s"
> > >> +#: ../semanage/seobject.py:1411
> > >> +#, python-brace-format
> > >> +msgid "Could not set mls fields in ibpkey context for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1424
> > >> -#, python-format
> > >> -msgid "Could not add ibpkey %s/%s"
> > >> +#: ../semanage/seobject.py:1415
> > >> +#, python-brace-format
> > >> +msgid "Could not set ibpkey context for {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1507
> > >> -#, python-format
> > >> -msgid "ibpkey %s/%s is not defined"
> > >> +#: ../semanage/seobject.py:1419
> > >> +#, python-brace-format
> > >> +msgid "Could not add ibpkey {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1457
> > >> -#, python-format
> > >> -msgid "Could not query ibpkey %s/%s"
> > >> +#: ../semanage/seobject.py:1448 ../semanage/seobject.py:1502
> > >> +#, python-brace-format
> > >> +msgid "ibpkey {subnet_prefix}/{pkey} is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1468
> > >> -#, python-format
> > >> -msgid "Could not modify ibpkey %s/%s"
> > >> +#: ../semanage/seobject.py:1452
> > >> +#, python-brace-format
> > >> +msgid "Could not query ibpkey {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1481
> > >> +#: ../semanage/seobject.py:1463
> > >> +#, python-brace-format
> > >> +msgid "Could not modify ibpkey {subnet_prefix}/{pkey}"
> > >> +msgstr ""
> > >> +
> > >> +#: ../semanage/seobject.py:1476
> > >>   msgid "Could not list the ibpkeys"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1496
> > >> +#: ../semanage/seobject.py:1491
> > >>   #, python-format
> > >>   msgid "Could not delete the ibpkey %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1513
> > >> -#, python-format
> > >> -msgid "ibpkey %s/%s is defined in policy, cannot be deleted"
> > >> +#: ../semanage/seobject.py:1508
> > >> +#, python-brace-format
> > >> +msgid "ibpkey {subnet_prefix}/{pkey} is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1517
> > >> -#, python-format
> > >> -msgid "Could not delete ibpkey %s/%s"
> > >> +#: ../semanage/seobject.py:1512
> > >> +#, python-brace-format
> > >> +msgid "Could not delete ibpkey {subnet_prefix}/{pkey}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1533 ../semanage/seobject.py:1554
> > >> +#: ../semanage/seobject.py:1528 ../semanage/seobject.py:1549
> > >>   msgid "Could not list ibpkeys"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1589
> > >> +#: ../semanage/seobject.py:1584
> > >>   msgid "SELinux IB Pkey Type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1589
> > >> +#: ../semanage/seobject.py:1584
> > >>   msgid "Subnet_Prefix"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1589
> > >> +#: ../semanage/seobject.py:1584
> > >>   msgid "Pkey Number"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1611
> > >> +#: ../semanage/seobject.py:1606
> > >>   msgid "IB device name is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1616
> > >> +#: ../semanage/seobject.py:1611
> > >>   msgid "Invalid Port Number"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1620
> > >> -#, python-format
> > >> -msgid "Could not create a key for ibendport %s/%s"
> > >> +#: ../semanage/seobject.py:1615
> > >> +#, python-brace-format
> > >> +msgid "Could not create a key for ibendport {ibdev_name}/{ibendport}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1636 ../semanage/seobject.py:1699
> > >> +#: ../semanage/seobject.py:1631 ../semanage/seobject.py:1694
> > >>   #, python-format
> > >>   msgid "Type %s is invalid, must be an ibendport type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1641 ../semanage/seobject.py:1705
> > >> -#: ../semanage/seobject.py:1757 ../semanage/seobject.py:1763
> > >> -#, python-format
> > >> -msgid "Could not check if ibendport %s/%s is defined"
> > >> +#: ../semanage/seobject.py:1636
> > >> +#, python-brace-format
> > >> +msgid "Could not check if ibendport {ibdev_name}/{port} is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1643
> > >> -#, python-format
> > >> -msgid "ibendport %s/%s already defined"
> > >> +#: ../semanage/seobject.py:1638
> > >> +#, python-brace-format
> > >> +msgid "ibendport {ibdev_name}/{port} already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1647
> > >> -#, python-format
> > >> -msgid "Could not create ibendport for %s/%s"
> > >> +#: ../semanage/seobject.py:1642
> > >> +#, python-brace-format
> > >> +msgid "Could not create ibendport for {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1657
> > >> -#, python-format
> > >> -msgid "Could not set user in ibendport context for %s/%s"
> > >> +#: ../semanage/seobject.py:1648
> > >> +#, python-brace-format
> > >> +msgid "Could not create context for {ibendport}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1661
> > >> -#, python-format
> > >> -msgid "Could not set role in ibendport context for %s/%s"
> > >> +#: ../semanage/seobject.py:1652
> > >> +#, python-brace-format
> > >> +msgid "Could not set user in ibendport context for {ibdev_name}/{port}"
> > >> +msgstr ""
> > >> +
> > >> +#: ../semanage/seobject.py:1656
> > >> +#, python-brace-format
> > >> +msgid "Could not set role in ibendport context for {ibdev_name}/{port}"
> > >> +msgstr ""
> > >> +
> > >> +#: ../semanage/seobject.py:1660
> > >> +#, python-brace-format
> > >> +msgid "Could not set type in ibendport context for {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >>   #: ../semanage/seobject.py:1665
> > >> -#, python-format
> > >> -msgid "Could not set type in ibendport context for %s/%s"
> > >> +#, python-brace-format
> > >> +msgid "Could not set mls fields in ibendport context for {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1670
> > >> -#, python-format
> > >> -msgid "Could not set mls fields in ibendport context for %s/%s"
> > >> +#: ../semanage/seobject.py:1669
> > >> +#, python-brace-format
> > >> +msgid "Could not set ibendport context for {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1674
> > >> -#, python-format
> > >> -msgid "Could not set ibendport context for %s/%s"
> > >> +#: ../semanage/seobject.py:1673
> > >> +#, python-brace-format
> > >> +msgid "Could not add ibendport {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1678
> > >> -#, python-format
> > >> -msgid "Could not add ibendport %s/%s"
> > >> +#: ../semanage/seobject.py:1700 ../semanage/seobject.py:1752
> > >> +#: ../semanage/seobject.py:1758
> > >> +#, python-brace-format
> > >> +msgid "Could not check if ibendport {ibdev_name}/{ibendport} is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1707 ../semanage/seobject.py:1759
> > >> -#, python-format
> > >> -msgid "ibendport %s/%s is not defined"
> > >> +#: ../semanage/seobject.py:1702 ../semanage/seobject.py:1754
> > >> +#, python-brace-format
> > >> +msgid "ibendport {ibdev_name}/{ibendport} is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1711
> > >> -#, python-format
> > >> -msgid "Could not query ibendport %s/%s"
> > >> +#: ../semanage/seobject.py:1706
> > >> +#, python-brace-format
> > >> +msgid "Could not query ibendport {ibdev_name}/{ibendport}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1722
> > >> -#, python-format
> > >> -msgid "Could not modify ibendport %s/%s"
> > >> +#: ../semanage/seobject.py:1717
> > >> +#, python-brace-format
> > >> +msgid "Could not modify ibendport {ibdev_name}/{ibendport}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1735
> > >> +#: ../semanage/seobject.py:1730
> > >>   msgid "Could not list the ibendports"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1744
> > >> -#, python-format
> > >> -msgid "Could not create a key for %s/%d"
> > >> +#: ../semanage/seobject.py:1739
> > >> +#, python-brace-format
> > >> +msgid "Could not create a key for {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1748
> > >> -#, python-format
> > >> -msgid "Could not delete the ibendport %s/%d"
> > >> +#: ../semanage/seobject.py:1743
> > >> +#, python-brace-format
> > >> +msgid "Could not delete the ibendport {ibdev_name}/{port}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1765
> > >> -#, python-format
> > >> -msgid "ibendport %s/%s is defined in policy, cannot be deleted"
> > >> +#: ../semanage/seobject.py:1760
> > >> +#, python-brace-format
> > >> +msgid ""
> > >> +"ibendport {ibdev_name}/{ibendport} is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1769
> > >> -#, python-format
> > >> -msgid "Could not delete ibendport %s/%s"
> > >> +#: ../semanage/seobject.py:1764
> > >> +#, python-brace-format
> > >> +msgid "Could not delete ibendport {ibdev_name}/{ibendport}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1785 ../semanage/seobject.py:1805
> > >> +#: ../semanage/seobject.py:1780 ../semanage/seobject.py:1800
> > >>   msgid "Could not list ibendports"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1835
> > >> +#: ../semanage/seobject.py:1830
> > >>   msgid "SELinux IB End Port Type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1835
> > >> +#: ../semanage/seobject.py:1830
> > >>   msgid "IB Device Name"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1861
> > >> +#: ../semanage/seobject.py:1856
> > >>   msgid "Node Address is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1873 ../semanage/seobject.py:1885
> > >> +#: ../semanage/seobject.py:1868 ../semanage/seobject.py:1880
> > >>   msgid "Unknown or missing protocol"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1899
> > >> +#: ../semanage/seobject.py:1894
> > >>   msgid "SELinux node type is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1904 ../semanage/seobject.py:1975
> > >> +#: ../semanage/seobject.py:1899 ../semanage/seobject.py:1970
> > >>   #, python-format
> > >>   msgid "Type %s is invalid, must be a node type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1908 ../semanage/seobject.py:1979
> > >> -#: ../semanage/seobject.py:2016 ../semanage/seobject.py:2117
> > >> -#: ../semanage/seobject.py:2180 ../semanage/seobject.py:2216
> > >> -#: ../semanage/seobject.py:2435
> > >> +#: ../semanage/seobject.py:1903 ../semanage/seobject.py:1974
> > >> +#: ../semanage/seobject.py:2011 ../semanage/seobject.py:2112
> > >> +#: ../semanage/seobject.py:2175 ../semanage/seobject.py:2211
> > >> +#: ../semanage/seobject.py:2430
> > >>   #, python-format
> > >>   msgid "Could not create key for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1912 ../semanage/seobject.py:1983
> > >> -#: ../semanage/seobject.py:2020 ../semanage/seobject.py:2026
> > >> +#: ../semanage/seobject.py:1907 ../semanage/seobject.py:1978
> > >> +#: ../semanage/seobject.py:2015 ../semanage/seobject.py:2021
> > >>   #, python-format
> > >>   msgid "Could not check if addr %s is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1914
> > >> +#: ../semanage/seobject.py:1909
> > >>   #, python-format
> > >>   msgid "Addr %s already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1918
> > >> +#: ../semanage/seobject.py:1913
> > >>   #, python-format
> > >>   msgid "Could not create addr for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1924 ../semanage/seobject.py:2132
> > >> -#: ../semanage/seobject.py:2389
> > >> +#: ../semanage/seobject.py:1919 ../semanage/seobject.py:2127
> > >> +#: ../semanage/seobject.py:2384
> > >>   #, python-format
> > >>   msgid "Could not create context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1928
> > >> +#: ../semanage/seobject.py:1923
> > >>   #, python-format
> > >>   msgid "Could not set mask for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1932
> > >> +#: ../semanage/seobject.py:1927
> > >>   #, python-format
> > >>   msgid "Could not set user in addr context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1936
> > >> +#: ../semanage/seobject.py:1931
> > >>   #, python-format
> > >>   msgid "Could not set role in addr context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1940
> > >> +#: ../semanage/seobject.py:1935
> > >>   #, python-format
> > >>   msgid "Could not set type in addr context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1945
> > >> +#: ../semanage/seobject.py:1940
> > >>   #, python-format
> > >>   msgid "Could not set mls fields in addr context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1949
> > >> +#: ../semanage/seobject.py:1944
> > >>   #, python-format
> > >>   msgid "Could not set addr context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1953
> > >> +#: ../semanage/seobject.py:1948
> > >>   #, python-format
> > >>   msgid "Could not add addr %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1985 ../semanage/seobject.py:2022
> > >> +#: ../semanage/seobject.py:1980 ../semanage/seobject.py:2017
> > >>   #, python-format
> > >>   msgid "Addr %s is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1989
> > >> +#: ../semanage/seobject.py:1984
> > >>   #, python-format
> > >>   msgid "Could not query addr %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:1999
> > >> +#: ../semanage/seobject.py:1994
> > >>   #, python-format
> > >>   msgid "Could not modify addr %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2028
> > >> +#: ../semanage/seobject.py:2023
> > >>   #, python-format
> > >>   msgid "Addr %s is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2032
> > >> +#: ../semanage/seobject.py:2027
> > >>   #, python-format
> > >>   msgid "Could not delete addr %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2046
> > >> +#: ../semanage/seobject.py:2041
> > >>   msgid "Could not deleteall node mappings"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2060
> > >> +#: ../semanage/seobject.py:2055
> > >>   msgid "Could not list addrs"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2113 ../semanage/seobject.py:2426
> > >> +#: ../semanage/seobject.py:2108 ../semanage/seobject.py:2421
> > >>   msgid "SELinux Type is required"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2121 ../semanage/seobject.py:2184
> > >> -#: ../semanage/seobject.py:2220 ../semanage/seobject.py:2226
> > >> +#: ../semanage/seobject.py:2116 ../semanage/seobject.py:2179
> > >> +#: ../semanage/seobject.py:2215 ../semanage/seobject.py:2221
> > >>   #, python-format
> > >>   msgid "Could not check if interface %s is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2123
> > >> +#: ../semanage/seobject.py:2118
> > >>   #, python-format
> > >>   msgid "Interface %s already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2127
> > >> +#: ../semanage/seobject.py:2122
> > >>   #, python-format
> > >>   msgid "Could not create interface for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2136
> > >> +#: ../semanage/seobject.py:2131
> > >>   #, python-format
> > >>   msgid "Could not set user in interface context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2140
> > >> +#: ../semanage/seobject.py:2135
> > >>   #, python-format
> > >>   msgid "Could not set role in interface context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2144
> > >> +#: ../semanage/seobject.py:2139
> > >>   #, python-format
> > >>   msgid "Could not set type in interface context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2149
> > >> +#: ../semanage/seobject.py:2144
> > >>   #, python-format
> > >>   msgid "Could not set mls fields in interface context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2153
> > >> +#: ../semanage/seobject.py:2148
> > >>   #, python-format
> > >>   msgid "Could not set interface context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2157
> > >> +#: ../semanage/seobject.py:2152
> > >>   #, python-format
> > >>   msgid "Could not set message context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2161
> > >> +#: ../semanage/seobject.py:2156
> > >>   #, python-format
> > >>   msgid "Could not add interface %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2186 ../semanage/seobject.py:2222
> > >> +#: ../semanage/seobject.py:2181 ../semanage/seobject.py:2217
> > >>   #, python-format
> > >>   msgid "Interface %s is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2190
> > >> +#: ../semanage/seobject.py:2185
> > >>   #, python-format
> > >>   msgid "Could not query interface %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2201
> > >> +#: ../semanage/seobject.py:2196
> > >>   #, python-format
> > >>   msgid "Could not modify interface %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2228
> > >> +#: ../semanage/seobject.py:2223
> > >>   #, python-format
> > >>   msgid "Interface %s is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2232
> > >> +#: ../semanage/seobject.py:2227
> > >>   #, python-format
> > >>   msgid "Could not delete interface %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2246
> > >> +#: ../semanage/seobject.py:2241
> > >>   msgid "Could not delete all interface  mappings"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2260
> > >> +#: ../semanage/seobject.py:2255
> > >>   msgid "Could not list interfaces"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2285
> > >> +#: ../semanage/seobject.py:2280
> > >>   msgid "SELinux Interface"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2285 ../semanage/seobject.py:2677
> > >> +#: ../semanage/seobject.py:2280 ../semanage/seobject.py:2672
> > >>   msgid "Context"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2355
> > >> +#: ../semanage/seobject.py:2350
> > >>   #, python-format
> > >>   msgid "Target %s is not valid. Target is not allowed to end with '/'"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2358
> > >> +#: ../semanage/seobject.py:2353
> > >>   #, python-format
> > >>   msgid "Substitute %s is not valid. Substitute is not allowed to end with '/'"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2361
> > >> +#: ../semanage/seobject.py:2356
> > >>   #, python-format
> > >>   msgid "Equivalence class for %s already exists"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2367
> > >> +#: ../semanage/seobject.py:2362
> > >>   #, python-format
> > >>   msgid "File spec %s conflicts with equivalency rule '%s %s'"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2378
> > >> +#: ../semanage/seobject.py:2373
> > >>   #, python-format
> > >>   msgid "Equivalence class for %s does not exist"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2395
> > >> +#: ../semanage/seobject.py:2390
> > >>   #, python-format
> > >>   msgid "Could not set user in file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2399
> > >> +#: ../semanage/seobject.py:2394
> > >>   #, python-format
> > >>   msgid "Could not set role in file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2404 ../semanage/seobject.py:2464
> > >> +#: ../semanage/seobject.py:2399 ../semanage/seobject.py:2459
> > >>   #, python-format
> > >>   msgid "Could not set mls fields in file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2410
> > >> +#: ../semanage/seobject.py:2405
> > >>   msgid "Invalid file specification"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2412
> > >> +#: ../semanage/seobject.py:2407
> > >>   msgid "File specification can not include spaces"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2417
> > >> +#: ../semanage/seobject.py:2412
> > >>   #, python-format
> > >>   msgid ""
> > >>   "File spec %s conflicts with equivalency rule '%s %s'; Try adding '%s' instead"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2431 ../semanage/seobject.py:2496
> > >> +#: ../semanage/seobject.py:2426 ../semanage/seobject.py:2491
> > >>   #, python-format
> > >>   msgid "Type %s is invalid, must be a file or device type"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2439 ../semanage/seobject.py:2444
> > >> -#: ../semanage/seobject.py:2506 ../semanage/seobject.py:2515
> > >> -#: ../semanage/seobject.py:2603 ../semanage/seobject.py:2607
> > >> +#: ../semanage/seobject.py:2434 ../semanage/seobject.py:2439
> > >> +#: ../semanage/seobject.py:2501 ../semanage/seobject.py:2510
> > >> +#: ../semanage/seobject.py:2598 ../semanage/seobject.py:2602
> > >>   #, python-format
> > >>   msgid "Could not check if file context for %s is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2447
> > >> +#: ../semanage/seobject.py:2442
> > >>   #, python-format
> > >>   msgid "File context for %s already defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2451
> > >> +#: ../semanage/seobject.py:2446
> > >>   #, python-format
> > >>   msgid "Could not create file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2459
> > >> +#: ../semanage/seobject.py:2454
> > >>   #, python-format
> > >>   msgid "Could not set type in file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2467 ../semanage/seobject.py:2539
> > >> -#: ../semanage/seobject.py:2543
> > >> +#: ../semanage/seobject.py:2462 ../semanage/seobject.py:2534
> > >> +#: ../semanage/seobject.py:2538
> > >>   #, python-format
> > >>   msgid "Could not set file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2473
> > >> +#: ../semanage/seobject.py:2468
> > >>   #, python-format
> > >>   msgid "Could not add file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2492
> > >> +#: ../semanage/seobject.py:2487
> > >>   msgid "Requires setype, serange or seuser"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2511 ../semanage/seobject.py:2521
> > >> +#: ../semanage/seobject.py:2506 ../semanage/seobject.py:2516
> > >>   #, python-format
> > >>   msgid "Could not query file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2517 ../semanage/seobject.py:2611
> > >> +#: ../semanage/seobject.py:2512 ../semanage/seobject.py:2606
> > >>   #, python-format
> > >>   msgid "File context for %s is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2547
> > >> +#: ../semanage/seobject.py:2542
> > >>   #, python-format
> > >>   msgid "Could not modify file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2565
> > >> +#: ../semanage/seobject.py:2560
> > >>   msgid "Could not list the file contexts"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2579
> > >> +#: ../semanage/seobject.py:2574
> > >>   #, python-format
> > >>   msgid "Could not delete the file context %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2609
> > >> +#: ../semanage/seobject.py:2604
> > >>   #, python-format
> > >>   msgid "File context for %s is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2615
> > >> +#: ../semanage/seobject.py:2610
> > >>   #, python-format
> > >>   msgid "Could not delete file context for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2632
> > >> +#: ../semanage/seobject.py:2627
> > >>   msgid "Could not list file contexts"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2636
> > >> +#: ../semanage/seobject.py:2631
> > >>   msgid "Could not list file contexts for home directories"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2640
> > >> +#: ../semanage/seobject.py:2635
> > >>   msgid "Could not list local file contexts"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2677
> > >> +#: ../semanage/seobject.py:2672
> > >>   msgid "SELinux fcontext"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2690
> > >> +#: ../semanage/seobject.py:2685
> > >>   msgid ""
> > >>   "\n"
> > >>   "SELinux Distribution fcontext Equivalence \n"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2695
> > >> +#: ../semanage/seobject.py:2690
> > >>   msgid ""
> > >>   "\n"
> > >>   "SELinux Local fcontext Equivalence \n"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2733 ../semanage/seobject.py:2784
> > >> -#: ../semanage/seobject.py:2790
> > >> +#: ../semanage/seobject.py:2728 ../semanage/seobject.py:2779
> > >> +#: ../semanage/seobject.py:2785
> > >>   #, python-format
> > >>   msgid "Could not check if boolean %s is defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2735 ../semanage/seobject.py:2786
> > >> +#: ../semanage/seobject.py:2730 ../semanage/seobject.py:2781
> > >>   #, python-format
> > >>   msgid "Boolean %s is not defined"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2739
> > >> +#: ../semanage/seobject.py:2734
> > >>   #, python-format
> > >>   msgid "Could not query file context %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2744
> > >> +#: ../semanage/seobject.py:2739
> > >>   #, python-format
> > >>   msgid "You must specify one of the following values: %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2749
> > >> +#: ../semanage/seobject.py:2744
> > >>   #, python-format
> > >>   msgid "Could not set active value of boolean %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2752
> > >> +#: ../semanage/seobject.py:2747
> > >>   #, python-format
> > >>   msgid "Could not modify boolean %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2768
> > >> -#, python-format
> > >> -msgid "Bad format %s: Record %s"
> > >> +#: ../semanage/seobject.py:2763
> > >> +#, python-brace-format
> > >> +msgid "Bad format {filename}: Record {record}"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2792
> > >> +#: ../semanage/seobject.py:2787
> > >>   #, python-format
> > >>   msgid "Boolean %s is defined in policy, cannot be deleted"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2796
> > >> +#: ../semanage/seobject.py:2791
> > >>   #, python-format
> > >>   msgid "Could not delete boolean %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2808 ../semanage/seobject.py:2825
> > >> +#: ../semanage/seobject.py:2803 ../semanage/seobject.py:2820
> > >>   msgid "Could not list booleans"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2858
> > >> +#: ../semanage/seobject.py:2853
> > >>   msgid "off"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2858
> > >> +#: ../semanage/seobject.py:2853
> > >>   msgid "on"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2870
> > >> +#: ../semanage/seobject.py:2865
> > >>   msgid "SELinux boolean"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2870
> > >> +#: ../semanage/seobject.py:2865
> > >>   msgid "State"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2870
> > >> +#: ../semanage/seobject.py:2865
> > >>   msgid "Default"
> > >>   msgstr ""
> > >>
> > >> -#: ../semanage/seobject.py:2870 ../sepolicy/sepolicy/sepolicy.glade:2140
> > >> +#: ../semanage/seobject.py:2865 ../sepolicy/sepolicy/sepolicy.glade:2140
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:2510
> > >>   #: ../sepolicy/sepolicy/sepolicy.glade:5099
> > >>   msgid "Description"
> > >> @@ -1555,151 +1566,151 @@ msgstr ""
> > >>   msgid "Missing interface definition for %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:140
> > >> +#: ../sepolicy/sepolicy/generate.py:138
> > >>   msgid "Standard Init Daemon"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:141
> > >> +#: ../sepolicy/sepolicy/generate.py:139
> > >>   msgid "DBUS System Daemon"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:142
> > >> +#: ../sepolicy/sepolicy/generate.py:140
> > >>   msgid "Internet Services Daemon"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:143
> > >> +#: ../sepolicy/sepolicy/generate.py:141
> > >>   msgid "Web Application/Script (CGI)"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:144
> > >> +#: ../sepolicy/sepolicy/generate.py:142
> > >>   msgid "Sandbox"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:145
> > >> +#: ../sepolicy/sepolicy/generate.py:143
> > >>   msgid "User Application"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:146
> > >> +#: ../sepolicy/sepolicy/generate.py:144
> > >>   msgid "Existing Domain Type"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:147
> > >> +#: ../sepolicy/sepolicy/generate.py:145
> > >>   msgid "Minimal Terminal Login User Role"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:148
> > >> +#: ../sepolicy/sepolicy/generate.py:146
> > >>   msgid "Minimal X Windows Login User Role"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:149
> > >> +#: ../sepolicy/sepolicy/generate.py:147
> > >>   msgid "Desktop Login User Role"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:150
> > >> +#: ../sepolicy/sepolicy/generate.py:148
> > >>   msgid "Administrator Login User Role"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:151
> > >> +#: ../sepolicy/sepolicy/generate.py:149
> > >>   msgid "Confined Root Administrator Role"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:152
> > >> +#: ../sepolicy/sepolicy/generate.py:150
> > >>   msgid "Module information for a new type"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:158
> > >> +#: ../sepolicy/sepolicy/generate.py:156
> > >>   msgid "Valid Types:\n"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:193
> > >> +#: ../sepolicy/sepolicy/generate.py:191
> > >>   #, python-format
> > >>   msgid "Ports must be numbers or ranges of numbers from 1 to %d "
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:205
> > >> +#: ../sepolicy/sepolicy/generate.py:203
> > >>   msgid "You must enter a valid policy type"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:208
> > >> +#: ../sepolicy/sepolicy/generate.py:206
> > >>   #, python-format
> > >>   msgid "You must enter a name for your policy module for your '%s'."
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:346
> > >> +#: ../sepolicy/sepolicy/generate.py:344
> > >>   msgid ""
> > >>   "Name must be alphanumeric with no spaces. Consider using option \"-n "
> > >>   "MODULENAME\""
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:438
> > >> +#: ../sepolicy/sepolicy/generate.py:436
> > >>   msgid "User Role types can not be assigned executables."
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:444
> > >> +#: ../sepolicy/sepolicy/generate.py:442
> > >>   msgid "Only Daemon apps can use an init script."
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:462
> > >> +#: ../sepolicy/sepolicy/generate.py:460
> > >>   msgid "use_resolve must be a boolean value "
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:468
> > >> +#: ../sepolicy/sepolicy/generate.py:466
> > >>   msgid "use_syslog must be a boolean value "
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:474
> > >> +#: ../sepolicy/sepolicy/generate.py:472
> > >>   msgid "use_kerberos must be a boolean value "
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:480
> > >> +#: ../sepolicy/sepolicy/generate.py:478
> > >>   msgid "manage_krb5_rcache must be a boolean value "
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:510
> > >> +#: ../sepolicy/sepolicy/generate.py:508
> > >>   msgid "USER Types automatically get a tmp type"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:847
> > >> +#: ../sepolicy/sepolicy/generate.py:845
> > >>   #, python-format
> > >>   msgid "'%s' policy modules require existing domains"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:872
> > >> +#: ../sepolicy/sepolicy/generate.py:870
> > >>   msgid "Type field required"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:885
> > >> +#: ../sepolicy/sepolicy/generate.py:883
> > >>   #, python-format
> > >>   msgid ""
> > >>   "You need to define a new type which ends with: \n"
> > >>   " %s"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1113
> > >> +#: ../sepolicy/sepolicy/generate.py:1111
> > >>   msgid "You must enter the executable path for your confined process"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1378
> > >> +#: ../sepolicy/sepolicy/generate.py:1376
> > >>   msgid "Created the following files:\n"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1379
> > >> +#: ../sepolicy/sepolicy/generate.py:1377
> > >>   msgid "Type Enforcement file"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1380
> > >> +#: ../sepolicy/sepolicy/generate.py:1378
> > >>   msgid "Interface file"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1381
> > >> +#: ../sepolicy/sepolicy/generate.py:1379
> > >>   msgid "File Contexts file"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1383
> > >> +#: ../sepolicy/sepolicy/generate.py:1381
> > >>   msgid "Spec file"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/generate.py:1384
> > >> +#: ../sepolicy/sepolicy/generate.py:1382
> > >>   msgid "Setup Script"
> > >>   msgstr ""
> > >>
> > >> @@ -2367,29 +2378,29 @@ msgstr ""
> > >>   msgid "named pipe"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/__init__.py:148
> > >> +#: ../sepolicy/sepolicy/__init__.py:149
> > >>   msgid "No SELinux Policy installed"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/__init__.py:184
> > >> +#: ../sepolicy/sepolicy/__init__.py:185
> > >>   #, python-format
> > >>   msgid "Failed to read %s policy file"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/__init__.py:470
> > >> +#: ../sepolicy/sepolicy/__init__.py:471
> > >>   #, python-format
> > >>   msgid "-- Allowed %s [ %s ]"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/__init__.py:896
> > >> +#: ../sepolicy/sepolicy/__init__.py:897
> > >>   msgid "You must regenerate interface info by running /usr/bin/sepolgen-ifgen"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/__init__.py:1221
> > >> +#: ../sepolicy/sepolicy/__init__.py:1230
> > >>   msgid "unknown"
> > >>   msgstr ""
> > >>
> > >> -#: ../sepolicy/sepolicy/__init__.py:1230
> > >> +#: ../sepolicy/sepolicy/__init__.py:1239
> > >>   #, python-brace-format
> > >>   msgid "Allow {subject} to {rest}"
> > >>   msgstr ""
> > >
> >

      reply	other threads:[~2023-07-12 17:33 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-17 13:49 [PATCH 1/4] python: improve format strings for proper localization Petr Lautrbach
2023-05-17 13:49 ` [PATCH 2/4] python/semanage: Drop hard formating from localized strings Petr Lautrbach
2023-06-06 15:20   ` Vit Mojzis
2023-05-17 13:49 ` [PATCH 3/4] semanage: Drop unnecessary import from seobject Petr Lautrbach
2023-05-17 13:49 ` [PATCH 4/4] python: update python.pot Petr Lautrbach
2023-06-06 15:20 ` [PATCH 1/4] python: improve format strings for proper localization Vit Mojzis
2023-06-12 16:21   ` Petr Lautrbach
2023-06-12 16:21     ` [PATCH v2 1/4] python: improve format strings for proper localization Petr Lautrbach
2023-06-13  9:30       ` Vit Mojzis
2023-06-12 16:21     ` [PATCH v2 2/4] python: Drop hard formating from localized strings Petr Lautrbach
2023-06-12 16:21     ` [PATCH v2 3/4] semanage: Drop unnecessary import from seobject Petr Lautrbach
2023-06-12 16:21     ` [PATCH v2 4/4] python: update python.pot Petr Lautrbach
2023-06-13  9:42       ` Petr Lautrbach
2023-06-13  9:42         ` [PATCH v3 1/4] python: improve format strings for proper localization Petr Lautrbach
2023-06-13  9:42         ` [PATCH v3 2/4] python: Drop hard formating from localized strings Petr Lautrbach
2023-06-13  9:42         ` [PATCH v3 3/4] semanage: Drop unnecessary import from seobject Petr Lautrbach
2023-06-13  9:42         ` [PATCH v3 4/4] python: update python.pot Petr Lautrbach
2023-06-13 11:20           ` Petr Lautrbach
2023-06-13 11:20             ` [PATCH v4 1/4] python: improve format strings for proper localization Petr Lautrbach
2023-06-13 11:20             ` [PATCH v4 2/4] python: Drop hard formating from localized strings Petr Lautrbach
2023-06-13 11:20             ` [PATCH v4 3/4] semanage: Drop unnecessary import from seobject Petr Lautrbach
2023-06-13 11:20             ` [PATCH v4 4/4] python: update python.pot Petr Lautrbach
2023-06-13 12:37               ` Vit Mojzis
2023-06-27 13:55                 ` Petr Lautrbach
2023-07-06 13:39                   ` James Carter
2023-07-12 17:33                     ` James Carter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP+JOzQ1cFLBQ71hoH2FdXxkfccdkk-WD=7mzxywYzLgO8+uFg@mail.gmail.com' \
    --to=jwcart2@gmail.com \
    --cc=lautrbach@redhat.com \
    --cc=selinux@vger.kernel.org \
    --cc=vmojzis@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.