From be16d7c136c334faf5371b664d664e37ab82a061 Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Mon, 13 Apr 2015 10:39:12 +0200 Subject: [PATCH 1/7] Update to upstream release 2.4 from https://github.com/bachradsusi/selinux.git branch 2.4 --- make-rhat-patches.sh | 9 +- policycoreutils-rhat.patch | 1574 +++++++++++++----------------------- policycoreutils.spec | 23 +- sepolgen-rhat.patch | 18 +- 4 files changed, 604 insertions(+), 1020 deletions(-) diff --git a/make-rhat-patches.sh b/make-rhat-patches.sh index 080386d..2550bc1 100755 --- a/make-rhat-patches.sh +++ b/make-rhat-patches.sh @@ -1,13 +1,14 @@ #!/bin/bash -POLICYCOREUTILS_VERSION=2.3 -SEPOLGEN_VERSION=1.2.1 -BRANCH=master +POLICYCOREUTILS_VERSION=2.4 +SEPOLGEN_VERSION=1.2.2 +BRANCH=2.4 REBASEDIR=`mktemp -d rebase.XXXXXX` pushd $REBASEDIR -git clone git@github.com:fedora-selinux/selinux.git +# git clone git@github.com:fedora-selinux/selinux.git +git clone https://github.com/bachradsusi/selinux.git pushd selinux; git checkout $BRANCH; COMMIT=`git rev-parse --verify HEAD`; popd # prepare policycoreutils-rhat.patch diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch index 0ac9121..a202ae8 100644 --- a/policycoreutils-rhat.patch +++ b/policycoreutils-rhat.patch @@ -1,17 +1,17 @@ -diff --git a/policycoreutils-2.3/Makefile b/policycoreutils-2.3/Makefile -index 83ebd45..bea9814 100644 ---- a/policycoreutils-2.3/Makefile -+++ b/policycoreutils-2.3/Makefile +diff --git a/policycoreutils-2.4/Makefile b/policycoreutils-2.4/Makefile +index 962ac12..6a9c40c 100644 +--- a/policycoreutils-2.4/Makefile ++++ b/policycoreutils-2.4/Makefile @@ -1,4 +1,4 @@ --SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui -+SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui semanage/default_encoding +-SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui hll ++SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui hll semanage/default_encoding INOTIFYH = $(shell ls /usr/include/sys/inotify.h 2>/dev/null) -diff --git a/policycoreutils-2.3/audit2allow/audit2allow b/policycoreutils-2.3/audit2allow/audit2allow +diff --git a/policycoreutils-2.4/audit2allow/audit2allow b/policycoreutils-2.4/audit2allow/audit2allow index c9713a2..5c5bd6e 100644 ---- a/policycoreutils-2.3/audit2allow/audit2allow -+++ b/policycoreutils-2.3/audit2allow/audit2allow +--- a/policycoreutils-2.4/audit2allow/audit2allow ++++ b/policycoreutils-2.4/audit2allow/audit2allow @@ -271,7 +271,7 @@ class AuditToPolicy: if rc == audit2why.CONSTRAINT: print #!!!! This avc is a constraint violation. You would need to modify the attributes of either the source or target types to allow this access.\n" @@ -21,10 +21,10 @@ index c9713a2..5c5bd6e 100644 for reason in data[1:]: print "#\tPossible cause is the source %s and target %s are different.\n" % reason -diff --git a/policycoreutils-2.3/audit2allow/sepolgen-ifgen b/policycoreutils-2.3/audit2allow/sepolgen-ifgen +diff --git a/policycoreutils-2.4/audit2allow/sepolgen-ifgen b/policycoreutils-2.4/audit2allow/sepolgen-ifgen index 83c7ecf..7f8caaf 100644 ---- a/policycoreutils-2.3/audit2allow/sepolgen-ifgen -+++ b/policycoreutils-2.3/audit2allow/sepolgen-ifgen +--- a/policycoreutils-2.4/audit2allow/sepolgen-ifgen ++++ b/policycoreutils-2.4/audit2allow/sepolgen-ifgen @@ -82,7 +82,7 @@ def get_attrs(policy_path): sys.stderr.write("No installed policy to check\n") return None @@ -65,10 +65,10 @@ index 83c7ecf..7f8caaf 100644 return 1 if_set = interfaces.InterfaceSet(output=log) -diff --git a/policycoreutils-2.3/gui/Makefile b/policycoreutils-2.3/gui/Makefile +diff --git a/policycoreutils-2.4/gui/Makefile b/policycoreutils-2.4/gui/Makefile index 9d9f820..0c2b390 100644 ---- a/policycoreutils-2.3/gui/Makefile -+++ b/policycoreutils-2.3/gui/Makefile +--- a/policycoreutils-2.4/gui/Makefile ++++ b/policycoreutils-2.4/gui/Makefile @@ -12,7 +12,6 @@ domainsPage.py \ fcontextPage.py \ html_util.py \ @@ -77,10 +77,10 @@ index 9d9f820..0c2b390 100644 modulesPage.py \ polgen.glade \ portsPage.py \ -diff --git a/policycoreutils-2.3/gui/booleansPage.py b/policycoreutils-2.3/gui/booleansPage.py +diff --git a/policycoreutils-2.4/gui/booleansPage.py b/policycoreutils-2.4/gui/booleansPage.py index eee954d..0c4b14b 100644 ---- a/policycoreutils-2.3/gui/booleansPage.py -+++ b/policycoreutils-2.3/gui/booleansPage.py +--- a/policycoreutils-2.4/gui/booleansPage.py ++++ b/policycoreutils-2.4/gui/booleansPage.py @@ -18,20 +18,17 @@ # You should have received a copy of the GNU General Public License # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -190,10 +190,10 @@ index eee954d..0c4b14b 100644 self.ready() def on_local_clicked(self, button): -diff --git a/policycoreutils-2.3/gui/domainsPage.py b/policycoreutils-2.3/gui/domainsPage.py +diff --git a/policycoreutils-2.4/gui/domainsPage.py b/policycoreutils-2.4/gui/domainsPage.py index 6af1e9a..39a4574 100644 ---- a/policycoreutils-2.3/gui/domainsPage.py -+++ b/policycoreutils-2.3/gui/domainsPage.py +--- a/policycoreutils-2.4/gui/domainsPage.py ++++ b/policycoreutils-2.4/gui/domainsPage.py @@ -20,7 +20,7 @@ import string import gtk import gtk.glade @@ -269,10 +269,10 @@ index 6af1e9a..39a4574 100644 + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() -diff --git a/policycoreutils-2.3/gui/fcontextPage.py b/policycoreutils-2.3/gui/fcontextPage.py +diff --git a/policycoreutils-2.4/gui/fcontextPage.py b/policycoreutils-2.4/gui/fcontextPage.py index 131f1c2..9a34143 100644 ---- a/policycoreutils-2.3/gui/fcontextPage.py -+++ b/policycoreutils-2.3/gui/fcontextPage.py +--- a/policycoreutils-2.4/gui/fcontextPage.py ++++ b/policycoreutils-2.4/gui/fcontextPage.py @@ -18,10 +18,9 @@ ## Author: Dan Walsh import gtk @@ -502,10 +502,10 @@ index 131f1c2..9a34143 100644 - self.store.set_value(iter, SPEC_COL, fspec) - self.store.set_value(iter, FTYPE_COL, ftype) - self.store.set_value(iter, TYPE_COL, "%s:%s" % (type, mls)) -diff --git a/policycoreutils-2.3/gui/html_util.py b/policycoreutils-2.3/gui/html_util.py +diff --git a/policycoreutils-2.4/gui/html_util.py b/policycoreutils-2.4/gui/html_util.py index 68eed76..32de37a 100644 ---- a/policycoreutils-2.3/gui/html_util.py -+++ b/policycoreutils-2.3/gui/html_util.py +--- a/policycoreutils-2.4/gui/html_util.py ++++ b/policycoreutils-2.4/gui/html_util.py @@ -30,7 +30,8 @@ import htmllib import formatter as Formatter import string @@ -543,10 +543,10 @@ index 68eed76..32de37a 100644 result = body_component() if type(result) in [TupleType, ListType]: for item in result: -diff --git a/policycoreutils-2.3/gui/loginsPage.py b/policycoreutils-2.3/gui/loginsPage.py +diff --git a/policycoreutils-2.4/gui/loginsPage.py b/policycoreutils-2.4/gui/loginsPage.py index ec29fd9..8a1c0b7 100644 ---- a/policycoreutils-2.3/gui/loginsPage.py -+++ b/policycoreutils-2.3/gui/loginsPage.py +--- a/policycoreutils-2.4/gui/loginsPage.py ++++ b/policycoreutils-2.4/gui/loginsPage.py @@ -16,13 +16,10 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -747,10 +747,10 @@ index ec29fd9..8a1c0b7 100644 - self.store.set_value(iter, 0, target) - self.store.set_value(iter, 1, seuser) - self.store.set_value(iter, 2, seobject.translate(serange)) -diff --git a/policycoreutils-2.3/gui/modulesPage.py b/policycoreutils-2.3/gui/modulesPage.py +diff --git a/policycoreutils-2.4/gui/modulesPage.py b/policycoreutils-2.4/gui/modulesPage.py index 9ff0766..a52863e 100644 ---- a/policycoreutils-2.3/gui/modulesPage.py -+++ b/policycoreutils-2.3/gui/modulesPage.py +--- a/policycoreutils-2.4/gui/modulesPage.py ++++ b/policycoreutils-2.4/gui/modulesPage.py @@ -20,7 +20,7 @@ import string import gtk import gtk.glade @@ -925,10 +925,10 @@ index 9ff0766..a52863e 100644 + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() -diff --git a/policycoreutils-2.3/gui/polgen.glade b/policycoreutils-2.3/gui/polgen.glade +diff --git a/policycoreutils-2.4/gui/polgen.glade b/policycoreutils-2.4/gui/polgen.glade index 37c1472..9854fb2 100644 ---- a/policycoreutils-2.3/gui/polgen.glade -+++ b/policycoreutils-2.3/gui/polgen.glade +--- a/policycoreutils-2.4/gui/polgen.glade ++++ b/policycoreutils-2.4/gui/polgen.glade @@ -758,7 +758,7 @@ True False @@ -1019,10 +1019,10 @@ index 37c1472..9854fb2 100644 False -diff --git a/policycoreutils-2.3/gui/polgengui.py b/policycoreutils-2.3/gui/polgengui.py +diff --git a/policycoreutils-2.4/gui/polgengui.py b/policycoreutils-2.4/gui/polgengui.py index 0f0e564..1b88c47 100644 ---- a/policycoreutils-2.3/gui/polgengui.py -+++ b/policycoreutils-2.3/gui/polgengui.py +--- a/policycoreutils-2.4/gui/polgengui.py ++++ b/policycoreutils-2.4/gui/polgengui.py @@ -30,29 +30,15 @@ import gnome import sys try: @@ -1140,10 +1140,10 @@ index 0f0e564..1b88c47 100644 iter = self.store.append() self.store.set_value(iter, 0, f) self.store.set_value(iter, 1, DIR) -diff --git a/policycoreutils-2.3/gui/portsPage.py b/policycoreutils-2.3/gui/portsPage.py +diff --git a/policycoreutils-2.4/gui/portsPage.py b/policycoreutils-2.4/gui/portsPage.py index bfb4e36..e6c87c5 100644 ---- a/policycoreutils-2.3/gui/portsPage.py -+++ b/policycoreutils-2.3/gui/portsPage.py +--- a/policycoreutils-2.4/gui/portsPage.py ++++ b/policycoreutils-2.4/gui/portsPage.py @@ -16,14 +16,11 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -1396,10 +1396,10 @@ index bfb4e36..e6c87c5 100644 def on_group_clicked(self, button): self.ports_add_button.set_sensitive(self.group) -diff --git a/policycoreutils-2.3/gui/semanagePage.py b/policycoreutils-2.3/gui/semanagePage.py +diff --git a/policycoreutils-2.4/gui/semanagePage.py b/policycoreutils-2.4/gui/semanagePage.py index 3a0e478..040a4f8 100644 ---- a/policycoreutils-2.3/gui/semanagePage.py -+++ b/policycoreutils-2.3/gui/semanagePage.py +--- a/policycoreutils-2.4/gui/semanagePage.py ++++ b/policycoreutils-2.4/gui/semanagePage.py @@ -37,8 +37,8 @@ try: unicode=False, codeset = 'utf-8') @@ -1490,10 +1490,10 @@ index 3a0e478..040a4f8 100644 self.error(e.args[0]) self.dialog.hide() -diff --git a/policycoreutils-2.3/gui/statusPage.py b/policycoreutils-2.3/gui/statusPage.py +diff --git a/policycoreutils-2.4/gui/statusPage.py b/policycoreutils-2.4/gui/statusPage.py index 02685f2..6510d2a 100644 ---- a/policycoreutils-2.3/gui/statusPage.py -+++ b/policycoreutils-2.3/gui/statusPage.py +--- a/policycoreutils-2.4/gui/statusPage.py ++++ b/policycoreutils-2.4/gui/statusPage.py @@ -16,18 +16,14 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -1574,10 +1574,10 @@ index 02685f2..6510d2a 100644 continue fd.write(l) fd.close() -diff --git a/policycoreutils-2.3/gui/system-config-selinux.py b/policycoreutils-2.3/gui/system-config-selinux.py +diff --git a/policycoreutils-2.4/gui/system-config-selinux.py b/policycoreutils-2.4/gui/system-config-selinux.py index bc3027e..9482fa5 100644 ---- a/policycoreutils-2.3/gui/system-config-selinux.py -+++ b/policycoreutils-2.3/gui/system-config-selinux.py +--- a/policycoreutils-2.4/gui/system-config-selinux.py ++++ b/policycoreutils-2.4/gui/system-config-selinux.py @@ -25,9 +25,9 @@ import string import sys try: @@ -1611,10 +1611,10 @@ index bc3027e..9482fa5 100644 self.error(e.message) xml.signal_connect("on_quit_activate", self.destroy) -diff --git a/policycoreutils-2.3/gui/usersPage.py b/policycoreutils-2.3/gui/usersPage.py +diff --git a/policycoreutils-2.4/gui/usersPage.py b/policycoreutils-2.4/gui/usersPage.py index 93804ac..1451903 100644 ---- a/policycoreutils-2.3/gui/usersPage.py -+++ b/policycoreutils-2.3/gui/usersPage.py +--- a/policycoreutils-2.4/gui/usersPage.py ++++ b/policycoreutils-2.4/gui/usersPage.py @@ -16,13 +16,10 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -1778,11 +1778,20 @@ index 93804ac..1451903 100644 - except ValueError, e: + except ValueError as e: self.error(e.args[0]) -diff --git a/policycoreutils-2.3/newrole/newrole.c b/policycoreutils-2.3/newrole/newrole.c -index dfb8c7f..4e59a06 100644 ---- a/policycoreutils-2.3/newrole/newrole.c -+++ b/policycoreutils-2.3/newrole/newrole.c -@@ -547,9 +547,7 @@ static int drop_capabilities(int full) +diff --git a/policycoreutils-2.4/newrole/newrole.c b/policycoreutils-2.4/newrole/newrole.c +index 94794e9..55e8d39 100644 +--- a/policycoreutils-2.4/newrole/newrole.c ++++ b/policycoreutils-2.4/newrole/newrole.c +@@ -278,7 +278,7 @@ static int process_pam_config(FILE * cfg) + continue; + + app = service = NULL; +- ret = sscanf(buffer, "%as %as\n", &app, &service); ++ ret = sscanf(buffer, "%ms %ms\n", &app, &service); + if (ret < 2 || !app || !service) + goto err; + +@@ -546,9 +546,7 @@ static int drop_capabilities(int full) if (!uid) return 0; capng_setpid(getpid()); @@ -1793,7 +1802,7 @@ index dfb8c7f..4e59a06 100644 /* Change uid */ if (setresuid(uid, uid, uid)) { -@@ -558,7 +556,7 @@ static int drop_capabilities(int full) +@@ -557,7 +555,7 @@ static int drop_capabilities(int full) } if (! full) capng_update(CAPNG_ADD, CAPNG_EFFECTIVE | CAPNG_PERMITTED, CAP_AUDIT_WRITE); @@ -1802,7 +1811,7 @@ index dfb8c7f..4e59a06 100644 } #elif defined(NAMESPACE_PRIV) /** -@@ -576,20 +574,21 @@ static int drop_capabilities(int full) +@@ -575,20 +573,21 @@ static int drop_capabilities(int full) */ static int drop_capabilities(int full) { @@ -1830,7 +1839,7 @@ index dfb8c7f..4e59a06 100644 } #else -@@ -680,7 +679,7 @@ static int relabel_tty(const char *ttyn, security_context_t new_context, +@@ -679,7 +678,7 @@ static int relabel_tty(const char *ttyn, security_context_t new_context, security_context_t * tty_context, security_context_t * new_tty_context) { @@ -1839,7 +1848,7 @@ index dfb8c7f..4e59a06 100644 int enforcing = security_getenforce(); security_context_t tty_con = NULL; security_context_t new_tty_con = NULL; -@@ -699,7 +698,13 @@ static int relabel_tty(const char *ttyn, security_context_t new_context, +@@ -698,7 +697,13 @@ static int relabel_tty(const char *ttyn, security_context_t new_context, fprintf(stderr, _("Error! Could not open %s.\n"), ttyn); return fd; } @@ -1854,7 +1863,7 @@ index dfb8c7f..4e59a06 100644 if (fgetfilecon(fd, &tty_con) < 0) { fprintf(stderr, _("%s! Could not get current context " -@@ -1010,9 +1015,9 @@ int main(int argc, char *argv[]) +@@ -1009,9 +1014,9 @@ int main(int argc, char *argv[]) int fd; pid_t childPid = 0; char *shell_argv0 = NULL; @@ -1865,7 +1874,16 @@ index dfb8c7f..4e59a06 100644 int pam_status; /* pam return code */ pam_handle_t *pam_handle; /* opaque handle used by all PAM functions */ -@@ -1223,18 +1228,26 @@ int main(int argc, char *argv[]) +@@ -1104,7 +1109,7 @@ int main(int argc, char *argv[]) + * command when invoked by newrole. + */ + char *cmd = NULL; +- rc = sscanf(argv[optind + 1], "%as", &cmd); ++ rc = sscanf(argv[optind + 1], "%ms", &cmd); + if (rc != EOF && cmd) { + char *app_service_name = + (char *)hashtab_search(app_service_names, +@@ -1222,18 +1227,26 @@ int main(int argc, char *argv[]) fprintf(stderr, _("Could not close descriptors.\n")); goto err_close_pam; } @@ -1896,7 +1914,7 @@ index dfb8c7f..4e59a06 100644 } /* -@@ -1268,19 +1281,24 @@ int main(int argc, char *argv[]) +@@ -1267,19 +1280,24 @@ int main(int argc, char *argv[]) } #endif @@ -1925,10 +1943,10 @@ index dfb8c7f..4e59a06 100644 /* Handle environment changes */ if (restore_environment(preserve_environment, old_environ, &pw)) { fprintf(stderr, _("Unable to restore the environment, " -diff --git a/policycoreutils-2.3/po/Makefile b/policycoreutils-2.3/po/Makefile +diff --git a/policycoreutils-2.4/po/Makefile b/policycoreutils-2.4/po/Makefile index a693823..555f381 100644 ---- a/policycoreutils-2.3/po/Makefile -+++ b/policycoreutils-2.3/po/Makefile +--- a/policycoreutils-2.4/po/Makefile ++++ b/policycoreutils-2.4/po/Makefile @@ -28,7 +28,7 @@ POTFILES = \ ../run_init/run_init.c \ ../semodule_link/semodule_link.c \ @@ -1983,10 +2001,10 @@ index a693823..555f381 100644 ../sepolicy/info.c \ ../sepolicy/search.c \ ../sepolicy/sepolicy.py \ -diff --git a/policycoreutils-2.3/po/POTFILES b/policycoreutils-2.3/po/POTFILES +diff --git a/policycoreutils-2.4/po/POTFILES b/policycoreutils-2.4/po/POTFILES index bcb9e99..ae25133 100644 ---- a/policycoreutils-2.3/po/POTFILES -+++ b/policycoreutils-2.3/po/POTFILES +--- a/policycoreutils-2.4/po/POTFILES ++++ b/policycoreutils-2.4/po/POTFILES @@ -2,7 +2,7 @@ ../run_init/run_init.c ../semodule_link/semodule_link.c @@ -2041,10 +2059,10 @@ index bcb9e99..ae25133 100644 ../sepolicy/info.c ../sepolicy/search.c ../sepolicy/sepolicy.py -diff --git a/policycoreutils-2.3/po/POTFILES.in b/policycoreutils-2.3/po/POTFILES.in +diff --git a/policycoreutils-2.4/po/POTFILES.in b/policycoreutils-2.4/po/POTFILES.in index aca0474..0ccb542 100644 ---- a/policycoreutils-2.3/po/POTFILES.in -+++ b/policycoreutils-2.3/po/POTFILES.in +--- a/policycoreutils-2.4/po/POTFILES.in ++++ b/policycoreutils-2.4/po/POTFILES.in @@ -2,7 +2,7 @@ run_init/open_init_pty.c run_init/run_init.c semodule_link/semodule_link.c @@ -2099,11 +2117,11 @@ index aca0474..0ccb542 100644 sepolicy/sepolicy/transition.py sepolicy/sepolicy/templates/executable.py sepolicy/sepolicy/templates/__init__.py -diff --git a/policycoreutils-2.3/po/ach.po b/policycoreutils-2.3/po/ach.po +diff --git a/policycoreutils-2.4/po/ach.po b/policycoreutils-2.4/po/ach.po new file mode 100644 index 0000000..0d84e13 --- /dev/null -+++ b/policycoreutils-2.3/po/ach.po ++++ b/policycoreutils-2.4/po/ach.po @@ -0,0 +1,5198 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -7303,10 +7321,10 @@ index 0000000..0d84e13 +#: ../sepolicy/sepolicy/gui.py:2777 +msgid "Loss of data Dialog" +msgstr "" -diff --git a/policycoreutils-2.3/po/af.po b/policycoreutils-2.3/po/af.po +diff --git a/policycoreutils-2.4/po/af.po b/policycoreutils-2.4/po/af.po index e4a6e09..e3cd32f 100644 ---- a/policycoreutils-2.3/po/af.po -+++ b/policycoreutils-2.3/po/af.po +--- a/policycoreutils-2.4/po/af.po ++++ b/policycoreutils-2.4/po/af.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -12566,10 +12584,10 @@ index e4a6e09..e3cd32f 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/af_ZA.po b/policycoreutils-2.3/po/af_ZA.po +diff --git a/policycoreutils-2.4/po/af_ZA.po b/policycoreutils-2.4/po/af_ZA.po index fb0b1d9..6409e2a 100644 ---- a/policycoreutils-2.3/po/af_ZA.po -+++ b/policycoreutils-2.3/po/af_ZA.po +--- a/policycoreutils-2.4/po/af_ZA.po ++++ b/policycoreutils-2.4/po/af_ZA.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -17829,10 +17847,10 @@ index fb0b1d9..6409e2a 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/aln.po b/policycoreutils-2.3/po/aln.po +diff --git a/policycoreutils-2.4/po/aln.po b/policycoreutils-2.4/po/aln.po index 507644c..b7d66d0 100644 ---- a/policycoreutils-2.3/po/aln.po -+++ b/policycoreutils-2.3/po/aln.po +--- a/policycoreutils-2.4/po/aln.po ++++ b/policycoreutils-2.4/po/aln.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -23092,10 +23110,10 @@ index 507644c..b7d66d0 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/am.po b/policycoreutils-2.3/po/am.po +diff --git a/policycoreutils-2.4/po/am.po b/policycoreutils-2.4/po/am.po index db49486..7e68aa6 100644 ---- a/policycoreutils-2.3/po/am.po -+++ b/policycoreutils-2.3/po/am.po +--- a/policycoreutils-2.4/po/am.po ++++ b/policycoreutils-2.4/po/am.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -28355,10 +28373,10 @@ index db49486..7e68aa6 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ar.po b/policycoreutils-2.3/po/ar.po +diff --git a/policycoreutils-2.4/po/ar.po b/policycoreutils-2.4/po/ar.po index b03fb78..6eaa817 100644 ---- a/policycoreutils-2.3/po/ar.po -+++ b/policycoreutils-2.3/po/ar.po +--- a/policycoreutils-2.4/po/ar.po ++++ b/policycoreutils-2.4/po/ar.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -33723,10 +33741,10 @@ index b03fb78..6eaa817 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/as.po b/policycoreutils-2.3/po/as.po +diff --git a/policycoreutils-2.4/po/as.po b/policycoreutils-2.4/po/as.po index 4689a67..09f3289 100644 ---- a/policycoreutils-2.3/po/as.po -+++ b/policycoreutils-2.3/po/as.po +--- a/policycoreutils-2.4/po/as.po ++++ b/policycoreutils-2.4/po/as.po @@ -1,27 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -40096,10 +40114,10 @@ index 4689a67..09f3289 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK উপলব্ধ নহয়" +msgstr "তথ্যৰ ক্ষতি ডাইলগ" -diff --git a/policycoreutils-2.3/po/ast.po b/policycoreutils-2.3/po/ast.po +diff --git a/policycoreutils-2.4/po/ast.po b/policycoreutils-2.4/po/ast.po index 1a5bc23..4595f6e 100644 ---- a/policycoreutils-2.3/po/ast.po -+++ b/policycoreutils-2.3/po/ast.po +--- a/policycoreutils-2.4/po/ast.po ++++ b/policycoreutils-2.4/po/ast.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -45358,10 +45376,10 @@ index 1a5bc23..4595f6e 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/az.po b/policycoreutils-2.3/po/az.po +diff --git a/policycoreutils-2.4/po/az.po b/policycoreutils-2.4/po/az.po index 1936f49..c5a9b1f 100644 ---- a/policycoreutils-2.3/po/az.po -+++ b/policycoreutils-2.3/po/az.po +--- a/policycoreutils-2.4/po/az.po ++++ b/policycoreutils-2.4/po/az.po @@ -1,22 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -50623,10 +50641,10 @@ index 1936f49..c5a9b1f 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/bal.po b/policycoreutils-2.3/po/bal.po +diff --git a/policycoreutils-2.4/po/bal.po b/policycoreutils-2.4/po/bal.po index 31b8576..84c7667 100644 ---- a/policycoreutils-2.3/po/bal.po -+++ b/policycoreutils-2.3/po/bal.po +--- a/policycoreutils-2.4/po/bal.po ++++ b/policycoreutils-2.4/po/bal.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -55885,10 +55903,10 @@ index 31b8576..84c7667 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/be.po b/policycoreutils-2.3/po/be.po +diff --git a/policycoreutils-2.4/po/be.po b/policycoreutils-2.4/po/be.po index e9c7007..15635db 100644 ---- a/policycoreutils-2.3/po/be.po -+++ b/policycoreutils-2.3/po/be.po +--- a/policycoreutils-2.4/po/be.po ++++ b/policycoreutils-2.4/po/be.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -61151,10 +61169,10 @@ index e9c7007..15635db 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/bg.po b/policycoreutils-2.3/po/bg.po +diff --git a/policycoreutils-2.4/po/bg.po b/policycoreutils-2.4/po/bg.po index 1e71e74..b79a88b 100644 ---- a/policycoreutils-2.3/po/bg.po -+++ b/policycoreutils-2.3/po/bg.po +--- a/policycoreutils-2.4/po/bg.po ++++ b/policycoreutils-2.4/po/bg.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -66897,10 +66915,10 @@ index 1e71e74..b79a88b 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/bn.po b/policycoreutils-2.3/po/bn.po +diff --git a/policycoreutils-2.4/po/bn.po b/policycoreutils-2.4/po/bn.po index 1db7396..2a78eb7 100644 ---- a/policycoreutils-2.3/po/bn.po -+++ b/policycoreutils-2.3/po/bn.po +--- a/policycoreutils-2.4/po/bn.po ++++ b/policycoreutils-2.4/po/bn.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -72158,10 +72176,10 @@ index 1db7396..2a78eb7 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/bn_IN.po b/policycoreutils-2.3/po/bn_IN.po +diff --git a/policycoreutils-2.4/po/bn_IN.po b/policycoreutils-2.4/po/bn_IN.po index 3d3cd0b..708dbda 100644 ---- a/policycoreutils-2.3/po/bn_IN.po -+++ b/policycoreutils-2.3/po/bn_IN.po +--- a/policycoreutils-2.4/po/bn_IN.po ++++ b/policycoreutils-2.4/po/bn_IN.po @@ -1,24 +1,27 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -78563,10 +78581,10 @@ index 3d3cd0b..708dbda 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "ডেটা ডায়লগ হারানো" -diff --git a/policycoreutils-2.3/po/bo.po b/policycoreutils-2.3/po/bo.po +diff --git a/policycoreutils-2.4/po/bo.po b/policycoreutils-2.4/po/bo.po index 8664488..ea90fc0 100644 ---- a/policycoreutils-2.3/po/bo.po -+++ b/policycoreutils-2.3/po/bo.po +--- a/policycoreutils-2.4/po/bo.po ++++ b/policycoreutils-2.4/po/bo.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -83824,10 +83842,10 @@ index 8664488..ea90fc0 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/br.po b/policycoreutils-2.3/po/br.po +diff --git a/policycoreutils-2.4/po/br.po b/policycoreutils-2.4/po/br.po index 5c08944..6b329b7 100644 ---- a/policycoreutils-2.3/po/br.po -+++ b/policycoreutils-2.3/po/br.po +--- a/policycoreutils-2.4/po/br.po ++++ b/policycoreutils-2.4/po/br.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -89086,10 +89104,10 @@ index 5c08944..6b329b7 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/brx.po b/policycoreutils-2.3/po/brx.po +diff --git a/policycoreutils-2.4/po/brx.po b/policycoreutils-2.4/po/brx.po index 3d6ccd2..a2b42b9 100644 ---- a/policycoreutils-2.3/po/brx.po -+++ b/policycoreutils-2.3/po/brx.po +--- a/policycoreutils-2.4/po/brx.po ++++ b/policycoreutils-2.4/po/brx.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -94349,10 +94367,10 @@ index 3d6ccd2..a2b42b9 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/bs.po b/policycoreutils-2.3/po/bs.po +diff --git a/policycoreutils-2.4/po/bs.po b/policycoreutils-2.4/po/bs.po index ec4c1d3..a2d31ae 100644 ---- a/policycoreutils-2.3/po/bs.po -+++ b/policycoreutils-2.3/po/bs.po +--- a/policycoreutils-2.4/po/bs.po ++++ b/policycoreutils-2.4/po/bs.po @@ -1,34 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -99687,10 +99705,10 @@ index ec4c1d3..a2d31ae 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ca.po b/policycoreutils-2.3/po/ca.po +diff --git a/policycoreutils-2.4/po/ca.po b/policycoreutils-2.4/po/ca.po index 401e16f..5853b77 100644 ---- a/policycoreutils-2.3/po/ca.po -+++ b/policycoreutils-2.3/po/ca.po +--- a/policycoreutils-2.4/po/ca.po ++++ b/policycoreutils-2.4/po/ca.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -105150,10 +105168,10 @@ index 401e16f..5853b77 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/cs.po b/policycoreutils-2.3/po/cs.po +diff --git a/policycoreutils-2.4/po/cs.po b/policycoreutils-2.4/po/cs.po index 91d764b..fb59bca 100644 ---- a/policycoreutils-2.3/po/cs.po -+++ b/policycoreutils-2.3/po/cs.po +--- a/policycoreutils-2.4/po/cs.po ++++ b/policycoreutils-2.4/po/cs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -110420,10 +110438,10 @@ index 91d764b..fb59bca 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/cs_CZ.po b/policycoreutils-2.3/po/cs_CZ.po +diff --git a/policycoreutils-2.4/po/cs_CZ.po b/policycoreutils-2.4/po/cs_CZ.po index 7f45f48..b27a708 100644 ---- a/policycoreutils-2.3/po/cs_CZ.po -+++ b/policycoreutils-2.3/po/cs_CZ.po +--- a/policycoreutils-2.4/po/cs_CZ.po ++++ b/policycoreutils-2.4/po/cs_CZ.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -115683,10 +115701,10 @@ index 7f45f48..b27a708 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/cy.po b/policycoreutils-2.3/po/cy.po +diff --git a/policycoreutils-2.4/po/cy.po b/policycoreutils-2.4/po/cy.po index c7ff335..1a27e75 100644 ---- a/policycoreutils-2.3/po/cy.po -+++ b/policycoreutils-2.3/po/cy.po +--- a/policycoreutils-2.4/po/cy.po ++++ b/policycoreutils-2.4/po/cy.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -120949,10 +120967,10 @@ index c7ff335..1a27e75 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/da.po b/policycoreutils-2.3/po/da.po +diff --git a/policycoreutils-2.4/po/da.po b/policycoreutils-2.4/po/da.po index 402c612..313bee6 100644 ---- a/policycoreutils-2.3/po/da.po -+++ b/policycoreutils-2.3/po/da.po +--- a/policycoreutils-2.4/po/da.po ++++ b/policycoreutils-2.4/po/da.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -126319,10 +126337,10 @@ index 402c612..313bee6 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/de.po b/policycoreutils-2.3/po/de.po +diff --git a/policycoreutils-2.4/po/de.po b/policycoreutils-2.4/po/de.po index f7ac23c..0d2f9cb 100644 ---- a/policycoreutils-2.3/po/de.po -+++ b/policycoreutils-2.3/po/de.po +--- a/policycoreutils-2.4/po/de.po ++++ b/policycoreutils-2.4/po/de.po @@ -1,15 +1,17 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -132850,10 +132868,10 @@ index f7ac23c..0d2f9cb 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "Dialog zum Datenverlust" -diff --git a/policycoreutils-2.3/po/de_CH.po b/policycoreutils-2.3/po/de_CH.po +diff --git a/policycoreutils-2.4/po/de_CH.po b/policycoreutils-2.4/po/de_CH.po index 0016016..f45025d 100644 ---- a/policycoreutils-2.3/po/de_CH.po -+++ b/policycoreutils-2.3/po/de_CH.po +--- a/policycoreutils-2.4/po/de_CH.po ++++ b/policycoreutils-2.4/po/de_CH.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -138113,10 +138131,10 @@ index 0016016..f45025d 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/dz.po b/policycoreutils-2.3/po/dz.po +diff --git a/policycoreutils-2.4/po/dz.po b/policycoreutils-2.4/po/dz.po index 9a6ca3d..312184d 100644 ---- a/policycoreutils-2.3/po/dz.po -+++ b/policycoreutils-2.3/po/dz.po +--- a/policycoreutils-2.4/po/dz.po ++++ b/policycoreutils-2.4/po/dz.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -143376,10 +143394,10 @@ index 9a6ca3d..312184d 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/el.po b/policycoreutils-2.3/po/el.po +diff --git a/policycoreutils-2.4/po/el.po b/policycoreutils-2.4/po/el.po index d9844d0..3a5bc72 100644 ---- a/policycoreutils-2.3/po/el.po -+++ b/policycoreutils-2.3/po/el.po +--- a/policycoreutils-2.4/po/el.po ++++ b/policycoreutils-2.4/po/el.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -148668,10 +148686,10 @@ index d9844d0..3a5bc72 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/en_GB.po b/policycoreutils-2.3/po/en_GB.po +diff --git a/policycoreutils-2.4/po/en_GB.po b/policycoreutils-2.4/po/en_GB.po index b7312f5..fcdaa99 100644 ---- a/policycoreutils-2.3/po/en_GB.po -+++ b/policycoreutils-2.3/po/en_GB.po +--- a/policycoreutils-2.4/po/en_GB.po ++++ b/policycoreutils-2.4/po/en_GB.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -154035,10 +154053,10 @@ index b7312f5..fcdaa99 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/en_US.po b/policycoreutils-2.3/po/en_US.po +diff --git a/policycoreutils-2.4/po/en_US.po b/policycoreutils-2.4/po/en_US.po index f800b0c..f51e977 100644 ---- a/policycoreutils-2.3/po/en_US.po -+++ b/policycoreutils-2.3/po/en_US.po +--- a/policycoreutils-2.4/po/en_US.po ++++ b/policycoreutils-2.4/po/en_US.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -159298,10 +159316,10 @@ index f800b0c..f51e977 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/eo.po b/policycoreutils-2.3/po/eo.po +diff --git a/policycoreutils-2.4/po/eo.po b/policycoreutils-2.4/po/eo.po index 5370565..aa93858 100644 ---- a/policycoreutils-2.3/po/eo.po -+++ b/policycoreutils-2.3/po/eo.po +--- a/policycoreutils-2.4/po/eo.po ++++ b/policycoreutils-2.4/po/eo.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -164561,10 +164579,10 @@ index 5370565..aa93858 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/es.po b/policycoreutils-2.3/po/es.po +diff --git a/policycoreutils-2.4/po/es.po b/policycoreutils-2.4/po/es.po index 1bf427a..238ecdd 100644 ---- a/policycoreutils-2.3/po/es.po -+++ b/policycoreutils-2.3/po/es.po +--- a/policycoreutils-2.4/po/es.po ++++ b/policycoreutils-2.4/po/es.po @@ -1,29 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -171131,10 +171149,10 @@ index 1bf427a..238ecdd 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK no disponible" +msgstr "Pérdida de diálogo de datos." -diff --git a/policycoreutils-2.3/po/es_ES.po b/policycoreutils-2.3/po/es_ES.po +diff --git a/policycoreutils-2.4/po/es_ES.po b/policycoreutils-2.4/po/es_ES.po index da1777f..5b12202 100644 ---- a/policycoreutils-2.3/po/es_ES.po -+++ b/policycoreutils-2.3/po/es_ES.po +--- a/policycoreutils-2.4/po/es_ES.po ++++ b/policycoreutils-2.4/po/es_ES.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -176394,10 +176412,10 @@ index da1777f..5b12202 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/et.po b/policycoreutils-2.3/po/et.po +diff --git a/policycoreutils-2.4/po/et.po b/policycoreutils-2.4/po/et.po index a89b95f..85a5aa6 100644 ---- a/policycoreutils-2.3/po/et.po -+++ b/policycoreutils-2.3/po/et.po +--- a/policycoreutils-2.4/po/et.po ++++ b/policycoreutils-2.4/po/et.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -181657,10 +181675,10 @@ index a89b95f..85a5aa6 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/eu.po b/policycoreutils-2.3/po/eu.po +diff --git a/policycoreutils-2.4/po/eu.po b/policycoreutils-2.4/po/eu.po index bde9697..423f96d 100644 ---- a/policycoreutils-2.3/po/eu.po -+++ b/policycoreutils-2.3/po/eu.po +--- a/policycoreutils-2.4/po/eu.po ++++ b/policycoreutils-2.4/po/eu.po @@ -1,22 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -186979,10 +186997,10 @@ index bde9697..423f96d 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/eu_ES.po b/policycoreutils-2.3/po/eu_ES.po +diff --git a/policycoreutils-2.4/po/eu_ES.po b/policycoreutils-2.4/po/eu_ES.po index 6bac2a5..5dab84c 100644 ---- a/policycoreutils-2.3/po/eu_ES.po -+++ b/policycoreutils-2.3/po/eu_ES.po +--- a/policycoreutils-2.4/po/eu_ES.po ++++ b/policycoreutils-2.4/po/eu_ES.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -192242,10 +192260,10 @@ index 6bac2a5..5dab84c 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/fa.po b/policycoreutils-2.3/po/fa.po +diff --git a/policycoreutils-2.4/po/fa.po b/policycoreutils-2.4/po/fa.po index 7d33e83..3de9ef4 100644 ---- a/policycoreutils-2.3/po/fa.po -+++ b/policycoreutils-2.3/po/fa.po +--- a/policycoreutils-2.4/po/fa.po ++++ b/policycoreutils-2.4/po/fa.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -197504,10 +197522,10 @@ index 7d33e83..3de9ef4 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/fa_IR.po b/policycoreutils-2.3/po/fa_IR.po +diff --git a/policycoreutils-2.4/po/fa_IR.po b/policycoreutils-2.4/po/fa_IR.po index 96018ad..5227463 100644 ---- a/policycoreutils-2.3/po/fa_IR.po -+++ b/policycoreutils-2.3/po/fa_IR.po +--- a/policycoreutils-2.4/po/fa_IR.po ++++ b/policycoreutils-2.4/po/fa_IR.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -202767,10 +202785,10 @@ index 96018ad..5227463 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/fi.po b/policycoreutils-2.3/po/fi.po +diff --git a/policycoreutils-2.4/po/fi.po b/policycoreutils-2.4/po/fi.po index 93a94e9..2e5d70b 100644 ---- a/policycoreutils-2.3/po/fi.po -+++ b/policycoreutils-2.3/po/fi.po +--- a/policycoreutils-2.4/po/fi.po ++++ b/policycoreutils-2.4/po/fi.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -208173,10 +208191,10 @@ index 93a94e9..2e5d70b 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/fr.po b/policycoreutils-2.3/po/fr.po +diff --git a/policycoreutils-2.4/po/fr.po b/policycoreutils-2.4/po/fr.po index be33d59..322affd 100644 ---- a/policycoreutils-2.3/po/fr.po -+++ b/policycoreutils-2.3/po/fr.po +--- a/policycoreutils-2.4/po/fr.po ++++ b/policycoreutils-2.4/po/fr.po @@ -1,27 +1,30 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -214852,10 +214870,10 @@ index be33d59..322affd 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "Boîte de dialogue des pertes de données" -diff --git a/policycoreutils-2.3/po/ga.po b/policycoreutils-2.3/po/ga.po +diff --git a/policycoreutils-2.4/po/ga.po b/policycoreutils-2.4/po/ga.po index 683287b..3a242c1 100644 ---- a/policycoreutils-2.3/po/ga.po -+++ b/policycoreutils-2.3/po/ga.po +--- a/policycoreutils-2.4/po/ga.po ++++ b/policycoreutils-2.4/po/ga.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -220117,10 +220135,10 @@ index 683287b..3a242c1 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/gl.po b/policycoreutils-2.3/po/gl.po +diff --git a/policycoreutils-2.4/po/gl.po b/policycoreutils-2.4/po/gl.po index 15fbe4a..f42d615 100644 ---- a/policycoreutils-2.3/po/gl.po -+++ b/policycoreutils-2.3/po/gl.po +--- a/policycoreutils-2.4/po/gl.po ++++ b/policycoreutils-2.4/po/gl.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -225379,10 +225397,10 @@ index 15fbe4a..f42d615 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/gu.po b/policycoreutils-2.3/po/gu.po +diff --git a/policycoreutils-2.4/po/gu.po b/policycoreutils-2.4/po/gu.po index bf08113..949df1c 100644 ---- a/policycoreutils-2.3/po/gu.po -+++ b/policycoreutils-2.3/po/gu.po +--- a/policycoreutils-2.4/po/gu.po ++++ b/policycoreutils-2.4/po/gu.po @@ -1,9 +1,11 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -231618,10 +231636,10 @@ index bf08113..949df1c 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK ઉપલબ્ધ નથી" +msgstr "સંવાદની ગુમ થયેલ માહિતી" -diff --git a/policycoreutils-2.3/po/he.po b/policycoreutils-2.3/po/he.po +diff --git a/policycoreutils-2.4/po/he.po b/policycoreutils-2.4/po/he.po index 9e3af00..fe46548 100644 ---- a/policycoreutils-2.3/po/he.po -+++ b/policycoreutils-2.3/po/he.po +--- a/policycoreutils-2.4/po/he.po ++++ b/policycoreutils-2.4/po/he.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -236880,10 +236898,10 @@ index 9e3af00..fe46548 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/hi.po b/policycoreutils-2.3/po/hi.po +diff --git a/policycoreutils-2.4/po/hi.po b/policycoreutils-2.4/po/hi.po index 34a5224..e626924 100644 ---- a/policycoreutils-2.3/po/hi.po -+++ b/policycoreutils-2.3/po/hi.po +--- a/policycoreutils-2.4/po/hi.po ++++ b/policycoreutils-2.4/po/hi.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -243057,10 +243075,10 @@ index 34a5224..e626924 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "आँकड़ा संवाद का नुकसान" -diff --git a/policycoreutils-2.3/po/hr.po b/policycoreutils-2.3/po/hr.po +diff --git a/policycoreutils-2.4/po/hr.po b/policycoreutils-2.4/po/hr.po index 9e7db25..14d9fae 100644 ---- a/policycoreutils-2.3/po/hr.po -+++ b/policycoreutils-2.3/po/hr.po +--- a/policycoreutils-2.4/po/hr.po ++++ b/policycoreutils-2.4/po/hr.po @@ -1,33 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -248426,10 +248444,10 @@ index 9e7db25..14d9fae 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/hr_HR.po b/policycoreutils-2.3/po/hr_HR.po +diff --git a/policycoreutils-2.4/po/hr_HR.po b/policycoreutils-2.4/po/hr_HR.po index 7a5c997..b274684 100644 ---- a/policycoreutils-2.3/po/hr_HR.po -+++ b/policycoreutils-2.3/po/hr_HR.po +--- a/policycoreutils-2.4/po/hr_HR.po ++++ b/policycoreutils-2.4/po/hr_HR.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -253692,10 +253710,10 @@ index 7a5c997..b274684 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/hu.po b/policycoreutils-2.3/po/hu.po +diff --git a/policycoreutils-2.4/po/hu.po b/policycoreutils-2.4/po/hu.po index e358401..9a10317 100644 ---- a/policycoreutils-2.3/po/hu.po -+++ b/policycoreutils-2.3/po/hu.po +--- a/policycoreutils-2.4/po/hu.po ++++ b/policycoreutils-2.4/po/hu.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -260310,10 +260328,10 @@ index e358401..9a10317 100644 - -#~ msgid "GTK Not Available" -#~ msgstr "GTK nem elérhető" -diff --git a/policycoreutils-2.3/po/hy.po b/policycoreutils-2.3/po/hy.po +diff --git a/policycoreutils-2.4/po/hy.po b/policycoreutils-2.4/po/hy.po index 0bc535d..6ee4807 100644 ---- a/policycoreutils-2.3/po/hy.po -+++ b/policycoreutils-2.3/po/hy.po +--- a/policycoreutils-2.4/po/hy.po ++++ b/policycoreutils-2.4/po/hy.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -265573,10 +265591,10 @@ index 0bc535d..6ee4807 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ia.po b/policycoreutils-2.3/po/ia.po +diff --git a/policycoreutils-2.4/po/ia.po b/policycoreutils-2.4/po/ia.po index ca47314..a69d915 100644 ---- a/policycoreutils-2.3/po/ia.po -+++ b/policycoreutils-2.3/po/ia.po +--- a/policycoreutils-2.4/po/ia.po ++++ b/policycoreutils-2.4/po/ia.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -270834,10 +270852,10 @@ index ca47314..a69d915 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/id.po b/policycoreutils-2.3/po/id.po +diff --git a/policycoreutils-2.4/po/id.po b/policycoreutils-2.4/po/id.po index 8bd451c..9fc0114 100644 ---- a/policycoreutils-2.3/po/id.po -+++ b/policycoreutils-2.3/po/id.po +--- a/policycoreutils-2.4/po/id.po ++++ b/policycoreutils-2.4/po/id.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -276095,10 +276113,10 @@ index 8bd451c..9fc0114 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ilo.po b/policycoreutils-2.3/po/ilo.po +diff --git a/policycoreutils-2.4/po/ilo.po b/policycoreutils-2.4/po/ilo.po index 07c416a..ae3ef6e 100644 ---- a/policycoreutils-2.3/po/ilo.po -+++ b/policycoreutils-2.3/po/ilo.po +--- a/policycoreutils-2.4/po/ilo.po ++++ b/policycoreutils-2.4/po/ilo.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -281358,10 +281376,10 @@ index 07c416a..ae3ef6e 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/is.po b/policycoreutils-2.3/po/is.po +diff --git a/policycoreutils-2.4/po/is.po b/policycoreutils-2.4/po/is.po index 0ded88a..583b0e7 100644 ---- a/policycoreutils-2.3/po/is.po -+++ b/policycoreutils-2.3/po/is.po +--- a/policycoreutils-2.4/po/is.po ++++ b/policycoreutils-2.4/po/is.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -286620,10 +286638,10 @@ index 0ded88a..583b0e7 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/it.po b/policycoreutils-2.3/po/it.po +diff --git a/policycoreutils-2.4/po/it.po b/policycoreutils-2.4/po/it.po index 0ec9bff..14dc845 100644 ---- a/policycoreutils-2.3/po/it.po -+++ b/policycoreutils-2.3/po/it.po +--- a/policycoreutils-2.4/po/it.po ++++ b/policycoreutils-2.4/po/it.po @@ -1,24 +1,31 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -293142,10 +293160,10 @@ index 0ec9bff..14dc845 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK Non Disponibile" +msgstr "Dialogo Perdita di dati" -diff --git a/policycoreutils-2.3/po/it_IT.po b/policycoreutils-2.3/po/it_IT.po +diff --git a/policycoreutils-2.4/po/it_IT.po b/policycoreutils-2.4/po/it_IT.po index dee73ea..8e362af 100644 ---- a/policycoreutils-2.3/po/it_IT.po -+++ b/policycoreutils-2.3/po/it_IT.po +--- a/policycoreutils-2.4/po/it_IT.po ++++ b/policycoreutils-2.4/po/it_IT.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -298405,10 +298423,10 @@ index dee73ea..8e362af 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ja.po b/policycoreutils-2.3/po/ja.po +diff --git a/policycoreutils-2.4/po/ja.po b/policycoreutils-2.4/po/ja.po index b9487c1..585d116 100644 ---- a/policycoreutils-2.3/po/ja.po -+++ b/policycoreutils-2.3/po/ja.po +--- a/policycoreutils-2.4/po/ja.po ++++ b/policycoreutils-2.4/po/ja.po @@ -1,31 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -304888,10 +304906,10 @@ index b9487c1..585d116 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK が利用できません" +msgstr "データ損失ダイアログ" -diff --git a/policycoreutils-2.3/po/ja_JP.po b/policycoreutils-2.3/po/ja_JP.po +diff --git a/policycoreutils-2.4/po/ja_JP.po b/policycoreutils-2.4/po/ja_JP.po index 8f6fc19..9ff06ec 100644 ---- a/policycoreutils-2.3/po/ja_JP.po -+++ b/policycoreutils-2.3/po/ja_JP.po +--- a/policycoreutils-2.4/po/ja_JP.po ++++ b/policycoreutils-2.4/po/ja_JP.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -310151,10 +310169,10 @@ index 8f6fc19..9ff06ec 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ka.po b/policycoreutils-2.3/po/ka.po +diff --git a/policycoreutils-2.4/po/ka.po b/policycoreutils-2.4/po/ka.po index b6e3ffd..2145846 100644 ---- a/policycoreutils-2.3/po/ka.po -+++ b/policycoreutils-2.3/po/ka.po +--- a/policycoreutils-2.4/po/ka.po ++++ b/policycoreutils-2.4/po/ka.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -315413,10 +315431,10 @@ index b6e3ffd..2145846 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/kk.po b/policycoreutils-2.3/po/kk.po +diff --git a/policycoreutils-2.4/po/kk.po b/policycoreutils-2.4/po/kk.po index 1eabf04..a72124b 100644 ---- a/policycoreutils-2.3/po/kk.po -+++ b/policycoreutils-2.3/po/kk.po +--- a/policycoreutils-2.4/po/kk.po ++++ b/policycoreutils-2.4/po/kk.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -320675,10 +320693,10 @@ index 1eabf04..a72124b 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/km.po b/policycoreutils-2.3/po/km.po +diff --git a/policycoreutils-2.4/po/km.po b/policycoreutils-2.4/po/km.po index e91ea5c..cbc50b6 100644 ---- a/policycoreutils-2.3/po/km.po -+++ b/policycoreutils-2.3/po/km.po +--- a/policycoreutils-2.4/po/km.po ++++ b/policycoreutils-2.4/po/km.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -325938,10 +325956,10 @@ index e91ea5c..cbc50b6 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/kn.po b/policycoreutils-2.3/po/kn.po +diff --git a/policycoreutils-2.4/po/kn.po b/policycoreutils-2.4/po/kn.po index a528c7e..638f842 100644 ---- a/policycoreutils-2.3/po/kn.po -+++ b/policycoreutils-2.3/po/kn.po +--- a/policycoreutils-2.4/po/kn.po ++++ b/policycoreutils-2.4/po/kn.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -332427,10 +332445,10 @@ index a528c7e..638f842 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK ಲಭ್ಯವಿಲ್ಲ" +msgstr "ದತ್ತಾಂಶ ಸಂವಾದಚೌಕವು ಇಲ್ಲ" -diff --git a/policycoreutils-2.3/po/ko.po b/policycoreutils-2.3/po/ko.po +diff --git a/policycoreutils-2.4/po/ko.po b/policycoreutils-2.4/po/ko.po index 49c34e5..ef8a1c7 100644 ---- a/policycoreutils-2.3/po/ko.po -+++ b/policycoreutils-2.3/po/ko.po +--- a/policycoreutils-2.4/po/ko.po ++++ b/policycoreutils-2.4/po/ko.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -338776,10 +338794,10 @@ index 49c34e5..ef8a1c7 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "데이터 대화 손실 " -diff --git a/policycoreutils-2.3/po/ks.po b/policycoreutils-2.3/po/ks.po +diff --git a/policycoreutils-2.4/po/ks.po b/policycoreutils-2.4/po/ks.po index 59c9404..37e2acd 100644 ---- a/policycoreutils-2.3/po/ks.po -+++ b/policycoreutils-2.3/po/ks.po +--- a/policycoreutils-2.4/po/ks.po ++++ b/policycoreutils-2.4/po/ks.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -344038,10 +344056,10 @@ index 59c9404..37e2acd 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ku.po b/policycoreutils-2.3/po/ku.po +diff --git a/policycoreutils-2.4/po/ku.po b/policycoreutils-2.4/po/ku.po index 9d9f1df..aac3b8e 100644 ---- a/policycoreutils-2.3/po/ku.po -+++ b/policycoreutils-2.3/po/ku.po +--- a/policycoreutils-2.4/po/ku.po ++++ b/policycoreutils-2.4/po/ku.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -349301,10 +349319,10 @@ index 9d9f1df..aac3b8e 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ky.po b/policycoreutils-2.3/po/ky.po +diff --git a/policycoreutils-2.4/po/ky.po b/policycoreutils-2.4/po/ky.po index c5fdd2f..045d5fe 100644 ---- a/policycoreutils-2.3/po/ky.po -+++ b/policycoreutils-2.3/po/ky.po +--- a/policycoreutils-2.4/po/ky.po ++++ b/policycoreutils-2.4/po/ky.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -354564,10 +354582,10 @@ index c5fdd2f..045d5fe 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/la.po b/policycoreutils-2.3/po/la.po +diff --git a/policycoreutils-2.4/po/la.po b/policycoreutils-2.4/po/la.po index dc61a42..76166f2 100644 ---- a/policycoreutils-2.3/po/la.po -+++ b/policycoreutils-2.3/po/la.po +--- a/policycoreutils-2.4/po/la.po ++++ b/policycoreutils-2.4/po/la.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -359827,10 +359845,10 @@ index dc61a42..76166f2 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/lo.po b/policycoreutils-2.3/po/lo.po +diff --git a/policycoreutils-2.4/po/lo.po b/policycoreutils-2.4/po/lo.po index 91003c8..44462c1 100644 ---- a/policycoreutils-2.3/po/lo.po -+++ b/policycoreutils-2.3/po/lo.po +--- a/policycoreutils-2.4/po/lo.po ++++ b/policycoreutils-2.4/po/lo.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -365090,10 +365108,10 @@ index 91003c8..44462c1 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/lt.po b/policycoreutils-2.3/po/lt.po +diff --git a/policycoreutils-2.4/po/lt.po b/policycoreutils-2.4/po/lt.po index c811075..b313ffa 100644 ---- a/policycoreutils-2.3/po/lt.po -+++ b/policycoreutils-2.3/po/lt.po +--- a/policycoreutils-2.4/po/lt.po ++++ b/policycoreutils-2.4/po/lt.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -370356,10 +370374,10 @@ index c811075..b313ffa 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/lv.po b/policycoreutils-2.3/po/lv.po +diff --git a/policycoreutils-2.4/po/lv.po b/policycoreutils-2.4/po/lv.po index 6bb48a3..47c8573 100644 ---- a/policycoreutils-2.3/po/lv.po -+++ b/policycoreutils-2.3/po/lv.po +--- a/policycoreutils-2.4/po/lv.po ++++ b/policycoreutils-2.4/po/lv.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -375621,10 +375639,10 @@ index 6bb48a3..47c8573 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/mai.po b/policycoreutils-2.3/po/mai.po +diff --git a/policycoreutils-2.4/po/mai.po b/policycoreutils-2.4/po/mai.po index 63e9b9a..92e8285 100644 ---- a/policycoreutils-2.3/po/mai.po -+++ b/policycoreutils-2.3/po/mai.po +--- a/policycoreutils-2.4/po/mai.po ++++ b/policycoreutils-2.4/po/mai.po @@ -1,22 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -380984,10 +381002,10 @@ index 63e9b9a..92e8285 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/mg.po b/policycoreutils-2.3/po/mg.po +diff --git a/policycoreutils-2.4/po/mg.po b/policycoreutils-2.4/po/mg.po index 4192aec..53a1e04 100644 ---- a/policycoreutils-2.3/po/mg.po -+++ b/policycoreutils-2.3/po/mg.po +--- a/policycoreutils-2.4/po/mg.po ++++ b/policycoreutils-2.4/po/mg.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -386247,10 +386265,10 @@ index 4192aec..53a1e04 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/mk.po b/policycoreutils-2.3/po/mk.po +diff --git a/policycoreutils-2.4/po/mk.po b/policycoreutils-2.4/po/mk.po index 9e58dcd..5ef07d7 100644 ---- a/policycoreutils-2.3/po/mk.po -+++ b/policycoreutils-2.3/po/mk.po +--- a/policycoreutils-2.4/po/mk.po ++++ b/policycoreutils-2.4/po/mk.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -391595,10 +391613,10 @@ index 9e58dcd..5ef07d7 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ml.po b/policycoreutils-2.3/po/ml.po +diff --git a/policycoreutils-2.4/po/ml.po b/policycoreutils-2.4/po/ml.po index dc07ee8..5a3820a 100644 ---- a/policycoreutils-2.3/po/ml.po -+++ b/policycoreutils-2.3/po/ml.po +--- a/policycoreutils-2.4/po/ml.po ++++ b/policycoreutils-2.4/po/ml.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -397936,10 +397954,10 @@ index dc07ee8..5a3820a 100644 -#~ msgid "GTK Not Available" -#~ msgstr "ജിറ്റികെ ലഭ്യമല്ല" +msgstr "ഡേറ്റാ ഡയലോഗിന്റെ നഷ്ടം" -diff --git a/policycoreutils-2.3/po/mn.po b/policycoreutils-2.3/po/mn.po +diff --git a/policycoreutils-2.4/po/mn.po b/policycoreutils-2.4/po/mn.po index 9d1342b..78a0053 100644 ---- a/policycoreutils-2.3/po/mn.po -+++ b/policycoreutils-2.3/po/mn.po +--- a/policycoreutils-2.4/po/mn.po ++++ b/policycoreutils-2.4/po/mn.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -403199,10 +403217,10 @@ index 9d1342b..78a0053 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/mr.po b/policycoreutils-2.3/po/mr.po +diff --git a/policycoreutils-2.4/po/mr.po b/policycoreutils-2.4/po/mr.po index cfc3b88..5c0a6fc 100644 ---- a/policycoreutils-2.3/po/mr.po -+++ b/policycoreutils-2.3/po/mr.po +--- a/policycoreutils-2.4/po/mr.po ++++ b/policycoreutils-2.4/po/mr.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -409416,10 +409434,10 @@ index cfc3b88..5c0a6fc 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK उपलब्ध नाही" +msgstr "डाटा संवाद गमवणे" -diff --git a/policycoreutils-2.3/po/ms.po b/policycoreutils-2.3/po/ms.po +diff --git a/policycoreutils-2.4/po/ms.po b/policycoreutils-2.4/po/ms.po index 4b2f210..19ec43a 100644 ---- a/policycoreutils-2.3/po/ms.po -+++ b/policycoreutils-2.3/po/ms.po +--- a/policycoreutils-2.4/po/ms.po ++++ b/policycoreutils-2.4/po/ms.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -414712,10 +414730,10 @@ index 4b2f210..19ec43a 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ms_MY.po b/policycoreutils-2.3/po/ms_MY.po +diff --git a/policycoreutils-2.4/po/ms_MY.po b/policycoreutils-2.4/po/ms_MY.po index e423569..8477661 100644 ---- a/policycoreutils-2.3/po/ms_MY.po -+++ b/policycoreutils-2.3/po/ms_MY.po +--- a/policycoreutils-2.4/po/ms_MY.po ++++ b/policycoreutils-2.4/po/ms_MY.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -419975,10 +419993,10 @@ index e423569..8477661 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/my.po b/policycoreutils-2.3/po/my.po +diff --git a/policycoreutils-2.4/po/my.po b/policycoreutils-2.4/po/my.po index 37eb16a..c191432 100644 ---- a/policycoreutils-2.3/po/my.po -+++ b/policycoreutils-2.3/po/my.po +--- a/policycoreutils-2.4/po/my.po ++++ b/policycoreutils-2.4/po/my.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -425238,10 +425256,10 @@ index 37eb16a..c191432 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/nb.po b/policycoreutils-2.3/po/nb.po +diff --git a/policycoreutils-2.4/po/nb.po b/policycoreutils-2.4/po/nb.po index 410a43e..9feb269 100644 ---- a/policycoreutils-2.3/po/nb.po -+++ b/policycoreutils-2.3/po/nb.po +--- a/policycoreutils-2.4/po/nb.po ++++ b/policycoreutils-2.4/po/nb.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -430505,10 +430523,10 @@ index 410a43e..9feb269 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/nds.po b/policycoreutils-2.3/po/nds.po +diff --git a/policycoreutils-2.4/po/nds.po b/policycoreutils-2.4/po/nds.po index 1a1547c..cd7923d 100644 ---- a/policycoreutils-2.3/po/nds.po -+++ b/policycoreutils-2.3/po/nds.po +--- a/policycoreutils-2.4/po/nds.po ++++ b/policycoreutils-2.4/po/nds.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -435767,10 +435785,10 @@ index 1a1547c..cd7923d 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ne.po b/policycoreutils-2.3/po/ne.po +diff --git a/policycoreutils-2.4/po/ne.po b/policycoreutils-2.4/po/ne.po index c74d665..eeb264a 100644 ---- a/policycoreutils-2.3/po/ne.po -+++ b/policycoreutils-2.3/po/ne.po +--- a/policycoreutils-2.4/po/ne.po ++++ b/policycoreutils-2.4/po/ne.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -441030,10 +441048,10 @@ index c74d665..eeb264a 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/nl.po b/policycoreutils-2.3/po/nl.po +diff --git a/policycoreutils-2.4/po/nl.po b/policycoreutils-2.4/po/nl.po index 3d3b111..af63eb8 100644 ---- a/policycoreutils-2.3/po/nl.po -+++ b/policycoreutils-2.3/po/nl.po +--- a/policycoreutils-2.4/po/nl.po ++++ b/policycoreutils-2.4/po/nl.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -448022,10 +448040,10 @@ index 3d3b111..af63eb8 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "Dataverliesdialoog" -diff --git a/policycoreutils-2.3/po/nn.po b/policycoreutils-2.3/po/nn.po +diff --git a/policycoreutils-2.4/po/nn.po b/policycoreutils-2.4/po/nn.po index e89e353..9b1fe2a 100644 ---- a/policycoreutils-2.3/po/nn.po -+++ b/policycoreutils-2.3/po/nn.po +--- a/policycoreutils-2.4/po/nn.po ++++ b/policycoreutils-2.4/po/nn.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -453283,10 +453301,10 @@ index e89e353..9b1fe2a 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/no.po b/policycoreutils-2.3/po/no.po +diff --git a/policycoreutils-2.4/po/no.po b/policycoreutils-2.4/po/no.po index f147697..96bf2e4 100644 ---- a/policycoreutils-2.3/po/no.po -+++ b/policycoreutils-2.3/po/no.po +--- a/policycoreutils-2.4/po/no.po ++++ b/policycoreutils-2.4/po/no.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -458546,10 +458564,10 @@ index f147697..96bf2e4 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/nso.po b/policycoreutils-2.3/po/nso.po +diff --git a/policycoreutils-2.4/po/nso.po b/policycoreutils-2.4/po/nso.po index 5684f24..c55ab76 100644 ---- a/policycoreutils-2.3/po/nso.po -+++ b/policycoreutils-2.3/po/nso.po +--- a/policycoreutils-2.4/po/nso.po ++++ b/policycoreutils-2.4/po/nso.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -463809,10 +463827,10 @@ index 5684f24..c55ab76 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/or.po b/policycoreutils-2.3/po/or.po +diff --git a/policycoreutils-2.4/po/or.po b/policycoreutils-2.4/po/or.po index 3f3e921..9097a84 100644 ---- a/policycoreutils-2.3/po/or.po -+++ b/policycoreutils-2.3/po/or.po +--- a/policycoreutils-2.4/po/or.po ++++ b/policycoreutils-2.4/po/or.po @@ -1,25 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -470068,10 +470086,10 @@ index 3f3e921..9097a84 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK ଉପଲବ୍ଧ ନାହିଁ" +msgstr "ତଥ୍ୟ ନଷ୍ଟ ସଂଳାପ" -diff --git a/policycoreutils-2.3/po/pa.po b/policycoreutils-2.3/po/pa.po +diff --git a/policycoreutils-2.4/po/pa.po b/policycoreutils-2.4/po/pa.po index 845642e..6659c23 100644 ---- a/policycoreutils-2.3/po/pa.po -+++ b/policycoreutils-2.3/po/pa.po +--- a/policycoreutils-2.4/po/pa.po ++++ b/policycoreutils-2.4/po/pa.po @@ -1,8 +1,10 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -476983,10 +477001,10 @@ index 845642e..6659c23 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK ਉਪਲੱਬਧ ਨਹੀਂ" +msgstr "ਡਾਟਾ ਸੰਵਾਦ ਦਾ ਘਾਟਾ" -diff --git a/policycoreutils-2.3/po/pl.po b/policycoreutils-2.3/po/pl.po +diff --git a/policycoreutils-2.4/po/pl.po b/policycoreutils-2.4/po/pl.po index 6764d70..065fac3 100644 ---- a/policycoreutils-2.3/po/pl.po -+++ b/policycoreutils-2.3/po/pl.po +--- a/policycoreutils-2.4/po/pl.po ++++ b/policycoreutils-2.4/po/pl.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -483016,10 +483034,10 @@ index 6764d70..065fac3 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/policycoreutils.pot b/policycoreutils-2.3/po/policycoreutils.pot +diff --git a/policycoreutils-2.4/po/policycoreutils.pot b/policycoreutils-2.4/po/policycoreutils.pot index be2f1eb..e737599 100644 ---- a/policycoreutils-2.3/po/policycoreutils.pot -+++ b/policycoreutils-2.3/po/policycoreutils.pot +--- a/policycoreutils-2.4/po/policycoreutils.pot ++++ b/policycoreutils-2.4/po/policycoreutils.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" @@ -488170,10 +488188,10 @@ index be2f1eb..e737599 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/pt.po b/policycoreutils-2.3/po/pt.po +diff --git a/policycoreutils-2.4/po/pt.po b/policycoreutils-2.4/po/pt.po index b969142..fe3165a 100644 ---- a/policycoreutils-2.3/po/pt.po -+++ b/policycoreutils-2.3/po/pt.po +--- a/policycoreutils-2.4/po/pt.po ++++ b/policycoreutils-2.4/po/pt.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -493620,10 +493638,10 @@ index b969142..fe3165a 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/pt_BR.po b/policycoreutils-2.3/po/pt_BR.po +diff --git a/policycoreutils-2.4/po/pt_BR.po b/policycoreutils-2.4/po/pt_BR.po index bea6ff5..8ea9fde 100644 ---- a/policycoreutils-2.3/po/pt_BR.po -+++ b/policycoreutils-2.3/po/pt_BR.po +--- a/policycoreutils-2.4/po/pt_BR.po ++++ b/policycoreutils-2.4/po/pt_BR.po @@ -1,13 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -500011,10 +500029,10 @@ index bea6ff5..8ea9fde 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "Perda de Diálogo de dados" -diff --git a/policycoreutils-2.3/po/ro.po b/policycoreutils-2.3/po/ro.po +diff --git a/policycoreutils-2.4/po/ro.po b/policycoreutils-2.4/po/ro.po index ffee45d..ab57569 100644 ---- a/policycoreutils-2.3/po/ro.po -+++ b/policycoreutils-2.3/po/ro.po +--- a/policycoreutils-2.4/po/ro.po ++++ b/policycoreutils-2.4/po/ro.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -505276,10 +505294,10 @@ index ffee45d..ab57569 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ru.po b/policycoreutils-2.3/po/ru.po +diff --git a/policycoreutils-2.4/po/ru.po b/policycoreutils-2.4/po/ru.po index 96987b6..ae78654 100644 ---- a/policycoreutils-2.3/po/ru.po -+++ b/policycoreutils-2.3/po/ru.po +--- a/policycoreutils-2.4/po/ru.po ++++ b/policycoreutils-2.4/po/ru.po @@ -1,39 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -511682,10 +511700,10 @@ index 96987b6..ae78654 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK отсутствует" +msgstr "Диалог потери данных" -diff --git a/policycoreutils-2.3/po/ru_RU.po b/policycoreutils-2.3/po/ru_RU.po +diff --git a/policycoreutils-2.4/po/ru_RU.po b/policycoreutils-2.4/po/ru_RU.po index bb2790e..baa74c7 100644 ---- a/policycoreutils-2.3/po/ru_RU.po -+++ b/policycoreutils-2.3/po/ru_RU.po +--- a/policycoreutils-2.4/po/ru_RU.po ++++ b/policycoreutils-2.4/po/ru_RU.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -516948,10 +516966,10 @@ index bb2790e..baa74c7 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/si.po b/policycoreutils-2.3/po/si.po +diff --git a/policycoreutils-2.4/po/si.po b/policycoreutils-2.4/po/si.po index 34a766f..8cb8d33 100644 ---- a/policycoreutils-2.3/po/si.po -+++ b/policycoreutils-2.3/po/si.po +--- a/policycoreutils-2.4/po/si.po ++++ b/policycoreutils-2.4/po/si.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -522211,10 +522229,10 @@ index 34a766f..8cb8d33 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/sk.po b/policycoreutils-2.3/po/sk.po +diff --git a/policycoreutils-2.4/po/sk.po b/policycoreutils-2.4/po/sk.po index 9888086..300adb6 100644 ---- a/policycoreutils-2.3/po/sk.po -+++ b/policycoreutils-2.3/po/sk.po +--- a/policycoreutils-2.4/po/sk.po ++++ b/policycoreutils-2.4/po/sk.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -527539,10 +527557,10 @@ index 9888086..300adb6 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/sl.po b/policycoreutils-2.3/po/sl.po +diff --git a/policycoreutils-2.4/po/sl.po b/policycoreutils-2.4/po/sl.po index 31807dd..a412f83 100644 ---- a/policycoreutils-2.3/po/sl.po -+++ b/policycoreutils-2.3/po/sl.po +--- a/policycoreutils-2.4/po/sl.po ++++ b/policycoreutils-2.4/po/sl.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -532804,10 +532822,10 @@ index 31807dd..a412f83 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/sq.po b/policycoreutils-2.3/po/sq.po +diff --git a/policycoreutils-2.4/po/sq.po b/policycoreutils-2.4/po/sq.po index 21c15f0..8068f8a 100644 ---- a/policycoreutils-2.3/po/sq.po -+++ b/policycoreutils-2.3/po/sq.po +--- a/policycoreutils-2.4/po/sq.po ++++ b/policycoreutils-2.4/po/sq.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -538066,10 +538084,10 @@ index 21c15f0..8068f8a 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/sr.po b/policycoreutils-2.3/po/sr.po +diff --git a/policycoreutils-2.4/po/sr.po b/policycoreutils-2.4/po/sr.po index b7d900e..495ec6e 100644 ---- a/policycoreutils-2.3/po/sr.po -+++ b/policycoreutils-2.3/po/sr.po +--- a/policycoreutils-2.4/po/sr.po ++++ b/policycoreutils-2.4/po/sr.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -543453,10 +543471,10 @@ index b7d900e..495ec6e 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/sr@latin.po b/policycoreutils-2.3/po/sr@latin.po +diff --git a/policycoreutils-2.4/po/sr@latin.po b/policycoreutils-2.4/po/sr@latin.po index 93b28d4..279c927 100644 ---- a/policycoreutils-2.3/po/sr@latin.po -+++ b/policycoreutils-2.3/po/sr@latin.po +--- a/policycoreutils-2.4/po/sr@latin.po ++++ b/policycoreutils-2.4/po/sr@latin.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -548841,10 +548859,10 @@ index 93b28d4..279c927 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/sv.po b/policycoreutils-2.3/po/sv.po +diff --git a/policycoreutils-2.4/po/sv.po b/policycoreutils-2.4/po/sv.po index fddabf4..af7cbd0 100644 ---- a/policycoreutils-2.3/po/sv.po -+++ b/policycoreutils-2.3/po/sv.po +--- a/policycoreutils-2.4/po/sv.po ++++ b/policycoreutils-2.4/po/sv.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -554962,10 +554980,10 @@ index fddabf4..af7cbd0 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ta.po b/policycoreutils-2.3/po/ta.po +diff --git a/policycoreutils-2.4/po/ta.po b/policycoreutils-2.4/po/ta.po index 9f91a5c..d8a1120 100644 ---- a/policycoreutils-2.3/po/ta.po -+++ b/policycoreutils-2.3/po/ta.po +--- a/policycoreutils-2.4/po/ta.po ++++ b/policycoreutils-2.4/po/ta.po @@ -1,25 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -561425,10 +561443,10 @@ index 9f91a5c..d8a1120 100644 -#~ msgid "GTK Not Available" -#~ msgstr "GTK கிடைக்கவில்லை" +msgstr "தரவு இழப்பு உரையாடல்" -diff --git a/policycoreutils-2.3/po/ta_IN.po b/policycoreutils-2.3/po/ta_IN.po +diff --git a/policycoreutils-2.4/po/ta_IN.po b/policycoreutils-2.4/po/ta_IN.po index 0a1c5a4..7a62b7c 100644 ---- a/policycoreutils-2.3/po/ta_IN.po -+++ b/policycoreutils-2.3/po/ta_IN.po +--- a/policycoreutils-2.4/po/ta_IN.po ++++ b/policycoreutils-2.4/po/ta_IN.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -566688,10 +566706,10 @@ index 0a1c5a4..7a62b7c 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/te.po b/policycoreutils-2.3/po/te.po +diff --git a/policycoreutils-2.4/po/te.po b/policycoreutils-2.4/po/te.po index 91321c3..b33cbbe 100644 ---- a/policycoreutils-2.3/po/te.po -+++ b/policycoreutils-2.3/po/te.po +--- a/policycoreutils-2.4/po/te.po ++++ b/policycoreutils-2.4/po/te.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -572791,10 +572809,10 @@ index 91321c3..b33cbbe 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "కోల్పోయిన దత్తాంశం డైలాగ్" -diff --git a/policycoreutils-2.3/po/tg.po b/policycoreutils-2.3/po/tg.po +diff --git a/policycoreutils-2.4/po/tg.po b/policycoreutils-2.4/po/tg.po index c67e7eb..7581529 100644 ---- a/policycoreutils-2.3/po/tg.po -+++ b/policycoreutils-2.3/po/tg.po +--- a/policycoreutils-2.4/po/tg.po ++++ b/policycoreutils-2.4/po/tg.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -578054,10 +578072,10 @@ index c67e7eb..7581529 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/th.po b/policycoreutils-2.3/po/th.po +diff --git a/policycoreutils-2.4/po/th.po b/policycoreutils-2.4/po/th.po index faa7475..046e370 100644 ---- a/policycoreutils-2.3/po/th.po -+++ b/policycoreutils-2.3/po/th.po +--- a/policycoreutils-2.4/po/th.po ++++ b/policycoreutils-2.4/po/th.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -583317,10 +583335,10 @@ index faa7475..046e370 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/tl.po b/policycoreutils-2.3/po/tl.po +diff --git a/policycoreutils-2.4/po/tl.po b/policycoreutils-2.4/po/tl.po index 3332653..ab0a8a6 100644 ---- a/policycoreutils-2.3/po/tl.po -+++ b/policycoreutils-2.3/po/tl.po +--- a/policycoreutils-2.4/po/tl.po ++++ b/policycoreutils-2.4/po/tl.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -588580,10 +588598,10 @@ index 3332653..ab0a8a6 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/tr.po b/policycoreutils-2.3/po/tr.po +diff --git a/policycoreutils-2.4/po/tr.po b/policycoreutils-2.4/po/tr.po index 269e42c..491fb66 100644 ---- a/policycoreutils-2.3/po/tr.po -+++ b/policycoreutils-2.3/po/tr.po +--- a/policycoreutils-2.4/po/tr.po ++++ b/policycoreutils-2.4/po/tr.po @@ -1,22 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -593849,10 +593867,10 @@ index 269e42c..491fb66 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/uk.po b/policycoreutils-2.3/po/uk.po +diff --git a/policycoreutils-2.4/po/uk.po b/policycoreutils-2.4/po/uk.po index 2938d05..70623e6 100644 ---- a/policycoreutils-2.3/po/uk.po -+++ b/policycoreutils-2.3/po/uk.po +--- a/policycoreutils-2.4/po/uk.po ++++ b/policycoreutils-2.4/po/uk.po @@ -1,33 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -600417,10 +600435,10 @@ index 2938d05..70623e6 100644 -#~ msgid "GTK Not Available" -#~ msgstr "Бібліотеки GTK недоступні" +msgstr "Діалогове вікно втрати даних" -diff --git a/policycoreutils-2.3/po/uk_UA.po b/policycoreutils-2.3/po/uk_UA.po +diff --git a/policycoreutils-2.4/po/uk_UA.po b/policycoreutils-2.4/po/uk_UA.po index 2204420..60e9c81 100644 ---- a/policycoreutils-2.3/po/uk_UA.po -+++ b/policycoreutils-2.3/po/uk_UA.po +--- a/policycoreutils-2.4/po/uk_UA.po ++++ b/policycoreutils-2.4/po/uk_UA.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -605683,10 +605701,10 @@ index 2204420..60e9c81 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/ur.po b/policycoreutils-2.3/po/ur.po +diff --git a/policycoreutils-2.4/po/ur.po b/policycoreutils-2.4/po/ur.po index 0ede3e6..5c5a5b0 100644 ---- a/policycoreutils-2.3/po/ur.po -+++ b/policycoreutils-2.3/po/ur.po +--- a/policycoreutils-2.4/po/ur.po ++++ b/policycoreutils-2.4/po/ur.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -610945,11 +610963,11 @@ index 0ede3e6..5c5a5b0 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/uz.po b/policycoreutils-2.3/po/uz.po +diff --git a/policycoreutils-2.4/po/uz.po b/policycoreutils-2.4/po/uz.po new file mode 100644 index 0000000..4b0e16e --- /dev/null -+++ b/policycoreutils-2.3/po/uz.po ++++ b/policycoreutils-2.4/po/uz.po @@ -0,0 +1,5198 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -616149,10 +616167,10 @@ index 0000000..4b0e16e +#: ../sepolicy/sepolicy/gui.py:2777 +msgid "Loss of data Dialog" +msgstr "" -diff --git a/policycoreutils-2.3/po/vi.po b/policycoreutils-2.3/po/vi.po +diff --git a/policycoreutils-2.4/po/vi.po b/policycoreutils-2.4/po/vi.po index fa87a1d..c742212 100644 ---- a/policycoreutils-2.3/po/vi.po -+++ b/policycoreutils-2.3/po/vi.po +--- a/policycoreutils-2.4/po/vi.po ++++ b/policycoreutils-2.4/po/vi.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -621411,10 +621429,10 @@ index fa87a1d..c742212 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/wo.po b/policycoreutils-2.3/po/wo.po +diff --git a/policycoreutils-2.4/po/wo.po b/policycoreutils-2.4/po/wo.po index 8713a24..027cdb7 100644 ---- a/policycoreutils-2.3/po/wo.po -+++ b/policycoreutils-2.3/po/wo.po +--- a/policycoreutils-2.4/po/wo.po ++++ b/policycoreutils-2.4/po/wo.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -626674,10 +626692,10 @@ index 8713a24..027cdb7 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/xh.po b/policycoreutils-2.3/po/xh.po +diff --git a/policycoreutils-2.4/po/xh.po b/policycoreutils-2.4/po/xh.po index e199788..1be6b53 100644 ---- a/policycoreutils-2.3/po/xh.po -+++ b/policycoreutils-2.3/po/xh.po +--- a/policycoreutils-2.4/po/xh.po ++++ b/policycoreutils-2.4/po/xh.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -631937,10 +631955,10 @@ index e199788..1be6b53 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/zh_CN.po b/policycoreutils-2.3/po/zh_CN.po +diff --git a/policycoreutils-2.4/po/zh_CN.po b/policycoreutils-2.4/po/zh_CN.po index 03946d3..6b3b476 100644 ---- a/policycoreutils-2.3/po/zh_CN.po -+++ b/policycoreutils-2.3/po/zh_CN.po +--- a/policycoreutils-2.4/po/zh_CN.po ++++ b/policycoreutils-2.4/po/zh_CN.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -637858,10 +637876,10 @@ index 03946d3..6b3b476 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "丢失数据对话" -diff --git a/policycoreutils-2.3/po/zh_HK.po b/policycoreutils-2.3/po/zh_HK.po +diff --git a/policycoreutils-2.4/po/zh_HK.po b/policycoreutils-2.4/po/zh_HK.po index dc7dae8..63b7e5c 100644 ---- a/policycoreutils-2.3/po/zh_HK.po -+++ b/policycoreutils-2.3/po/zh_HK.po +--- a/policycoreutils-2.4/po/zh_HK.po ++++ b/policycoreutils-2.4/po/zh_HK.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -643119,10 +643137,10 @@ index dc7dae8..63b7e5c 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/po/zh_TW.po b/policycoreutils-2.3/po/zh_TW.po +diff --git a/policycoreutils-2.4/po/zh_TW.po b/policycoreutils-2.4/po/zh_TW.po index 9f84d79..9cc8fce 100644 ---- a/policycoreutils-2.3/po/zh_TW.po -+++ b/policycoreutils-2.3/po/zh_TW.po +--- a/policycoreutils-2.4/po/zh_TW.po ++++ b/policycoreutils-2.4/po/zh_TW.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -649134,10 +649152,10 @@ index 9f84d79..9cc8fce 100644 msgid "Loss of data Dialog" -msgstr "" +msgstr "資料遺失對話方塊" -diff --git a/policycoreutils-2.3/po/zu.po b/policycoreutils-2.3/po/zu.po +diff --git a/policycoreutils-2.4/po/zu.po b/policycoreutils-2.4/po/zu.po index b306041..16eb50b 100644 ---- a/policycoreutils-2.3/po/zu.po -+++ b/policycoreutils-2.3/po/zu.po +--- a/policycoreutils-2.4/po/zu.po ++++ b/policycoreutils-2.4/po/zu.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -654397,423 +654415,10 @@ index b306041..16eb50b 100644 +#: ../sepolicy/sepolicy/gui.py:2777 msgid "Loss of data Dialog" msgstr "" -diff --git a/policycoreutils-2.3/sandbox/Makefile b/policycoreutils-2.3/sandbox/Makefile -index 981c56c..5671170 100644 ---- a/policycoreutils-2.3/sandbox/Makefile -+++ b/policycoreutils-2.3/sandbox/Makefile -@@ -8,7 +8,7 @@ MANDIR ?= $(PREFIX)/share/man - LOCALEDIR ?= /usr/share/locale - SHAREDIR ?= $(PREFIX)/share/sandbox - override CFLAGS += $(LDFLAGS) -I$(PREFIX)/include -DPACKAGE="\"policycoreutils\"" -Wall -Werror -Wextra -W --LDLIBS += -lcgroup -lselinux -lcap-ng -L$(LIBDIR) -+LDLIBS += -lselinux -lcap-ng -L$(LIBDIR) - SEUNSHARE_OBJS = seunshare.o - - all: sandbox seunshare sandboxX.sh start -diff --git a/policycoreutils-2.3/sandbox/sandbox b/policycoreutils-2.3/sandbox/sandbox -index 3668abe..3678c5d 100644 ---- a/policycoreutils-2.3/sandbox/sandbox -+++ b/policycoreutils-2.3/sandbox/sandbox -@@ -280,9 +280,9 @@ Policy defines the following types for use with the -t: - pass - - usage = _(""" --sandbox [-h] [-c] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-W windowmanager ] [ -w windowsize ] [[-i file ] ...] [ -t type ] command -+sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-W windowmanager ] [ -w windowsize ] [[-i file ] ...] [ -t type ] command - --sandbox [-h] [-c] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-W windowmanager ] [ -w windowsize ] [[-i file ] ...] [ -t type ] -S -+sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-W windowmanager ] [ -w windowsize ] [[-i file ] ...] [ -t type ] -S - %s - """) % types - -@@ -338,10 +338,6 @@ sandbox [-h] [-c] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile - parser.add_option("-l", "--level", dest="level", - help=_("MCS/MLS level for the sandbox")) - -- parser.add_option("-c", "--cgroups", -- action="store_true", dest="usecgroup", default=False, -- help=_("Use cgroups to limit this sandbox.")) -- - parser.add_option("-C", "--capabilities", - action="store_true", dest="usecaps", default=False, - help="Allow apps requiring capabilities to run within the sandbox.") -@@ -426,8 +422,6 @@ sandbox [-h] [-c] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile - def __execute(self): - try: - cmds = [ SEUNSHARE, "-Z", self.__execcon ] -- if self.__options.usecgroup: -- cmds.append('-c') - if self.__options.usecaps: - cmds.append('-C') - if self.__mount: -diff --git a/policycoreutils-2.3/sandbox/seunshare.8 b/policycoreutils-2.3/sandbox/seunshare.8 -index 06610c0..76b75c8 100644 ---- a/policycoreutils-2.3/sandbox/seunshare.8 -+++ b/policycoreutils-2.3/sandbox/seunshare.8 -@@ -3,7 +3,7 @@ - seunshare \- Run cmd with alternate homedir, tmpdir and/or SELinux context - .SH SYNOPSIS - .B seunshare --[ -v ] [ -c ] [ -C ] [ -k ] [ -t tmpdir ] [ -h homedir ] [ -Z context ] -- executable [args] -+[ -v ] [ -C ] [ -k ] [ -t tmpdir ] [ -h homedir ] [ -Z context ] -- executable [args] - .br - .SH DESCRIPTION - .PP -@@ -18,9 +18,6 @@ Alternate homedir to be used by the application. Homedir must be owned by the u - \fB\-t\ tmpdir - Use alternate tempory directory to mount on /tmp. tmpdir must be owned by the user. - .TP --\fB\-c --cgroups\fR --Use cgroups to control this copy of seunshare. Specify parameters in /etc/sysconfig/sandbox. Max memory usage and cpu usage are to be specified in percent. You can specify which CPUs to use by numbering them 0,1,2... etc. --.TP - \fB\-C --capabilities\fR - Allow apps executed within the namespace to use capabilities. Default is no capabilities. - .TP -diff --git a/policycoreutils-2.3/sandbox/seunshare.c b/policycoreutils-2.3/sandbox/seunshare.c -index 97f3920..c92e394 100644 ---- a/policycoreutils-2.3/sandbox/seunshare.c -+++ b/policycoreutils-2.3/sandbox/seunshare.c -@@ -14,7 +14,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -53,7 +52,7 @@ - - #define BUF_SIZE 1024 - #define DEFAULT_PATH "/usr/bin:/bin" --#define USAGE_STRING _("USAGE: seunshare [ -v ] [ -C ] [ -c ] [ -k ] [ -t tmpdir ] [ -h homedir ] [ -Z CONTEXT ] -- executable [args] ") -+#define USAGE_STRING _("USAGE: seunshare [ -v ] [ -C ] [ -k ] [ -t tmpdir ] [ -h homedir ] [ -Z CONTEXT ] -- executable [args] ") - - static int verbose = 0; - static int child = 0; -@@ -290,213 +289,6 @@ static int seunshare_mount(const char *src, const char *dst, struct stat *src_st - - } - --/** -- * Error logging used by cgroups code. -- */ --static int sandbox_error(const char *string) --{ -- fprintf(stderr, "%s", string); -- syslog(LOG_AUTHPRIV | LOG_ALERT, "%s", string); -- exit(-1); --} -- --/** -- * Regular expression match. -- */ --static int match(const char *string, char *pattern) --{ -- int status; -- regex_t re; -- if (regcomp(&re, pattern, REG_EXTENDED|REG_NOSUB) != 0) { -- return 0; -- } -- status = regexec(&re, string, (size_t)0, NULL, 0); -- regfree(&re); -- if (status != 0) { -- return 0; -- } -- return 1; --} -- --/** -- * Apply cgroups settings from the /etc/sysconfig/sandbox config file. -- */ --static int setup_cgroups() --{ -- char *cpus = NULL; /* which CPUs to use */ -- char *cgroupname = NULL;/* name for the cgroup */ -- char *mem = NULL; /* string for memory amount to pass to cgroup */ -- int64_t memusage = 0; /* amount of memory to use max (percent) */ -- int cpupercentage = 0; /* what percentage of cpu to allow usage */ -- FILE* fp; -- char buf[BUF_SIZE]; -- char *tok = NULL; -- int rc = -1; -- char *str = NULL; -- const char* fname = "/etc/sysconfig/sandbox"; -- -- if ((fp = fopen(fname, "rt")) == NULL) { -- fprintf(stderr, "Error opening sandbox config file."); -- return rc; -- } -- while(fgets(buf, BUF_SIZE, fp) != NULL) { -- /* Skip comments */ -- if (buf[0] == '#') continue; -- -- /* Copy the string, ignoring whitespace */ -- int len = strlen(buf); -- free(str); -- str = malloc((len + 1) * sizeof(char)); -- if (!str) -- goto err; -- -- int ind = 0; -- int i; -- for (i = 0; i < len; i++) { -- char cur = buf[i]; -- if (cur != ' ' && cur != '\t') { -- str[ind] = cur; -- ind++; -- } -- } -- str[ind] = '\0'; -- -- tok = strtok(str, "=\n"); -- if (tok != NULL) { -- if (!strcmp(tok, "CPUAFFINITY")) { -- tok = strtok(NULL, "=\n"); -- cpus = strdup(tok); -- if (!strcmp(cpus, "ALL")) { -- free(cpus); -- cpus = NULL; -- } -- } else if (!strcmp(tok, "MEMUSAGE")) { -- tok = strtok(NULL, "=\n"); -- if (match(tok, "^[0-9]+[kKmMgG%]")) { -- char *ind = strchr(tok, '%'); -- if (ind != NULL) { -- *ind = '\0';; -- memusage = atoi(tok); -- } else { -- mem = strdup(tok); -- } -- } else { -- fprintf(stderr, "Error parsing config file."); -- goto err; -- } -- -- } else if (!strcmp(tok, "CPUUSAGE")) { -- tok = strtok(NULL, "=\n"); -- if (match(tok, "^[0-9]+\%")) { -- char* ind = strchr(tok, '%'); -- *ind = '\0'; -- cpupercentage = atoi(tok); -- } else { -- fprintf(stderr, "Error parsing config file."); -- goto err; -- } -- } else if (!strcmp(tok, "NAME")) { -- tok = strtok(NULL, "=\n"); -- cgroupname = strdup(tok); -- } else { -- continue; -- } -- } -- -- } -- if (mem == NULL) { -- long phypz = sysconf(_SC_PHYS_PAGES); -- long psize = sysconf(_SC_PAGE_SIZE); -- memusage = phypz * psize * (float) memusage / 100.0; -- } -- -- cgroup_init(); -- -- int64_t current_runtime = 0; -- int64_t current_period = 0 ; -- int64_t current_mem = 0; -- char *curr_cpu_path = NULL; -- char *curr_mem_path = NULL; -- int ret = cgroup_get_current_controller_path(getpid(), "cpu", &curr_cpu_path); -- if (ret) { -- sandbox_error("Error while trying to get current controller path.\n"); -- } else { -- struct cgroup *curr = cgroup_new_cgroup(curr_cpu_path); -- cgroup_get_cgroup(curr); -- cgroup_get_value_int64(cgroup_get_controller(curr, "cpu"), "cpu.rt_runtime_us", ¤t_runtime); -- cgroup_get_value_int64(cgroup_get_controller(curr, "cpu"), "cpu.rt_period_us", ¤t_period); -- } -- -- ret = cgroup_get_current_controller_path(getpid(), "memory", &curr_mem_path); -- if (ret) { -- sandbox_error("Error while trying to get current controller path.\n"); -- } else { -- struct cgroup *curr = cgroup_new_cgroup(curr_mem_path); -- cgroup_get_cgroup(curr); -- cgroup_get_value_int64(cgroup_get_controller(curr, "memory"), "memory.limit_in_bytes", ¤t_mem); -- } -- -- if (((float) cpupercentage) / 100.0> (float)current_runtime / (float) current_period) { -- sandbox_error("CPU usage restricted!\n"); -- goto err; -- } -- -- if (mem == NULL) { -- if (memusage > current_mem) { -- sandbox_error("Attempting to use more memory than allowed!"); -- goto err; -- } -- } -- -- long nprocs = sysconf(_SC_NPROCESSORS_ONLN); -- -- struct sched_param sp; -- sp.sched_priority = sched_get_priority_min(SCHED_FIFO); -- sched_setscheduler(getpid(), SCHED_FIFO, &sp); -- struct cgroup *sandbox_group = cgroup_new_cgroup(cgroupname); -- cgroup_add_controller(sandbox_group, "memory"); -- cgroup_add_controller(sandbox_group, "cpu"); -- -- if (mem == NULL) { -- if (memusage > 0) { -- cgroup_set_value_uint64(cgroup_get_controller(sandbox_group, "memory"), "memory.limit_in_bytes", memusage); -- } -- } else { -- cgroup_set_value_string(cgroup_get_controller(sandbox_group, "memory"), "memory.limit_in_bytes", mem); -- } -- if (cpupercentage > 0) { -- cgroup_set_value_uint64(cgroup_get_controller(sandbox_group, "cpu"), "cpu.rt_runtime_us", -- (float) cpupercentage / 100.0 * 60000); -- cgroup_set_value_uint64(cgroup_get_controller(sandbox_group, "cpu"), "cpu.rt_period_us",60000 * nprocs); -- } -- if (cpus != NULL) { -- cgroup_set_value_string(cgroup_get_controller(sandbox_group, "cpu"), "cgroup.procs",cpus); -- } -- -- uint64_t allocated_mem; -- if (cgroup_get_value_uint64(cgroup_get_controller(sandbox_group, "memory"), "memory.limit_in_bytes", &allocated_mem) > current_mem) { -- sandbox_error("Attempting to use more memory than allowed!\n"); -- goto err; -- } -- -- rc = cgroup_create_cgroup(sandbox_group, 1); -- if (rc != 0) { -- sandbox_error("Failed to create group. Ensure that cgconfig service is running. \n"); -- goto err; -- } -- -- cgroup_attach_task(sandbox_group); -- -- rc = 0; --err: -- fclose(fp); -- free(str); -- free(mem); -- free(cgroupname); -- free(cpus); -- return rc; --} -- - /* - If path is empy or ends with "/." or "/.. return -1 else return 0; - */ -@@ -826,7 +618,6 @@ int main(int argc, char **argv) { - security_context_t execcon = NULL; - - int clflag; /* holds codes for command line flags */ -- int usecgroups = 0; - int kill_all = 0; - - char *homedir_s = NULL; /* homedir spec'd by user in argv[] */ -@@ -843,7 +634,6 @@ int main(int argc, char **argv) { - {"tmpdir", 1, 0, 't'}, - {"kill", 1, 0, 'k'}, - {"verbose", 1, 0, 'v'}, -- {"cgroups", 1, 0, 'c'}, - {"context", 1, 0, 'Z'}, - {"capabilities", 1, 0, 'C'}, - {NULL, 0, 0, 0} -@@ -892,9 +682,6 @@ int main(int argc, char **argv) { - case 'v': - verbose++; - break; -- case 'c': -- usecgroups = 1; -- break; - case 'C': - cap_set = CAPNG_SELECT_CAPS; - break; -@@ -925,9 +712,6 @@ int main(int argc, char **argv) { - if (set_signal_handles()) - return -1; - -- if (usecgroups && setup_cgroups() < 0) -- return -1; -- - /* set fsuid to ruid */ - /* Changing fsuid is usually required when user-specified directory is - * on an NFS mount. It's also desired to avoid leaking info about -@@ -964,6 +748,7 @@ int main(int argc, char **argv) { - if (child == 0) { - char *display = NULL; - char *LANG = NULL; -+ char *RUNTIME_DIR = NULL; - int rc = -1; - char *resolved_path = NULL; - -@@ -1014,6 +799,13 @@ int main(int argc, char **argv) { - } - } - -+ if ((RUNTIME_DIR = getenv("XDG_RUNTIME_DIR")) != NULL) { -+ if ((RUNTIME_DIR = strdup(RUNTIME_DIR)) == NULL) { -+ perror(_("Out of memory")); -+ goto childerr; -+ } -+ } -+ - if ((rc = clearenv()) != 0) { - perror(_("Failed to clear environment")); - goto childerr; -@@ -1022,6 +814,8 @@ int main(int argc, char **argv) { - rc |= setenv("DISPLAY", display, 1); - if (LANG) - rc |= setenv("LANG", LANG, 1); -+ if (RUNTIME_DIR) -+ rc |= setenv("XDG_RUNTIME_DIR", RUNTIME_DIR, 1); - rc |= setenv("HOME", pwd->pw_dir, 1); - rc |= setenv("SHELL", pwd->pw_shell, 1); - rc |= setenv("USER", pwd->pw_name, 1); -@@ -1032,23 +826,32 @@ int main(int argc, char **argv) { - goto childerr; - } - -- /* selinux context */ -- if (execcon && setexeccon(execcon) != 0) { -- fprintf(stderr, _("Could not set exec context to %s. %s\n"), execcon, strerror(errno)); -- goto childerr; -- } -- - if (chdir(pwd->pw_dir)) { - perror(_("Failed to change dir to homedir")); - goto childerr; - } - setsid(); -+ -+ /* selinux context */ -+ if (execcon) { -+ /* try dyntransition, since no_new_privs can interfere -+ * with setexeccon */ -+ if (setcon(execcon) != 0) { -+ /* failed; fall back to setexeccon */ -+ if (setexeccon(execcon) != 0) { -+ fprintf(stderr, _("Could not set exec context to %s. %s\n"), execcon, strerror(errno)); -+ goto childerr; -+ } -+ } -+ } -+ - execv(argv[optind], argv + optind); - fprintf(stderr, _("Failed to execute command %s: %s\n"), argv[optind], strerror(errno)); - childerr: - free(resolved_path); - free(display); - free(LANG); -+ free(RUNTIME_DIR); - exit(-1); - } - -diff --git a/policycoreutils-2.3/scripts/fixfiles b/policycoreutils-2.3/scripts/fixfiles +diff --git a/policycoreutils-2.4/scripts/fixfiles b/policycoreutils-2.4/scripts/fixfiles index 5c29eb9..db53c0b 100755 ---- a/policycoreutils-2.3/scripts/fixfiles -+++ b/policycoreutils-2.3/scripts/fixfiles +--- a/policycoreutils-2.4/scripts/fixfiles ++++ b/policycoreutils-2.4/scripts/fixfiles @@ -116,6 +116,7 @@ exclude_dirs() { fullFlag=0 BOOTTIME="" @@ -654852,21 +654457,11 @@ index 5c29eb9..db53c0b 100755 UNDEFINED=`get_undefined_type` || exit $? UNLABELED=`get_unlabeled_type` || exit $? -diff --git a/policycoreutils-2.3/semanage/Makefile b/policycoreutils-2.3/semanage/Makefile -index 8fc8e0b..9bb4f24 100644 ---- a/policycoreutils-2.3/semanage/Makefile -+++ b/policycoreutils-2.3/semanage/Makefile -@@ -3,8 +3,7 @@ PREFIX ?= $(DESTDIR)/usr - LIBDIR ?= $(PREFIX)/lib - SBINDIR ?= $(PREFIX)/sbin - MANDIR = $(PREFIX)/share/man --PYLIBVER ?= $(shell python -c 'import sys;print "python%d.%d" % sys.version_info[0:2]') --PYTHONLIBDIR ?= $(LIBDIR)/$(PYLIBVER) -+PYTHON ?= /usr/bin/python - BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions - - TARGETS=semanage -@@ -18,8 +17,7 @@ install: all +diff --git a/policycoreutils-2.4/semanage/Makefile b/policycoreutils-2.4/semanage/Makefile +index 60c36a3..84b01a1 100644 +--- a/policycoreutils-2.4/semanage/Makefile ++++ b/policycoreutils-2.4/semanage/Makefile +@@ -20,8 +20,7 @@ install: all -mkdir -p $(SBINDIR) install -m 755 semanage $(SBINDIR) install -m 644 *.8 $(MANDIR)/man8 @@ -654876,11 +654471,11 @@ index 8fc8e0b..9bb4f24 100644 -mkdir -p $(BASHCOMPLETIONDIR) install -m 644 $(BASHCOMPLETIONS) $(BASHCOMPLETIONDIR)/semanage -diff --git a/policycoreutils-2.3/semanage/default_encoding/Makefile b/policycoreutils-2.3/semanage/default_encoding/Makefile +diff --git a/policycoreutils-2.4/semanage/default_encoding/Makefile b/policycoreutils-2.4/semanage/default_encoding/Makefile new file mode 100644 index 0000000..e15a877 --- /dev/null -+++ b/policycoreutils-2.3/semanage/default_encoding/Makefile ++++ b/policycoreutils-2.4/semanage/default_encoding/Makefile @@ -0,0 +1,8 @@ +all: + LDFLAGS="" python setup.py build @@ -654890,11 +654485,11 @@ index 0000000..e15a877 + +clean: + rm -rf build *~ -diff --git a/policycoreutils-2.3/semanage/default_encoding/default_encoding.c b/policycoreutils-2.3/semanage/default_encoding/default_encoding.c +diff --git a/policycoreutils-2.4/semanage/default_encoding/default_encoding.c b/policycoreutils-2.4/semanage/default_encoding/default_encoding.c new file mode 100644 index 0000000..023b8f4 --- /dev/null -+++ b/policycoreutils-2.3/semanage/default_encoding/default_encoding.c ++++ b/policycoreutils-2.4/semanage/default_encoding/default_encoding.c @@ -0,0 +1,57 @@ +/* + * Authors: @@ -654953,11 +654548,11 @@ index 0000000..023b8f4 + PyUnicode_SetDefaultEncoding("utf-8"); + Py_InitModule3("default_encoding_utf8", methods, "Forces the default encoding to utf-8"); +} -diff --git a/policycoreutils-2.3/semanage/default_encoding/policycoreutils/__init__.py b/policycoreutils-2.3/semanage/default_encoding/policycoreutils/__init__.py +diff --git a/policycoreutils-2.4/semanage/default_encoding/policycoreutils/__init__.py b/policycoreutils-2.4/semanage/default_encoding/policycoreutils/__init__.py new file mode 100644 index 0000000..ccb6b8b --- /dev/null -+++ b/policycoreutils-2.3/semanage/default_encoding/policycoreutils/__init__.py ++++ b/policycoreutils-2.4/semanage/default_encoding/policycoreutils/__init__.py @@ -0,0 +1,17 @@ +# +# Copyright (C) 2006,2007,2008, 2009 Red Hat, Inc. @@ -654976,11 +654571,11 @@ index 0000000..ccb6b8b +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# -diff --git a/policycoreutils-2.3/semanage/default_encoding/setup.py b/policycoreutils-2.3/semanage/default_encoding/setup.py +diff --git a/policycoreutils-2.4/semanage/default_encoding/setup.py b/policycoreutils-2.4/semanage/default_encoding/setup.py new file mode 100644 index 0000000..e2befdb --- /dev/null -+++ b/policycoreutils-2.3/semanage/default_encoding/setup.py ++++ b/policycoreutils-2.4/semanage/default_encoding/setup.py @@ -0,0 +1,38 @@ +# Authors: +# John Dennis @@ -655020,10 +654615,10 @@ index 0000000..e2befdb + ext_modules = [default_encoding_utf8], + packages=["policycoreutils"], +) -diff --git a/policycoreutils-2.3/semanage/semanage b/policycoreutils-2.3/semanage/semanage -index 36b41cd..209c308 100644 ---- a/policycoreutils-2.3/semanage/semanage -+++ b/policycoreutils-2.3/semanage/semanage +diff --git a/policycoreutils-2.4/semanage/semanage b/policycoreutils-2.4/semanage/semanage +index dd63010..9a33702 100644 +--- a/policycoreutils-2.4/semanage/semanage ++++ b/policycoreutils-2.4/semanage/semanage @@ -18,24 +18,34 @@ # # You should have received a copy of the GNU General Public License @@ -655143,7 +654738,7 @@ index 36b41cd..209c308 100644 def parser_add_store(parser, name): parser.add_argument('-S', '--store', action=SetStore, help=_("Select an alternate SELinux Policy Store to manage")) -@@ -289,7 +299,7 @@ def handleFcontext(args): +@@ -292,7 +302,7 @@ def handleFcontext(args): fcontext_equal_args = {'equal':[('list','locallist','type','ftype','seuser','deleteall','extract'),()]} if args.action is None: @@ -655152,7 +654747,7 @@ index 36b41cd..209c308 100644 sys.exit(2) elif args.action and args.equal: handle_opts(args, fcontext_equal_args, "equal") -@@ -320,7 +330,7 @@ def handleFcontext(args): +@@ -323,7 +333,7 @@ def handleFcontext(args): OBJECT.deleteall() if args.action is "extract": for i in OBJECT.customized(): @@ -655161,7 +654756,7 @@ index 36b41cd..209c308 100644 def setupFcontextParser(subparsers): ftype_help = ''' -@@ -378,7 +388,7 @@ def handleUser(args): +@@ -381,7 +391,7 @@ def handleUser(args): OBJECT.deleteall() if args.action is "extract": for i in OBJECT.customized(): @@ -655170,7 +654765,7 @@ index 36b41cd..209c308 100644 def setupUserParser(subparsers): generated_usage = generate_custom_usage(usage_user, usage_user_dict) -@@ -427,7 +437,7 @@ def handlePort(args): +@@ -430,7 +440,7 @@ def handlePort(args): OBJECT.deleteall() if args.action is "extract": for i in OBJECT.customized(): @@ -655179,7 +654774,7 @@ index 36b41cd..209c308 100644 def setupPortParser(subparsers): generated_usage = generate_custom_usage(usage_port, usage_port_dict) -@@ -470,7 +480,7 @@ def handleInterface(args): +@@ -473,7 +483,7 @@ def handleInterface(args): OBJECT.deleteall() if args.action is "extract": for i in OBJECT.customized(): @@ -655188,7 +654783,7 @@ index 36b41cd..209c308 100644 def setupInterfaceParser(subparsers): generated_usage = generate_custom_usage(usage_interface, usage_interface_dict) -@@ -509,7 +519,7 @@ def handleModule(args): +@@ -512,7 +522,7 @@ def handleModule(args): OBJECT.list(args.noheading, args.locallist) if args.action is "extract": for i in OBJECT.customized(): @@ -655197,7 +654792,7 @@ index 36b41cd..209c308 100644 def setupModuleParser(subparsers): moduleParser = subparsers.add_parser('module', help=_('Manage SELinux policy modules')) -@@ -548,7 +558,7 @@ def handleNode(args): +@@ -552,7 +562,7 @@ def handleNode(args): OBJECT.deleteall() if args.action is "extract": for i in OBJECT.customized(): @@ -655206,7 +654801,7 @@ index 36b41cd..209c308 100644 def setupNodeParser(subparsers): generated_usage = generate_custom_usage(usage_node, usage_node_dict) -@@ -576,14 +586,14 @@ def setupNodeParser(subparsers): +@@ -580,14 +590,14 @@ def setupNodeParser(subparsers): def handleBoolean(args): boolean_args = {'list':[('state','boolean'),('')],'modify':[('localist'),('')], 'extract':[('locallist','state','boolean'),('')],'deleteall':[('locallist'),('')],'state':[('locallist','list','extract','deleteall'),('modify')]} if args.action is None: @@ -655224,7 +654819,7 @@ index 36b41cd..209c308 100644 sys.exit(1) else: handle_opts(args,boolean_args,args.action) -@@ -600,7 +610,7 @@ def handleBoolean(args): +@@ -604,7 +614,7 @@ def handleBoolean(args): OBJECT.deleteall() if args.action is "extract": for i in OBJECT.customized(): @@ -655233,7 +654828,7 @@ index 36b41cd..209c308 100644 def setupBooleanParser(subparsers): generated_usage = generate_custom_usage(usage_boolean, usage_boolean_dict) -@@ -666,11 +676,11 @@ def setupDontauditParser(subparsers): +@@ -670,11 +680,11 @@ def setupDontauditParser(subparsers): def handleExport(args): manageditems=[ "boolean", "login", "interface", "user", "port", "node", "fcontext", "module"] for i in manageditems: @@ -655247,7 +654842,7 @@ index 36b41cd..209c308 100644 sys.exit(0) -@@ -739,10 +749,10 @@ def handleImport(args): +@@ -743,10 +753,10 @@ def handleImport(args): commandParser = createCommandParser() args = commandParser.parse_args(mkargv(l)) args.func(args) @@ -655260,7 +654855,7 @@ index 36b41cd..209c308 100644 sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e))) sys.exit(1) except KeyboardInterrupt: -@@ -760,11 +770,11 @@ def setupImportParser(subparsers): +@@ -764,11 +774,11 @@ def setupImportParser(subparsers): def createCommandParser(): commandParser = seParser(prog='semanage', @@ -655277,7 +654872,7 @@ index 36b41cd..209c308 100644 #To add a new subcommand define the parser for it in a function above and call it here. subparsers = commandParser.add_subparsers(dest='subcommand') setupImportParser(subparsers) -@@ -804,6 +814,8 @@ def make_io_args(args): +@@ -808,6 +818,8 @@ def make_io_args(args): return args_subcommand+args_ie+args_file def make_args(sys_args): @@ -655286,7 +654881,7 @@ index 36b41cd..209c308 100644 args = [] if "-o" in sys_args[1:] or "-i" in sys_args[1:]: args=make_io_args(sys_args[1:]) -@@ -818,21 +830,21 @@ def do_parser(): +@@ -822,21 +834,21 @@ def do_parser(): args = commandParser.parse_args(make_args(sys.argv)) args.func(args) sys.exit(0) @@ -655313,10 +654908,10 @@ index 36b41cd..209c308 100644 sys.stderr.write("%s: %s\n" % (e.__class__.__name__, e.args[0])) sys.exit(1) -diff --git a/policycoreutils-2.3/semanage/semanage.8 b/policycoreutils-2.3/semanage/semanage.8 +diff --git a/policycoreutils-2.4/semanage/semanage.8 b/policycoreutils-2.4/semanage/semanage.8 index 0fad36c..75b782f 100644 ---- a/policycoreutils-2.3/semanage/semanage.8 -+++ b/policycoreutils-2.3/semanage/semanage.8 +--- a/policycoreutils-2.4/semanage/semanage.8 ++++ b/policycoreutils-2.4/semanage/semanage.8 @@ -8,7 +8,7 @@ semanage \- SELinux Policy Management tool .B positional arguments: @@ -655336,11 +654931,11 @@ index 0fad36c..75b782f 100644 mapping from Linux usernames (logins) to SELinux user identities, while the semanage user command deals with the mapping from SELinux user identities to authorized role sets. In most cases, only the -diff --git a/policycoreutils-2.3/semanage/seobject/__init__.py b/policycoreutils-2.3/semanage/seobject/__init__.py +diff --git a/policycoreutils-2.4/semanage/seobject/__init__.py b/policycoreutils-2.4/semanage/seobject/__init__.py new file mode 100644 index 0000000..05d931c --- /dev/null -+++ b/policycoreutils-2.3/semanage/seobject/__init__.py ++++ b/policycoreutils-2.4/semanage/seobject/__init__.py @@ -0,0 +1,2250 @@ +#! /usr/bin/python -Es +# Copyright (C) 2005-2013 Red Hat @@ -657592,11 +657187,11 @@ index 0000000..05d931c + for k in keys: + if ddict[k]: + print("%-30s (%-5s,%5s) %s" % (k, on_off[selinux.security_get_boolean_active(k)], on_off[ddict[k][2]], self.get_desc(k))) -diff --git a/policycoreutils-2.3/semanage/setup.py b/policycoreutils-2.3/semanage/setup.py +diff --git a/policycoreutils-2.4/semanage/setup.py b/policycoreutils-2.4/semanage/setup.py new file mode 100644 index 0000000..7735c59 --- /dev/null -+++ b/policycoreutils-2.3/semanage/setup.py ++++ b/policycoreutils-2.4/semanage/setup.py @@ -0,0 +1,35 @@ +# Authors: +# Dan Walsh @@ -657633,10 +657228,10 @@ index 0000000..7735c59 + download_url = '', + packages=["seobject"], +) -diff --git a/policycoreutils-2.3/semanage/test-semanage.py b/policycoreutils-2.3/semanage/test-semanage.py +diff --git a/policycoreutils-2.4/semanage/test-semanage.py b/policycoreutils-2.4/semanage/test-semanage.py index d39013e..e847ca7 100644 ---- a/policycoreutils-2.3/semanage/test-semanage.py -+++ b/policycoreutils-2.3/semanage/test-semanage.py +--- a/policycoreutils-2.4/semanage/test-semanage.py ++++ b/policycoreutils-2.4/semanage/test-semanage.py @@ -9,18 +9,18 @@ object_list = [ 'login', 'user', 'port', 'module', 'interface', 'node', 'fcontex class SemanageTests(unittest.TestCase): def assertDenied(self, err): @@ -657660,23 +657255,10 @@ index d39013e..e847ca7 100644 def test_extract(self): for object in object_list: -diff --git a/policycoreutils-2.3/sepolicy/Makefile b/policycoreutils-2.3/sepolicy/Makefile -index 90f88a5..d08f34c 100644 ---- a/policycoreutils-2.3/sepolicy/Makefile -+++ b/policycoreutils-2.3/sepolicy/Makefile -@@ -27,7 +27,7 @@ sepolgen: - ln -sf sepolicy sepolgen - - test: -- @python test_sepolicy.py -v -+ @$(PYTHON) test_sepolicy.py -v - - install: - $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` -diff --git a/policycoreutils-2.3/sepolicy/common.h b/policycoreutils-2.3/sepolicy/common.h +diff --git a/policycoreutils-2.4/sepolicy/common.h b/policycoreutils-2.4/sepolicy/common.h index dc3ce6a..3b93845 100644 ---- a/policycoreutils-2.3/sepolicy/common.h -+++ b/policycoreutils-2.3/sepolicy/common.h +--- a/policycoreutils-2.4/sepolicy/common.h ++++ b/policycoreutils-2.4/sepolicy/common.h @@ -9,12 +9,18 @@ # define UNUSED(x) x #endif @@ -657711,10 +657293,10 @@ index dc3ce6a..3b93845 100644 } - - -diff --git a/policycoreutils-2.3/sepolicy/info.c b/policycoreutils-2.3/sepolicy/info.c +diff --git a/policycoreutils-2.4/sepolicy/info.c b/policycoreutils-2.4/sepolicy/info.c index 17f5732..52fd680 100644 ---- a/policycoreutils-2.3/sepolicy/info.c -+++ b/policycoreutils-2.3/sepolicy/info.c +--- a/policycoreutils-2.4/sepolicy/info.c ++++ b/policycoreutils-2.4/sepolicy/info.c @@ -1,12 +1,14 @@ /** * @file @@ -657936,10 +657518,10 @@ index 17f5732..52fd680 100644 return info(type, name); } -diff --git a/policycoreutils-2.3/sepolicy/org.selinux.conf b/policycoreutils-2.3/sepolicy/org.selinux.conf +diff --git a/policycoreutils-2.4/sepolicy/org.selinux.conf b/policycoreutils-2.4/sepolicy/org.selinux.conf index a350978..1ae079d 100644 ---- a/policycoreutils-2.3/sepolicy/org.selinux.conf -+++ b/policycoreutils-2.3/sepolicy/org.selinux.conf +--- a/policycoreutils-2.4/sepolicy/org.selinux.conf ++++ b/policycoreutils-2.4/sepolicy/org.selinux.conf @@ -12,12 +12,8 @@ @@ -662938,10 +662520,10 @@ index 1275c7f..b848baa 100644 fill True -diff --git a/policycoreutils-2.3/sepolicy/sepolicy/templates/executable.py b/policycoreutils-2.3/sepolicy/sepolicy/templates/executable.py +diff --git a/policycoreutils-2.4/sepolicy/sepolicy/templates/executable.py b/policycoreutils-2.4/sepolicy/sepolicy/templates/executable.py index 4b9534d..f267993 100644 ---- a/policycoreutils-2.3/sepolicy/sepolicy/templates/executable.py -+++ b/policycoreutils-2.3/sepolicy/sepolicy/templates/executable.py +--- a/policycoreutils-2.4/sepolicy/sepolicy/templates/executable.py ++++ b/policycoreutils-2.4/sepolicy/sepolicy/templates/executable.py @@ -86,6 +86,7 @@ roleattribute system_r TEMPLATETYPE_roles; type TEMPLATETYPE_t; type TEMPLATETYPE_exec_t; @@ -662999,10 +662581,10 @@ index 4b9534d..f267993 100644 """ if_initscript_admin_types=""" -diff --git a/policycoreutils-2.3/sepolicy/sepolicy/templates/spec.py b/policycoreutils-2.3/sepolicy/sepolicy/templates/spec.py +diff --git a/policycoreutils-2.4/sepolicy/sepolicy/templates/spec.py b/policycoreutils-2.4/sepolicy/sepolicy/templates/spec.py index 16a2208..d8ee42f 100644 ---- a/policycoreutils-2.3/sepolicy/sepolicy/templates/spec.py -+++ b/policycoreutils-2.3/sepolicy/sepolicy/templates/spec.py +--- a/policycoreutils-2.4/sepolicy/sepolicy/templates/spec.py ++++ b/policycoreutils-2.4/sepolicy/sepolicy/templates/spec.py @@ -39,7 +39,7 @@ install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/selinux/devel/include/contrib/ install -d %{buildroot}%{_mandir}/man8/ install -m 644 %{SOURCE2} %{buildroot}%{_mandir}/man8/DOMAINNAME_selinux.8 @@ -663021,10 +662603,10 @@ index 16a2208..d8ee42f 100644 %changelog * TODAYSDATE YOUR NAME 1.0-1 -diff --git a/policycoreutils-2.3/sepolicy/sepolicy/templates/test_module.py b/policycoreutils-2.3/sepolicy/sepolicy/templates/test_module.py +diff --git a/policycoreutils-2.4/sepolicy/sepolicy/templates/test_module.py b/policycoreutils-2.4/sepolicy/sepolicy/templates/test_module.py index 893a204..3a3faa6 100644 ---- a/policycoreutils-2.3/sepolicy/sepolicy/templates/test_module.py -+++ b/policycoreutils-2.3/sepolicy/sepolicy/templates/test_module.py +--- a/policycoreutils-2.4/sepolicy/sepolicy/templates/test_module.py ++++ b/policycoreutils-2.4/sepolicy/sepolicy/templates/test_module.py @@ -111,7 +111,7 @@ role sepolicy_r; role sepolicy_source_r; role sepolicy_target_r; @@ -663034,20 +662616,20 @@ index 893a204..3a3faa6 100644 # # Local policy # -diff --git a/policycoreutils-2.3/sepolicy/sepolicy/transition.py b/policycoreutils-2.3/sepolicy/sepolicy/transition.py +diff --git a/policycoreutils-2.4/sepolicy/sepolicy/transition.py b/policycoreutils-2.4/sepolicy/sepolicy/transition.py index 11834c7..96bf96c 100755 ---- a/policycoreutils-2.3/sepolicy/sepolicy/transition.py -+++ b/policycoreutils-2.3/sepolicy/sepolicy/transition.py +--- a/policycoreutils-2.4/sepolicy/sepolicy/transition.py ++++ b/policycoreutils-2.4/sepolicy/sepolicy/transition.py @@ -78,4 +78,4 @@ class setrans: def output(self): self.seen = [] - print self.out(self.source) + print(self.out(self.source)) -diff --git a/policycoreutils-2.3/sepolicy/setup.py b/policycoreutils-2.3/sepolicy/setup.py +diff --git a/policycoreutils-2.4/sepolicy/setup.py b/policycoreutils-2.4/sepolicy/setup.py index d8e2d64..cac667c 100644 ---- a/policycoreutils-2.3/sepolicy/setup.py -+++ b/policycoreutils-2.3/sepolicy/setup.py +--- a/policycoreutils-2.4/sepolicy/setup.py ++++ b/policycoreutils-2.4/sepolicy/setup.py @@ -4,7 +4,7 @@ # Author: Dan Walsh import os @@ -663057,10 +662639,10 @@ index d8e2d64..cac667c 100644 libraries=["apol", "qpol"], sources=[ "policy.c", "info.c", "search.c"] ) -diff --git a/policycoreutils-2.3/sepolicy/test_sepolicy.py b/policycoreutils-2.3/sepolicy/test_sepolicy.py +diff --git a/policycoreutils-2.4/sepolicy/test_sepolicy.py b/policycoreutils-2.4/sepolicy/test_sepolicy.py index aef799f..5ded03d 100644 ---- a/policycoreutils-2.3/sepolicy/test_sepolicy.py -+++ b/policycoreutils-2.3/sepolicy/test_sepolicy.py +--- a/policycoreutils-2.4/sepolicy/test_sepolicy.py ++++ b/policycoreutils-2.4/sepolicy/test_sepolicy.py @@ -1,28 +1,28 @@ -import unittest, os, shutil +import unittest, os, shutil @@ -663106,10 +662688,10 @@ index aef799f..5ded03d 100644 else: - print "SELinux must be in enforcing mode for this test" + print("SELinux must be in enforcing mode for this test") -diff --git a/policycoreutils-2.3/setfiles/restore.c b/policycoreutils-2.3/setfiles/restore.c +diff --git a/policycoreutils-2.4/setfiles/restore.c b/policycoreutils-2.4/setfiles/restore.c index 2a7cfa3..95fba09 100644 ---- a/policycoreutils-2.3/setfiles/restore.c -+++ b/policycoreutils-2.3/setfiles/restore.c +--- a/policycoreutils-2.4/setfiles/restore.c ++++ b/policycoreutils-2.4/setfiles/restore.c @@ -160,6 +160,9 @@ static int restore(FTSENT *ftsent, int recurse) /* Get the current context of the file. */ ret = lgetfilecon_raw(ftsent->fts_accpath, &curcon); @@ -663148,13 +662730,13 @@ index 2a7cfa3..95fba09 100644 if (S_ISLNK(sb.st_mode)) { char path[PATH_MAX + 1]; -diff --git a/policycoreutils-2.3/setfiles/setfiles.c b/policycoreutils-2.3/setfiles/setfiles.c -index ac1c39a..184ef52 100644 ---- a/policycoreutils-2.3/setfiles/setfiles.c -+++ b/policycoreutils-2.3/setfiles/setfiles.c +diff --git a/policycoreutils-2.4/setfiles/setfiles.c b/policycoreutils-2.4/setfiles/setfiles.c +index 86d3f28..a9c182c 100644 +--- a/policycoreutils-2.4/setfiles/setfiles.c ++++ b/policycoreutils-2.4/setfiles/setfiles.c @@ -153,6 +153,9 @@ int main(int argc, char **argv) int recurse; /* Recursive descent. */ - char *base; + const char *base; int mass_relabel = 0, errors = 0; + const char *ropts = "e:f:hilno:pqrsvFRW0"; + const char *sopts = "c:de:f:hilno:pqr:svFR:W0"; diff --git a/policycoreutils.spec b/policycoreutils.spec index d78b5a4..d8db18d 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -1,18 +1,18 @@ %global libauditver 2.1.3-4 -%global libsepolver 2.1.9-1 -%global libsemanagever 2.1.10-1 -%global libselinuxver 2.2.1-1 -%global sepolgenver 1.2.1 +%global libsepolver 2.4-0 +%global libsemanagever 2.4-0 +%global libselinuxver 2.4-0 +%global sepolgenver 1.2.2 Summary: SELinux policy core utilities Name: policycoreutils -Version: 2.3 -Release: 16%{?dist} +Version: 2.4 +Release: 0%{?dist}.4 License: GPLv2 Group: System Environment/Base # https://github.com/SELinuxProject/selinux/wiki/Releases -Source: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20140506/policycoreutils-%{version}.tar.gz -Source1:https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20140506/sepolgen-%{sepolgenver}.tar.gz +Source: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20150202/policycoreutils-2.4.tar.gz +Source1:https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20150202/sepolgen-1.2.2.tar.gz URL: http://www.selinuxproject.org Source2: policycoreutils_man_ru2.tar.bz2 Source3: system-config-selinux.png @@ -63,7 +63,6 @@ make -C policycoreutils-%{version} LSPP_PRIV=y SBINDIR="%{_sbindir}" LIBDIR="%{_ make -C sepolgen-%{sepolgenver} SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" CFLAGS="%{optflags} -fPIE" LDFLAGS="-pie -Wl,-z,relro" all %install -mkdir -p %{buildroot}/var/lib/selinux mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_mandir}/man1 @@ -187,7 +186,6 @@ an SELinux environment. %{python_sitearch}/%{name}*.egg-info %{python_sitearch}/sepolicy*.egg-info %{python_sitearch}/%{name} -%dir /var/lib/selinux %{_mandir}/man8/chcat.8* %{_mandir}/ru/man8/chcat.8* %{_mandir}/man8/sandbox.8* @@ -306,7 +304,6 @@ system-config-selinux is a utility for managing the SELinux environment %{_mandir}/man8/system-config-selinux.8* %{_mandir}/man8/selinux-polgengui.8* %{_mandir}/man8/sepolicy-gui.8* -%{_datadir}/system-config-selinux/selinux_server.py %{_datadir}/dbus-1/system-services/org.selinux.service %{_datadir}/polkit-1/actions/org.selinux.policy %{_datadir}/polkit-1/actions/org.selinux.config.policy @@ -333,6 +330,7 @@ fi %{_sbindir}/semodule %{_sbindir}/sestatus %{_bindir}/secon +%{_libexecdir}/selinux/hll %config(noreplace) %{_sysconfdir}/sestatus.conf # selinux-policy Requires: policycoreutils, so we own this set of directories and our files within them %{_mandir}/man5/selinux_config.5.gz @@ -388,6 +386,9 @@ The policycoreutils-restorecond package contains the restorecond service. %systemd_postun_with_restart restorecond.service %changelog +* Mon Apr 13 2015 Petr Lautrbach 2.4-0.4 +- Update to upstream 2.4 + * Tue Feb 24 2015 Petr Lautrbach 2.3-16 - Temporary removed Requires:audit-libs-python from policycoreutils-python3 subpackage (#1195139) - Simplication of sepolicy-manpage web functionality (#1193552) diff --git a/sepolgen-rhat.patch b/sepolgen-rhat.patch index 60c15d7..46012ee 100644 --- a/sepolgen-rhat.patch +++ b/sepolgen-rhat.patch @@ -1,7 +1,7 @@ -diff --git a/sepolgen-1.2.1/src/sepolgen/access.py b/sepolgen-1.2.1/src/sepolgen/access.py +diff --git a/sepolgen-1.2.2/src/sepolgen/access.py b/sepolgen-1.2.2/src/sepolgen/access.py index cf13210..9154887 100644 ---- a/sepolgen-1.2.1/src/sepolgen/access.py -+++ b/sepolgen-1.2.1/src/sepolgen/access.py +--- a/sepolgen-1.2.2/src/sepolgen/access.py ++++ b/sepolgen-1.2.2/src/sepolgen/access.py @@ -88,6 +88,8 @@ class AccessVector: self.audit_msgs = [] self.type = audit2why.TERULE @@ -43,10 +43,10 @@ index cf13210..9154887 100644 access.type = avc_type cls[obj_class, avc_type] = access -diff --git a/sepolgen-1.2.1/src/sepolgen/audit.py b/sepolgen-1.2.1/src/sepolgen/audit.py +diff --git a/sepolgen-1.2.2/src/sepolgen/audit.py b/sepolgen-1.2.2/src/sepolgen/audit.py index 56919be..57263d0 100644 ---- a/sepolgen-1.2.1/src/sepolgen/audit.py -+++ b/sepolgen-1.2.1/src/sepolgen/audit.py +--- a/sepolgen-1.2.2/src/sepolgen/audit.py ++++ b/sepolgen-1.2.2/src/sepolgen/audit.py @@ -169,6 +169,7 @@ class AVCMessage(AuditMessage): self.exe = "" self.path = "" @@ -164,10 +164,10 @@ index 56919be..57263d0 100644 return av_set class AVCTypeFilter: -diff --git a/sepolgen-1.2.1/src/sepolgen/policygen.py b/sepolgen-1.2.1/src/sepolgen/policygen.py +diff --git a/sepolgen-1.2.2/src/sepolgen/policygen.py b/sepolgen-1.2.2/src/sepolgen/policygen.py index 5f38577..3b9e9f4 100644 ---- a/sepolgen-1.2.1/src/sepolgen/policygen.py -+++ b/sepolgen-1.2.1/src/sepolgen/policygen.py +--- a/sepolgen-1.2.2/src/sepolgen/policygen.py ++++ b/sepolgen-1.2.2/src/sepolgen/policygen.py @@ -81,8 +81,9 @@ class PolicyGenerator: self.module = refpolicy.Module() From dec177337d8d945e85d183f6e8bfc38998a3a53b Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Mon, 25 May 2015 16:37:16 +0200 Subject: [PATCH 2/7] - semanage_migrate_store: add -r option for migrating inside chroots - fixes needed for secadm_r and auditadm_r in MLS policy --- policycoreutils-rhat.patch | 107 +++++++++++++++++++++++++++++++++++-- 1 file changed, 102 insertions(+), 5 deletions(-) diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch index a202ae8..055871f 100644 --- a/policycoreutils-rhat.patch +++ b/policycoreutils-rhat.patch @@ -1778,6 +1778,76 @@ index 93804ac..1451903 100644 - except ValueError, e: + except ValueError as e: self.error(e.args[0]) +diff --git a/policycoreutils-2.4/hll/pp/pp.c b/policycoreutils-2.4/hll/pp/pp.c +index b863346..d994891 100644 +--- a/policycoreutils-2.4/hll/pp/pp.c ++++ b/policycoreutils-2.4/hll/pp/pp.c +@@ -1995,12 +1995,23 @@ static int role_to_cil(int indent, struct policydb *pdb, struct avrule_block *UN + // one of these roles in base, the declaration will not appeaer in + // the resulting policy, likely resulting in a compilation error in + // CIL. ++ // ++ // To make things more complicated, the auditadm_r and secadm_r ++ // roles could actually be in either the base module or a non-base ++ // module, or both. So we can't rely on this same behavior. So for ++ // these roles, don't declare them here, even if they are in a base ++ // or non-base module. Instead we will just declare them in the ++ // base module elsewhere. + int is_base_role = (!strcmp(key, "user_r") || + !strcmp(key, "staff_r") || + !strcmp(key, "sysadm_r") || + !strcmp(key, "system_r") || + !strcmp(key, "unconfined_r")); +- if ((is_base_role && pdb->policy_type == SEPOL_POLICY_BASE) || !is_base_role) { ++ int is_builtin_role = (!strcmp(key, "auditadm_r") || ++ !strcmp(key, "secadm_r")); ++ if ((is_base_role && pdb->policy_type == SEPOL_POLICY_BASE) || ++ (!is_base_role && !is_builtin_role)) { ++ + cil_println(indent, "(role %s)", key); + } + } +@@ -2051,7 +2062,9 @@ static int role_to_cil(int indent, struct policydb *pdb, struct avrule_block *UN + + + for (i = 0; i < num_types; i++) { +- cil_println(indent, "(roletype %s %s)", key, types[i]); ++ if (is_id_in_scope(pdb, decl_stack, types[i], SYM_TYPES)) { ++ cil_println(indent, "(roletype %s %s)", key, types[i]); ++ } + } + + break; +@@ -3594,6 +3607,17 @@ static int generate_default_object(void) + return 0; + } + ++static int generate_builtin_roles(void) ++{ ++ // due to inconsistentencies between policies and CIL not allowing ++ // duplicate roles, some roles are always created, regardless of if they ++ // are declared in modules or not ++ cil_println(0, "(role auditadm_r)"); ++ cil_println(0, "(role secadm_r)"); ++ ++ return 0; ++} ++ + static int generate_gen_require_attribute(void) + { + cil_println(0, "(typeattribute " GEN_REQUIRE_ATTR ")"); +@@ -3679,6 +3703,11 @@ static int module_package_to_cil(struct sepol_module_package *mod_pkg) + goto exit; + } + ++ rc = generate_builtin_roles(); ++ if (rc != 0) { ++ goto exit; ++ } ++ + // default attribute to be used to mimic gen_require in CIL + rc = generate_gen_require_attribute(); + if (rc != 0) { diff --git a/policycoreutils-2.4/newrole/newrole.c b/policycoreutils-2.4/newrole/newrole.c index 94794e9..55e8d39 100644 --- a/policycoreutils-2.4/newrole/newrole.c @@ -662731,7 +662801,7 @@ index 2a7cfa3..95fba09 100644 char path[PATH_MAX + 1]; diff --git a/policycoreutils-2.4/setfiles/setfiles.c b/policycoreutils-2.4/setfiles/setfiles.c -index 86d3f28..a9c182c 100644 +index 86d3f28..e39b500 100644 --- a/policycoreutils-2.4/setfiles/setfiles.c +++ b/policycoreutils-2.4/setfiles/setfiles.c @@ -153,6 +153,9 @@ int main(int argc, char **argv) @@ -662744,7 +662814,23 @@ index 86d3f28..a9c182c 100644 memset(&r_opts, 0, sizeof(r_opts)); -@@ -225,8 +228,13 @@ int main(int argc, char **argv) +@@ -196,6 +199,7 @@ int main(int argc, char **argv) + r_opts.add_assoc = 1; + r_opts.fts_flags = FTS_PHYSICAL | FTS_XDEV; + ctx_validate = 1; ++ opts = sopts; + } else { + /* + * restorecon: +@@ -215,6 +219,7 @@ int main(int argc, char **argv) + r_opts.add_assoc = 0; + r_opts.fts_flags = FTS_PHYSICAL; + ctx_validate = 0; ++ opts = ropts; + + /* restorecon only: silent exit if no SELinux. + Allows unconditional execution by scripts. */ +@@ -225,8 +230,13 @@ int main(int argc, char **argv) /* This must happen before getopt. */ r_opts.nfile = exclude_non_seclabel_mounts(); @@ -662759,16 +662845,27 @@ index 86d3f28..a9c182c 100644 switch (opt) { case 'c': { -@@ -326,7 +334,7 @@ int main(int argc, char **argv) +@@ -315,18 +325,13 @@ int main(int argc, char **argv) + recurse = 1; + break; + } +- if (optind + 1 >= argc) { +- fprintf(stderr, "usage: %s -r rootpath\n", +- argv[0]); +- exit(-1); +- } + if (NULL != r_opts.rootpath) { + fprintf(stderr, + "%s: only one -r can be specified\n", argv[0]); exit(-1); } - set_rootpath(argv[optind++]); -+ set_rootpath(argv[optind]); ++ set_rootpath(optarg); break; case 's': use_input_file = 1; -@@ -337,7 +345,7 @@ int main(int argc, char **argv) +@@ -337,7 +342,7 @@ int main(int argc, char **argv) if (r_opts.progress) { fprintf(stderr, "Progress and Verbose mutually exclusive\n"); From 4f439d2638850fb79e8eab3315a9b8674ff1ccea Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Mon, 25 May 2015 16:39:44 +0200 Subject: [PATCH 3/7] policycoreutils-2.4-0.5 --- policycoreutils.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/policycoreutils.spec b/policycoreutils.spec index d8db18d..2d10064 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -7,7 +7,7 @@ Summary: SELinux policy core utilities Name: policycoreutils Version: 2.4 -Release: 0%{?dist}.4 +Release: 0%{?dist}.5 License: GPLv2 Group: System Environment/Base # https://github.com/SELinuxProject/selinux/wiki/Releases @@ -18,7 +18,7 @@ Source2: policycoreutils_man_ru2.tar.bz2 Source3: system-config-selinux.png Source4: sepolicy-icons.tgz # use make-rhat-patches.sh to create following patches from https://github.com/fedora-selinux/selinux/ -# https://github.com/fedora-selinux/selinux/commit/2f23ca54e96a0c1465fbfb0f83196beca0fedccf +# https://github.com/fedora-selinux/selinux/commit/18f0a0563ab5a00d260f325e7a53ee838ae22c99 Patch: policycoreutils-rhat.patch Patch1: sepolgen-rhat.patch Obsoletes: policycoreutils < 2.0.61-2 From 087b49520160585bf1496d1172db133c27246e71 Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Fri, 3 Jul 2015 10:23:25 +0200 Subject: [PATCH 4/7] update from bachradsusi/selinux branch 2.4 policycoreutils-2.4-0.6 - policycoreutils: semanage: update to new source policy infrastructure - semanage: move permissive module creation to /tmp --- policycoreutils-rhat.patch | 117 +++++++++++++++++++------------------ policycoreutils.spec | 10 +++- 2 files changed, 66 insertions(+), 61 deletions(-) diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch index 055871f..8747217 100644 --- a/policycoreutils-rhat.patch +++ b/policycoreutils-rhat.patch @@ -655003,10 +655003,10 @@ index 0fad36c..75b782f 100644 user identities to authorized role sets. In most cases, only the diff --git a/policycoreutils-2.4/semanage/seobject/__init__.py b/policycoreutils-2.4/semanage/seobject/__init__.py new file mode 100644 -index 0000000..05d931c +index 0000000..e3ac4c1 --- /dev/null +++ b/policycoreutils-2.4/semanage/seobject/__init__.py -@@ -0,0 +1,2250 @@ +@@ -0,0 +1,2251 @@ +#! /usr/bin/python -Es +# Copyright (C) 2005-2013 Red Hat +# see file 'COPYING' for use and warranty information @@ -655030,7 +655030,7 @@ index 0000000..05d931c +# +# + -+import pwd, grp, string, selinux, os, re, sys, stat ++import pwd, grp, string, selinux, tempfile, os, re, sys, stat, shutil +from semanage import *; +PROGNAME = "policycoreutils" +import sepolicy @@ -655295,20 +655295,41 @@ index 0000000..05d931c + + def get_all(self): + l = [] -+ (rc, mlist, number) = semanage_module_list(self.sh) ++ (rc, mlist, number) = semanage_module_list_all(self.sh) + if rc < 0: + raise ValueError(_("Could not list SELinux modules")) + + for i in range(number): + mod = semanage_module_list_nth(mlist, i) -+ l.append((semanage_module_get_name(mod), semanage_module_get_version(mod), semanage_module_get_enabled(mod))) ++ ++ rc, name = semanage_module_info_get_name(self.sh, mod) ++ if rc < 0: ++ raise ValueError(_("Could not get module name")) ++ ++ rc, enabled = semanage_module_info_get_enabled(self.sh, mod) ++ if rc < 0: ++ raise ValueError(_("Could not get module enabled")) ++ ++ rc, priority = semanage_module_info_get_priority(self.sh, mod) ++ if rc < 0: ++ raise ValueError(_("Could not get module priority")) ++ ++ rc, lang_ext = semanage_module_info_get_lang_ext(self.sh, mod) ++ if rc < 0: ++ raise ValueError(_("Could not get module lang_ext")) ++ ++ l.append((name, enabled, priority, lang_ext)) ++ ++ # sort the list so they are in name order, but with higher priorities coming first ++ l.sort(key = lambda t: t[3], reverse=True) ++ l.sort(key = lambda t: t[0]) + return l + + def customized(self): + ALL = self.get_all() + if len(ALL) == 0: + return -+ return ["-d %s" % x[0] for x in [t for t in ALL if t[2] == 0]] ++ return ["-d %s" % x[0] for x in [t for t in ALL if t[1] == 0]] + + def list(self, heading = True, locallist = False): + ALL = self.get_all() @@ -655316,50 +655337,47 @@ index 0000000..05d931c + return + + if heading: -+ print("\n%-25s%-10s\n" % (_("Modules Name"), _("Version"))) ++ print("\n%-25s %-9s %s\n" % (_("Module Name"), _("Priority"), _("Language"))) + for t in ALL: -+ if t[2] == 0: ++ if t[1] == 0: + disabled = _("Disabled") + else: + if locallist: + continue + disabled = "" -+ print("%-25s%-10s%s" % (t[0], t[1], disabled)) ++ print("%-25s %-9s %-5s %s" % (t[0], t[2], t[3], disabled)) + -+ def add(self, module): ++ def add(self, module, priority): + if not module: + raise ValueError(_("You did not define module name.")) + if not os.path.exists(module): + raise ValueError(_("Module does not exists %s ") % module) ++ ++ rc = semanage_set_default_priority(self.sh, priority) ++ if rc < 0: ++ raise ValueError(_("Invalid priority %d (needs to be between 1 and 999)") % priority) ++ + rc = semanage_module_install_file(self.sh, module); + if rc >= 0: + self.commit() + -+ def disable(self, module): -+ need_commit = False -+ if not module: -+ raise ValueError(_("You did not define module name.")) ++ def set_enabled(self, module, enable): + for m in module.split(): -+ rc = semanage_module_disable(self.sh, m) -+ if rc < 0 and rc != -3: -+ raise ValueError(_("Could not disable module %s (remove failed)") % m) -+ if rc != -3: -+ need_commit = True -+ if need_commit: -+ self.commit() ++ rc, key = semanage_module_key_create(self.sh) ++ if rc < 0: ++ raise ValueError(_("Could not create module key")) + -+ def enable(self, module): -+ need_commit = False -+ if not module: -+ raise ValueError(_("You did not define module name.")) -+ for m in module.split(): -+ rc = semanage_module_enable(self.sh, m) -+ if rc < 0 and rc != -3: -+ raise ValueError(_("Could not enable module %s (remove failed)") % m) -+ if rc != -3: -+ need_commit = True -+ if need_commit: -+ self.commit() ++ rc = semanage_module_key_set_name(self.sh, key, m) ++ if rc < 0: ++ raise ValueError(_("Could not set module key name")) ++ ++ rc = semanage_module_set_enabled(self.sh, key, enable) ++ if rc < 0: ++ if enable: ++ raise ValueError(_("Could not enable module %s") % m) ++ else: ++ raise ValueError(_("Could not disable module %s") % m) ++ self.commit() + + def modify(self, file): + if not module: @@ -655368,9 +655386,13 @@ index 0000000..05d931c + if rc >= 0: + self.commit() + -+ def delete(self, module): ++ def delete(self, module, priority): + if not module: + raise ValueError(_("You did not define module name.")) ++ rc = semanage_set_default_priority(self.sh, priority) ++ if rc < 0: ++ raise ValueError(_("Invalid priority %d (needs to be between 1 and 999)") % priority) ++ + for m in module.split(): + rc = semanage_module_remove(self.sh, m) + if rc < 0 and rc != -2: @@ -655379,7 +655401,7 @@ index 0000000..05d931c + self.commit() + + def deleteall(self): -+ l = [x[0] for x in [t for t in self.get_all() if t[2] == 0]] ++ l = [x[0] for x in [t for t in self.get_all() if t[1] == 0]] + for m in l: + self.enable(m) + @@ -655443,33 +655465,12 @@ index 0000000..05d931c + raise ValueError(_("The sepolgen python module is required to setup permissive domains.\nIn some distributions it is included in the policycoreutils-devel patckage.\n# yum install policycoreutils-devel\nOr similar for your distro.")) + + name = "permissive_%s" % setype -+ dirname = "/var/lib/selinux" -+ os.chdir(dirname) -+ filename = "%s.te" % name -+ modtxt = """ -+module %s 1.0; ++ modtxt = "(typepermissive %s)" % type + -+require { -+ type %s; -+} -+ -+permissive %s; -+""" % (name, setype, setype) -+ fd = open(filename, 'w') -+ fd.write(modtxt) -+ fd.close() -+ mc = module.ModuleCompiler() -+ mc.create_module_package(filename, False) -+ fd = open("%s.pp" % name) -+ data = fd.read() -+ fd.close() -+ -+ rc = semanage_module_install(self.sh, data, len(data)); ++ rc = semanage_module_install(self.sh, modtxt, len(modtxt), name, "cil"); + if rc >= 0: + self.commit() + -+ for i in glob.glob("permissive_%s.*" % setype): -+ os.remove(i) + if rc < 0: + raise ValueError(_("Could not set permissive domain %s (module installation failed)") % name) + diff --git a/policycoreutils.spec b/policycoreutils.spec index 2d10064..bc00592 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -7,7 +7,7 @@ Summary: SELinux policy core utilities Name: policycoreutils Version: 2.4 -Release: 0%{?dist}.5 +Release: 0%{?dist}.6 License: GPLv2 Group: System Environment/Base # https://github.com/SELinuxProject/selinux/wiki/Releases @@ -17,8 +17,8 @@ URL: http://www.selinuxproject.org Source2: policycoreutils_man_ru2.tar.bz2 Source3: system-config-selinux.png Source4: sepolicy-icons.tgz -# use make-rhat-patches.sh to create following patches from https://github.com/fedora-selinux/selinux/ -# https://github.com/fedora-selinux/selinux/commit/18f0a0563ab5a00d260f325e7a53ee838ae22c99 +# use make-rhat-patches.sh to create following patches +# HEAD https://github.com/bachradsusi/selinux/commit/0eb3ecad178187fda63f5ecb0f8f661f87a9647f Patch: policycoreutils-rhat.patch Patch1: sepolgen-rhat.patch Obsoletes: policycoreutils < 2.0.61-2 @@ -386,6 +386,10 @@ The policycoreutils-restorecond package contains the restorecond service. %systemd_postun_with_restart restorecond.service %changelog +* Fri Jul 03 2015 Petr Lautrbach 2.4-0.6 +- policycoreutils: semanage: update to new source policy infrastructure +- semanage: move permissive module creation to /tmp + * Mon Apr 13 2015 Petr Lautrbach 2.4-0.4 - Update to upstream 2.4 From 4ec76c511dccf539fe9863fbfefce33573b03393 Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Wed, 15 Jul 2015 16:07:22 +0200 Subject: [PATCH 5/7] Add a cosmetic new line --- policycoreutils.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/policycoreutils.spec b/policycoreutils.spec index bc00592..d882b9b 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -52,6 +52,7 @@ to switch roles. # create selinux/ directory and extract %{SOURCE0} there %setup -q -c -n selinux %patch -p1 -b .policycoreutils-rhat + cp %{SOURCE3} policycoreutils-%{version}/gui/ tar -xvf %{SOURCE4} -C policycoreutils-%{version}/ # extract {%SOURCE1} in selinux/ directory From 5f7a92e79b6316262c83f0365f30e94b434988c8 Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Wed, 15 Jul 2015 16:11:56 +0200 Subject: [PATCH 6/7] update from bachradsusi/selinux branch 2.4 policycoreutils-2.4-0.7 - Fix typo in semanage args for minimum policy store --- policycoreutils-rhat.patch | 11 ++++++++++- policycoreutils.spec | 7 +++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch index 8747217..bae6eb3 100644 --- a/policycoreutils-rhat.patch +++ b/policycoreutils-rhat.patch @@ -654686,7 +654686,7 @@ index 0000000..e2befdb + packages=["policycoreutils"], +) diff --git a/policycoreutils-2.4/semanage/semanage b/policycoreutils-2.4/semanage/semanage -index dd63010..9a33702 100644 +index dd63010..7f32b40 100644 --- a/policycoreutils-2.4/semanage/semanage +++ b/policycoreutils-2.4/semanage/semanage @@ -18,24 +18,34 @@ @@ -654942,6 +654942,15 @@ index dd63010..9a33702 100644 #To add a new subcommand define the parser for it in a function above and call it here. subparsers = commandParser.add_subparsers(dest='subcommand') setupImportParser(subparsers) +@@ -788,7 +798,7 @@ def createCommandParser(): + + def make_io_args(args): + # import/export backward compability +- args_origin = ["-S", "-o", "-i", "targeted", "minumum", "mls"] ++ args_origin = ["-S", "-o", "-i", "targeted", "minimum", "mls"] + args_file = [] + args_ie = [] + args_subcommand = [] @@ -808,6 +818,8 @@ def make_io_args(args): return args_subcommand+args_ie+args_file diff --git a/policycoreutils.spec b/policycoreutils.spec index d882b9b..25b8a31 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -7,7 +7,7 @@ Summary: SELinux policy core utilities Name: policycoreutils Version: 2.4 -Release: 0%{?dist}.6 +Release: 0%{?dist}.7 License: GPLv2 Group: System Environment/Base # https://github.com/SELinuxProject/selinux/wiki/Releases @@ -18,7 +18,7 @@ Source2: policycoreutils_man_ru2.tar.bz2 Source3: system-config-selinux.png Source4: sepolicy-icons.tgz # use make-rhat-patches.sh to create following patches -# HEAD https://github.com/bachradsusi/selinux/commit/0eb3ecad178187fda63f5ecb0f8f661f87a9647f +# HEAD https://github.com/bachradsusi/selinux/commit/3cc9b4cd11d53e68656d371b9856a50c01257a04 Patch: policycoreutils-rhat.patch Patch1: sepolgen-rhat.patch Obsoletes: policycoreutils < 2.0.61-2 @@ -387,6 +387,9 @@ The policycoreutils-restorecond package contains the restorecond service. %systemd_postun_with_restart restorecond.service %changelog +* Wed Jul 15 2015 Petr Lautrbach 2.4-0.7 +- Fix typo in semanage args for minimum policy store + * Fri Jul 03 2015 Petr Lautrbach 2.4-0.6 - policycoreutils: semanage: update to new source policy infrastructure - semanage: move permissive module creation to /tmp From 1f399f401e7fbc9d61bb03773a2d8e1699c9d343 Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Thu, 16 Jul 2015 17:24:16 +0200 Subject: [PATCH 7/7] policycoreutils conflicts with selinux-policy < 3.13.1-138 to enforce selinux-policy package update --- policycoreutils.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/policycoreutils.spec b/policycoreutils.spec index 25b8a31..6d8745e 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -7,7 +7,7 @@ Summary: SELinux policy core utilities Name: policycoreutils Version: 2.4 -Release: 0%{?dist}.7 +Release: 0%{?dist}.8 License: GPLv2 Group: System Environment/Base # https://github.com/SELinuxProject/selinux/wiki/Releases @@ -22,7 +22,7 @@ Source4: sepolicy-icons.tgz Patch: policycoreutils-rhat.patch Patch1: sepolgen-rhat.patch Obsoletes: policycoreutils < 2.0.61-2 -Conflicts: filesystem < 3 +Conflicts: filesystem < 3, selinux-policy < 3.13.1-138 Provides: /sbin/fixfiles Provides: /sbin/restorecon