* [PATCH v4 1/4] python: improve format strings for proper localization
2023-06-13 11:20 ` Petr Lautrbach
@ 2023-06-13 11:20 ` Petr Lautrbach
2023-06-13 11:20 ` [PATCH v4 2/4] python: Drop hard formating from localized strings Petr Lautrbach
` (2 subsequent siblings)
3 siblings, 0 replies; 26+ messages in thread
From: Petr Lautrbach @ 2023-06-13 11:20 UTC (permalink / raw)
To: selinux; +Cc: vmojzis, Petr Lautrbach
If a string contains more than one unnamed argument it's hard for
translators to proper localize as they don't know which value is
represented by a unnamed argument. It also blocks them to use a
different order of arguments which would make better sense in other
languages.
Fixes:
$ xgettext --default-domain=python -L Python --keyword=_ --keyword=N_ ../audit2allow/audit2allow ../chcat/chcat ../semanage/semanage ../semanage/seobject.py ../sepolgen/src/sepolgen/interfaces.py ../sepolicy/sepolicy/generate.py ../sepolicy/sepolicy/gui.py ../sepolicy/sepolicy/__init__.py ../sepolicy/sepolicy/interface.py ../sepolicy/sepolicy.py
../chcat/chcat:220: warning: 'msgid' format string with unnamed arguments cannot be properly localized:
The translator cannot reorder the arguments.
Please consider using a format string with named arguments,
and a mapping instead of a tuple for the arguments.
../semanage/seobject.py:1178: warning: 'msgid' format string with unnamed arguments cannot be properly localized:
The translator cannot reorder the arguments.
Please consider using a format string with named arguments,
and a mapping instead of a tuple for the arguments.
...
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
---
python/chcat/chcat | 6 +-
python/semanage/seobject.py | 130 ++++++++++++++++++------------------
2 files changed, 68 insertions(+), 68 deletions(-)
diff --git a/python/chcat/chcat b/python/chcat/chcat
index 68718ec5f102..c4f592291821 100755
--- a/python/chcat/chcat
+++ b/python/chcat/chcat
@@ -125,7 +125,7 @@ def chcat_add(orig, newcat, objects, login_ind):
if len(clist) > 1:
if cat in clist[1:]:
- print(_("%s is already in %s") % (f, orig))
+ print(_("{target} is already in {category}").format(target=f, category=orig))
continue
clist.append(cat)
cats = clist[1:]
@@ -207,7 +207,7 @@ def chcat_remove(orig, newcat, objects, login_ind):
if len(clist) > 1:
if cat not in clist[1:]:
- print(_("%s is not in %s") % (f, orig))
+ print(_("{target} is not in {category}").format(target=f, category=orig))
continue
clist.remove(cat)
if len(clist) > 1:
@@ -217,7 +217,7 @@ def chcat_remove(orig, newcat, objects, login_ind):
else:
cat = ""
else:
- print(_("%s is not in %s") % (f, orig))
+ print(_("{target} is not in {category}").format(target=f, category=orig))
continue
if len(cat) == 0:
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index d82da4942987..2b1eb44ce8a3 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
@@ -843,7 +843,7 @@ class seluserRecords(semanageRecords):
for r in roles:
rc = semanage_user_add_role(self.sh, u, r)
if rc < 0:
- raise ValueError(_("Could not add role %s for %s") % (r, name))
+ raise ValueError(_("Could not add role {role} for {name}").format(role=r, name=name))
if is_mls_enabled == 1:
rc = semanage_user_set_mlsrange(self.sh, u, serange)
@@ -855,7 +855,7 @@ class seluserRecords(semanageRecords):
raise ValueError(_("Could not set MLS level for %s") % name)
rc = semanage_user_set_prefix(self.sh, u, prefix)
if rc < 0:
- raise ValueError(_("Could not add prefix %s for %s") % (r, prefix))
+ raise ValueError(_("Could not add prefix {prefix} for {role}").format(role=r, prefix=prefix))
(rc, key) = semanage_user_key_extract(self.sh, u)
if rc < 0:
raise ValueError(_("Could not extract key for %s") % name)
@@ -1088,7 +1088,7 @@ class portRecords(semanageRecords):
(rc, k) = semanage_port_key_create(self.sh, low, high, proto_d)
if rc < 0:
- raise ValueError(_("Could not create a key for %s/%s") % (proto, port))
+ raise ValueError(_("Could not create a key for {proto}/{port}").format(proto=proto, port=port))
return (k, proto_d, low, high)
def __add(self, port, proto, serange, type):
@@ -1110,44 +1110,44 @@ class portRecords(semanageRecords):
(rc, exists) = semanage_port_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if port %s/%s is defined") % (proto, port))
+ raise ValueError(_("Could not check if port {proto}/{port} is defined").format(proto=proto, port=port))
if exists:
- raise ValueError(_("Port %s/%s already defined") % (proto, port))
+ raise ValueError(_("Port {proto}/{port} already defined").format(proto=proto, port=port))
(rc, p) = semanage_port_create(self.sh)
if rc < 0:
- raise ValueError(_("Could not create port for %s/%s") % (proto, port))
+ raise ValueError(_("Could not create port for {proto}/{port}").format(proto=proto, port=port))
semanage_port_set_proto(p, proto_d)
semanage_port_set_range(p, low, high)
(rc, con) = semanage_context_create(self.sh)
if rc < 0:
- raise ValueError(_("Could not create context for %s/%s") % (proto, port))
+ raise ValueError(_("Could not create context for {proto}/{port}").format(proto=proto, port=port))
rc = semanage_context_set_user(self.sh, con, "system_u")
if rc < 0:
- raise ValueError(_("Could not set user in port context for %s/%s") % (proto, port))
+ raise ValueError(_("Could not set user in port context for {proto}/{port}").format(proto=proto, port=port))
rc = semanage_context_set_role(self.sh, con, "object_r")
if rc < 0:
- raise ValueError(_("Could not set role in port context for %s/%s") % (proto, port))
+ raise ValueError(_("Could not set role in port context for {proto}/{port}").format(proto=proto, port=port))
rc = semanage_context_set_type(self.sh, con, type)
if rc < 0:
- raise ValueError(_("Could not set type in port context for %s/%s") % (proto, port))
+ raise ValueError(_("Could not set type in port context for {proto}/{port}").format(proto=proto, port=port))
if (is_mls_enabled == 1) and (serange != ""):
rc = semanage_context_set_mls(self.sh, con, serange)
if rc < 0:
- raise ValueError(_("Could not set mls fields in port context for %s/%s") % (proto, port))
+ raise ValueError(_("Could not set mls fields in port context for {proto}/{port}").format(proto=proto, port=port))
rc = semanage_port_set_con(self.sh, p, con)
if rc < 0:
- raise ValueError(_("Could not set port context for %s/%s") % (proto, port))
+ raise ValueError(_("Could not set port context for {proto}/{port}").format(proto=proto, port=port))
rc = semanage_port_modify_local(self.sh, k, p)
if rc < 0:
- raise ValueError(_("Could not add port %s/%s") % (proto, port))
+ raise ValueError(_("Could not add port {proto}/{port}").format(proto=proto, port=port))
semanage_context_free(con)
semanage_port_key_free(k)
@@ -1175,13 +1175,13 @@ class portRecords(semanageRecords):
(rc, exists) = semanage_port_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if port %s/%s is defined") % (proto, port))
+ raise ValueError(_("Could not check if port {proto}/{port} is defined").format(proto=proto, port=port))
if not exists:
- raise ValueError(_("Port %s/%s is not defined") % (proto, port))
+ raise ValueError(_("Port {proto}/{port} is not defined").format(proto=proto, port=port))
(rc, p) = semanage_port_query(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not query port %s/%s") % (proto, port))
+ raise ValueError(_("Could not query port {proto}/{port}").format(proto=proto, port=port))
con = semanage_port_get_con(p)
@@ -1195,7 +1195,7 @@ class portRecords(semanageRecords):
rc = semanage_port_modify_local(self.sh, k, p)
if rc < 0:
- raise ValueError(_("Could not modify port %s/%s") % (proto, port))
+ raise ValueError(_("Could not modify port {proto}/{port}").format(proto=proto, port=port))
semanage_port_key_free(k)
semanage_port_free(p)
@@ -1241,19 +1241,19 @@ class portRecords(semanageRecords):
(k, proto_d, low, high) = self.__genkey(port, proto)
(rc, exists) = semanage_port_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if port %s/%s is defined") % (proto, port))
+ raise ValueError(_("Could not check if port {proto}/{port} is defined").format(proto=proto, port=port))
if not exists:
- raise ValueError(_("Port %s/%s is not defined") % (proto, port))
+ raise ValueError(_("Port {proto}/{port} is not defined").format(proto=proto, port=port))
(rc, exists) = semanage_port_exists_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if port %s/%s is defined") % (proto, port))
+ raise ValueError(_("Could not check if port {proto}/{port} is defined").format(proto=proto, port=port))
if not exists:
- raise ValueError(_("Port %s/%s is defined in policy, cannot be deleted") % (proto, port))
+ raise ValueError(_("Port {proto}/{port} is defined in policy, cannot be deleted").format(proto=proto, port=port))
rc = semanage_port_del_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not delete port %s/%s") % (proto, port))
+ raise ValueError(_("Could not delete port {proto}/{port}").format(proto=proto, port=port))
semanage_port_key_free(k)
@@ -1362,7 +1362,7 @@ class ibpkeyRecords(semanageRecords):
(rc, k) = semanage_ibpkey_key_create(self.sh, subnet_prefix, low, high)
if rc < 0:
- raise ValueError(_("Could not create a key for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not create a key for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
return (k, subnet_prefix, low, high)
def __add(self, pkey, subnet_prefix, serange, type):
@@ -1384,44 +1384,44 @@ class ibpkeyRecords(semanageRecords):
(rc, exists) = semanage_ibpkey_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibpkey %s/%s is defined") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not check if ibpkey {subnet_prefix}/{pkey} is defined").formnat(subnet_prefix=subnet_prefix, pkey=pkey))
if exists:
- raise ValueError(_("ibpkey %s/%s already defined") % (subnet_prefix, pkey))
+ raise ValueError(_("ibpkey {subnet_prefix}/{pkey} already defined").format(subnet_prefix=subnet_prefix, pkey=pkey))
(rc, p) = semanage_ibpkey_create(self.sh)
if rc < 0:
- raise ValueError(_("Could not create ibpkey for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not create ibpkey for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
semanage_ibpkey_set_subnet_prefix(self.sh, p, subnet_prefix)
semanage_ibpkey_set_range(p, low, high)
(rc, con) = semanage_context_create(self.sh)
if rc < 0:
- raise ValueError(_("Could not create context for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not create context for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
rc = semanage_context_set_user(self.sh, con, "system_u")
if rc < 0:
- raise ValueError(_("Could not set user in ibpkey context for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not set user in ibpkey context for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
rc = semanage_context_set_role(self.sh, con, "object_r")
if rc < 0:
- raise ValueError(_("Could not set role in ibpkey context for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not set role in ibpkey context for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
rc = semanage_context_set_type(self.sh, con, type)
if rc < 0:
- raise ValueError(_("Could not set type in ibpkey context for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not set type in ibpkey context for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
if (is_mls_enabled == 1) and (serange != ""):
rc = semanage_context_set_mls(self.sh, con, serange)
if rc < 0:
- raise ValueError(_("Could not set mls fields in ibpkey context for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not set mls fields in ibpkey context for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
rc = semanage_ibpkey_set_con(self.sh, p, con)
if rc < 0:
- raise ValueError(_("Could not set ibpkey context for %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not set ibpkey context for {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
rc = semanage_ibpkey_modify_local(self.sh, k, p)
if rc < 0:
- raise ValueError(_("Could not add ibpkey %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not add ibpkey {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
semanage_context_free(con)
semanage_ibpkey_key_free(k)
@@ -1448,13 +1448,13 @@ class ibpkeyRecords(semanageRecords):
(rc, exists) = semanage_ibpkey_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibpkey %s/%s is defined") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not check if ibpkey {subnet_prefix}/{pkey} is defined").format(subnet_prefix=subnet_prefix, pkey=pkey))
if not exists:
- raise ValueError(_("ibpkey %s/%s is not defined") % (subnet_prefix, pkey))
+ raise ValueError(_("ibpkey {subnet_prefix}/{pkey} is not defined").format(subnet_prefix=subnet_prefix, pkey=pkey))
(rc, p) = semanage_ibpkey_query(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not query ibpkey %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not query ibpkey {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
con = semanage_ibpkey_get_con(p)
@@ -1465,7 +1465,7 @@ class ibpkeyRecords(semanageRecords):
rc = semanage_ibpkey_modify_local(self.sh, k, p)
if rc < 0:
- raise ValueError(_("Could not modify ibpkey %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not modify ibpkey {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
semanage_ibpkey_key_free(k)
semanage_ibpkey_free(p)
@@ -1502,19 +1502,19 @@ class ibpkeyRecords(semanageRecords):
(k, subnet_prefix, low, high) = self.__genkey(pkey, subnet_prefix)
(rc, exists) = semanage_ibpkey_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibpkey %s/%s is defined") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not check if ibpkey {subnet_prefix}/{pkey} is defined").format(subnet_prefix=subnet_prefix, pkey=pkey))
if not exists:
- raise ValueError(_("ibpkey %s/%s is not defined") % (subnet_prefix, pkey))
+ raise ValueError(_("ibpkey {subnet_prefix}/{pkey} is not defined").format(subnet_prefix=subnet_prefix, pkey=pkey))
(rc, exists) = semanage_ibpkey_exists_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibpkey %s/%s is defined") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not check if ibpkey {subnet_prefix}/{pkey} is defined").format(subnet_prefix=subnet_prefix, pkey=pkey))
if not exists:
- raise ValueError(_("ibpkey %s/%s is defined in policy, cannot be deleted") % (subnet_prefix, pkey))
+ raise ValueError(_("ibpkey {subnet_prefix}/{pkey} is defined in policy, cannot be deleted").format(subnet_prefix=subnet_prefix, pkey=pkey))
rc = semanage_ibpkey_del_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not delete ibpkey %s/%s") % (subnet_prefix, pkey))
+ raise ValueError(_("Could not delete ibpkey {subnet_prefix}/{pkey}").format(subnet_prefix=subnet_prefix, pkey=pkey))
semanage_ibpkey_key_free(k)
@@ -1617,7 +1617,7 @@ class ibendportRecords(semanageRecords):
(rc, k) = semanage_ibendport_key_create(self.sh, ibdev_name, port)
if rc < 0:
- raise ValueError(_("Could not create a key for ibendport %s/%s") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not create a key for ibendport {ibdev_name}/{ibendport}").format(ibdev_name=ibdev_name, ibendport=ibendport))
return (k, ibdev_name, port)
def __add(self, ibendport, ibdev_name, serange, type):
@@ -1638,44 +1638,44 @@ class ibendportRecords(semanageRecords):
(rc, exists) = semanage_ibendport_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibendport %s/%s is defined") % (ibdev_name, port))
+ raise ValueError(_("Could not check if ibendport {ibdev_name}/{port} is defined").format(ibdev_name=ibdev_name, port=port))
if exists:
- raise ValueError(_("ibendport %s/%s already defined") % (ibdev_name, port))
+ raise ValueError(_("ibendport {ibdev_name}/{port} already defined").format(ibdev_name=ibdev_name, port=port))
(rc, p) = semanage_ibendport_create(self.sh)
if rc < 0:
- raise ValueError(_("Could not create ibendport for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not create ibendport for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
semanage_ibendport_set_ibdev_name(self.sh, p, ibdev_name)
semanage_ibendport_set_port(p, port)
(rc, con) = semanage_context_create(self.sh)
if rc < 0:
- raise ValueError(_("Could not create context for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not create context for {ibendport}/{port}").format(ibdev_name=ibdev_name, port=port))
rc = semanage_context_set_user(self.sh, con, "system_u")
if rc < 0:
- raise ValueError(_("Could not set user in ibendport context for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not set user in ibendport context for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
rc = semanage_context_set_role(self.sh, con, "object_r")
if rc < 0:
- raise ValueError(_("Could not set role in ibendport context for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not set role in ibendport context for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
rc = semanage_context_set_type(self.sh, con, type)
if rc < 0:
- raise ValueError(_("Could not set type in ibendport context for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not set type in ibendport context for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
if (is_mls_enabled == 1) and (serange != ""):
rc = semanage_context_set_mls(self.sh, con, serange)
if rc < 0:
- raise ValueError(_("Could not set mls fields in ibendport context for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not set mls fields in ibendport context for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
rc = semanage_ibendport_set_con(self.sh, p, con)
if rc < 0:
- raise ValueError(_("Could not set ibendport context for %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not set ibendport context for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
rc = semanage_ibendport_modify_local(self.sh, k, p)
if rc < 0:
- raise ValueError(_("Could not add ibendport %s/%s") % (ibdev_name, port))
+ raise ValueError(_("Could not add ibendport {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
semanage_context_free(con)
semanage_ibendport_key_free(k)
@@ -1702,13 +1702,13 @@ class ibendportRecords(semanageRecords):
(rc, exists) = semanage_ibendport_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibendport %s/%s is defined") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not check if ibendport {ibdev_name}/{ibendport} is defined").format(ibdev_name=ibdev_name, ibendport=ibendport))
if not exists:
- raise ValueError(_("ibendport %s/%s is not defined") % (ibdev_name, ibendport))
+ raise ValueError(_("ibendport {ibdev_name}/{ibendport} is not defined").format(ibdev_name=ibdev_name, ibendport=ibendport))
(rc, p) = semanage_ibendport_query(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not query ibendport %s/%s") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not query ibendport {ibdev_name}/{ibendport}").format(ibdev_name=ibdev_name, ibendport=ibendport))
con = semanage_ibendport_get_con(p)
@@ -1719,7 +1719,7 @@ class ibendportRecords(semanageRecords):
rc = semanage_ibendport_modify_local(self.sh, k, p)
if rc < 0:
- raise ValueError(_("Could not modify ibendport %s/%s") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not modify ibendport {ibdev_name}/{ibendport}").format(ibdev_name=ibdev_name, ibendport=ibendport))
semanage_ibendport_key_free(k)
semanage_ibendport_free(p)
@@ -1741,11 +1741,11 @@ class ibendportRecords(semanageRecords):
port = semanage_ibendport_get_port(ibendport)
(k, ibdev_name, port) = self.__genkey(str(port), ibdev_name)
if rc < 0:
- raise ValueError(_("Could not create a key for %s/%d") % (ibdevname, port))
+ raise ValueError(_("Could not create a key for {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
rc = semanage_ibendport_del_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not delete the ibendport %s/%d") % (ibdev_name, port))
+ raise ValueError(_("Could not delete the ibendport {ibdev_name}/{port}").format(ibdev_name=ibdev_name, port=port))
semanage_ibendport_key_free(k)
self.commit()
@@ -1754,19 +1754,19 @@ class ibendportRecords(semanageRecords):
(k, ibdev_name, port) = self.__genkey(ibendport, ibdev_name)
(rc, exists) = semanage_ibendport_exists(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibendport %s/%s is defined") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not check if ibendport {ibdev_name}/{ibendport} is defined").format(ibdev_name=ibdev_name, ibendport=ibendport))
if not exists:
- raise ValueError(_("ibendport %s/%s is not defined") % (ibdev_name, ibendport))
+ raise ValueError(_("ibendport {ibdev_name}/{ibendport} is not defined").format(ibdev_name=ibdev_name, ibendport=ibendport))
(rc, exists) = semanage_ibendport_exists_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not check if ibendport %s/%s is defined") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not check if ibendport {ibdev_name}/{ibendport} is defined").format(ibdev_name=ibdev_name, ibendport=ibendport))
if not exists:
- raise ValueError(_("ibendport %s/%s is defined in policy, cannot be deleted") % (ibdev_name, ibendport))
+ raise ValueError(_("ibendport {ibdev_name}/{ibendport} is defined in policy, cannot be deleted").format(ibdev_name=ibdev_name, ibendport=ibendport))
rc = semanage_ibendport_del_local(self.sh, k)
if rc < 0:
- raise ValueError(_("Could not delete ibendport %s/%s") % (ibdev_name, ibendport))
+ raise ValueError(_("Could not delete ibendport {ibdev_name}/{ibendport}").format(ibdev_name=ibdev_name, ibendport=ibendport))
semanage_ibendport_key_free(k)
@@ -2765,7 +2765,7 @@ class booleanRecords(semanageRecords):
try:
boolname, val = b.split("=")
except ValueError:
- raise ValueError(_("Bad format %s: Record %s" % (name, b)))
+ raise ValueError(_("Bad format {filename}: Record {record}").format(filename=name, record=b))
self.__mod(boolname.strip(), val.strip())
fd.close()
else:
--
2.41.0.rc2
^ permalink raw reply related [flat|nested] 26+ messages in thread* [PATCH v4 2/4] python: Drop hard formating from localized strings
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 ` 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
3 siblings, 0 replies; 26+ messages in thread
From: Petr Lautrbach @ 2023-06-13 11:20 UTC (permalink / raw)
To: selinux; +Cc: vmojzis, Petr Lautrbach
It confuses translators and new lines are dropped by parser module anyway.
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
---
python/audit2allow/audit2allow | 14 ++++++--
python/semanage/semanage | 60 +++++++++++++---------------------
2 files changed, 34 insertions(+), 40 deletions(-)
diff --git a/python/audit2allow/audit2allow b/python/audit2allow/audit2allow
index 5587a2dbb006..35b0b151ac86 100644
--- a/python/audit2allow/audit2allow
+++ b/python/audit2allow/audit2allow
@@ -234,9 +234,17 @@ class AuditToPolicy:
print(e)
sys.exit(1)
- sys.stdout.write(_("******************** IMPORTANT ***********************\n"))
- sys.stdout.write((_("To make this policy package active, execute:" +
- "\n\nsemodule -i %s\n\n") % packagename))
+ sys.stdout.write(
+"""******************** {important} ***********************
+{text}
+
+semodule -i {packagename}
+
+""".format(
+ important=_("IMPORTANT"),
+ text=_("To make this policy package active, execute:"),
+ packagename=packagename
+))
def __output_audit2why(self):
import selinux
diff --git a/python/semanage/semanage b/python/semanage/semanage
index e0bd98a95c77..4fdb490f7df4 100644
--- a/python/semanage/semanage
+++ b/python/semanage/semanage
@@ -238,30 +238,22 @@ def parser_add_level(parser, name):
def parser_add_range(parser, name):
- parser.add_argument('-r', '--range', default='',
- help=_('''
-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.
-'''))
+ parser.add_argument('-r', '--range', default='', help=_(
+ "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."
+ ))
def parser_add_proto(parser, name):
- parser.add_argument('-p', '--proto', help=_('''
- Protocol for the specified port (tcp|udp|dccp|sctp) or internet protocol
- version for the specified node (ipv4|ipv6).
-'''))
+ parser.add_argument('-p', '--proto', help=_(
+ "Protocol for the specified port (tcp|udp|dccp|sctp) or internet protocol version for the specified node (ipv4|ipv6)."
+ ))
def parser_add_subnet_prefix(parser, name):
- parser.add_argument('-x', '--subnet_prefix', help=_('''
- Subnet prefix for the specified infiniband ibpkey.
-'''))
+ parser.add_argument('-x', '--subnet_prefix', help=_('Subnet prefix for the specified infiniband ibpkey.'))
def parser_add_ibdev_name(parser, name):
- parser.add_argument('-z', '--ibdev_name', help=_('''
- Name for the specified infiniband end port.
-'''))
+ parser.add_argument('-z', '--ibdev_name', help=_("Name for the specified infiniband end port."))
def parser_add_modify(parser, name):
parser.add_argument('-m', '--modify', dest='action', action='store_const', const='modify', help=_("Modify a record of the %s object type") % name)
@@ -348,15 +340,6 @@ def handleFcontext(args):
def setupFcontextParser(subparsers):
- ftype_help = '''
-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".
-'''
generate_usage = generate_custom_usage(usage_fcontext, usage_fcontext_dict)
fcontextParser = subparsers.add_parser('fcontext', usage=generate_usage, help=_("Manage file context mapping definitions"))
parser_add_locallist(fcontextParser, "fcontext")
@@ -372,11 +355,16 @@ If you do not specify a file type, the file type will default to "all files".
parser_add_extract(fcontext_action, "fcontext")
parser_add_deleteall(fcontext_action, "fcontext")
- fcontextParser.add_argument('-e', '--equal', help=_('''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.'''))
- fcontextParser.add_argument('-f', '--ftype', default="", choices=["a", "f", "d", "c", "b", "s", "l", "p"], help=_(ftype_help))
+ fcontextParser.add_argument('-e', '--equal', help=_(
+ '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.'
+ ))
+ fcontextParser.add_argument('-f', '--ftype', default="", choices=["a", "f", "d", "c", "b", "s", "l", "p"], help=_(
+ '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".'
+ ))
parser_add_seuser(fcontextParser, "fcontext")
parser_add_type(fcontextParser, "fcontext")
parser_add_range(fcontextParser, "fcontext")
@@ -426,9 +414,7 @@ def setupUserParser(subparsers):
parser_add_range(userParser, "user")
userParser.add_argument('-R', '--roles', default=[],
action=CheckRole,
- help=_('''
-SELinux Roles. You must enclose multiple roles within quotes, separate by spaces. Or specify -R multiple times.
-'''))
+ help=_("SELinux Roles. You must enclose multiple roles within quotes, separate by spaces. Or specify -R multiple times."))
userParser.add_argument('-P', '--prefix', default="user", help=argparse.SUPPRESS)
userParser.add_argument('selinux_name', nargs='?', default=None, help=_('selinux_name'))
userParser.set_defaults(func=handleUser)
@@ -901,9 +887,9 @@ def setupImportParser(subparsers):
def createCommandParser():
commandParser = seParser(prog='semanage',
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
- description='''semanage is used to configure certain elements
- of SELinux policy with-out requiring modification
- to or recompilation from policy source.''')
+ description=_(
+ "semanage is used to configure certain elements of SELinux policy with-out requiring modification or recompilation from policy source."
+ ))
#To add a new subcommand define the parser for it in a function above and call it here.
subparsers = commandParser.add_subparsers(dest='subcommand')
--
2.41.0.rc2
^ permalink raw reply related [flat|nested] 26+ messages in thread* [PATCH v4 3/4] semanage: Drop unnecessary import from seobject
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 ` Petr Lautrbach
2023-06-13 11:20 ` [PATCH v4 4/4] python: update python.pot Petr Lautrbach
3 siblings, 0 replies; 26+ messages in thread
From: Petr Lautrbach @ 2023-06-13 11:20 UTC (permalink / raw)
To: selinux; +Cc: vmojzis, Petr Lautrbach
sepolgen.module is not used for permissive domains
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
---
python/semanage/seobject.py | 5 -----
1 file changed, 5 deletions(-)
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index 2b1eb44ce8a3..361205d11c10 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
@@ -504,11 +504,6 @@ class permissiveRecords(semanageRecords):
print(t)
def add(self, type):
- try:
- import sepolgen.module as module
- except ImportError:
- raise ValueError(_("The sepolgen python module is required to setup permissive domains.\nIn some distributions it is included in the policycoreutils-devel package.\n# yum install policycoreutils-devel\nOr similar for your distro."))
-
name = "permissive_%s" % type
modtxt = "(typepermissive %s)" % type
--
2.41.0.rc2
^ permalink raw reply related [flat|nested] 26+ messages in thread* [PATCH v4 4/4] python: update python.pot
2023-06-13 11:20 ` Petr Lautrbach
` (2 preceding siblings ...)
2023-06-13 11:20 ` [PATCH v4 3/4] semanage: Drop unnecessary import from seobject Petr Lautrbach
@ 2023-06-13 11:20 ` Petr Lautrbach
2023-06-13 12:37 ` Vit Mojzis
3 siblings, 1 reply; 26+ messages in thread
From: Petr Lautrbach @ 2023-06-13 11:20 UTC (permalink / raw)
To: selinux; +Cc: vmojzis, Petr Lautrbach
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
---
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 ""
--
2.41.0.rc2
^ permalink raw reply related [flat|nested] 26+ messages in thread* Re: [PATCH v4 4/4] python: update python.pot
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
0 siblings, 1 reply; 26+ messages in thread
From: Vit Mojzis @ 2023-06-13 12:37 UTC (permalink / raw)
To: Petr Lautrbach, selinux
On 6/13/23 13:20, Petr Lautrbach wrote:
> Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
> ---
> 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 ""
For all four patches:
Reviewed-by: Vit Mojzis <vmojzis@redhat.com>
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: [PATCH v4 4/4] python: update python.pot
2023-06-13 12:37 ` Vit Mojzis
@ 2023-06-27 13:55 ` Petr Lautrbach
2023-07-06 13:39 ` James Carter
0 siblings, 1 reply; 26+ messages in thread
From: Petr Lautrbach @ 2023-06-27 13:55 UTC (permalink / raw)
To: Vit Mojzis, selinux
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.
>> ---
>> 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 ""
>
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: [PATCH v4 4/4] python: update python.pot
2023-06-27 13:55 ` Petr Lautrbach
@ 2023-07-06 13:39 ` James Carter
2023-07-12 17:33 ` James Carter
0 siblings, 1 reply; 26+ messages in thread
From: James Carter @ 2023-07-06 13:39 UTC (permalink / raw)
To: Petr Lautrbach; +Cc: Vit Mojzis, selinux
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>
>
> >> ---
> >> 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 ""
> >
>
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: [PATCH v4 4/4] python: update python.pot
2023-07-06 13:39 ` James Carter
@ 2023-07-12 17:33 ` James Carter
0 siblings, 0 replies; 26+ messages in thread
From: James Carter @ 2023-07-12 17:33 UTC (permalink / raw)
To: Petr Lautrbach; +Cc: Vit Mojzis, selinux
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 ""
> > >
> >
^ permalink raw reply [flat|nested] 26+ messages in thread