[policycoreutils] Have restorecon exit -1 on errors for consistancy.
Daniel J Walsh
dwalsh at fedoraproject.org
Wed Mar 6 17:03:33 UTC 2013
commit 3aca74a161a435b1e7e272c1eea2f76630d60ef5
Author: Dan Walsh <dwalsh at redhat.com>
Date: Wed Mar 6 12:03:27 2013 -0500
Have restorecon exit -1 on errors for consistancy.
policycoreutils-rhat.patch | 128 +++++++++++++++++++++++++++++++++++++++++++-
policycoreutils.spec | 5 ++-
2 files changed, 130 insertions(+), 3 deletions(-)
---
diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch
index 7866404..6ea005d 100644
--- a/policycoreutils-rhat.patch
+++ b/policycoreutils-rhat.patch
@@ -2911,10 +2911,10 @@ index 89d2a49..12bca43 100644
.B \-p
show progress by printing * every STAR_COUNT files. (If you relabel the entire OS, this will show you the percentage complete.)
diff --git a/policycoreutils/setfiles/setfiles.c b/policycoreutils/setfiles/setfiles.c
-index b11e49f..d3f02ae 100644
+index b11e49f..ac1c39a 100644
--- a/policycoreutils/setfiles/setfiles.c
+++ b/policycoreutils/setfiles/setfiles.c
-@@ -45,14 +45,14 @@ void usage(const char *const name)
+@@ -45,18 +45,18 @@ void usage(const char *const name)
{
if (iamrestorecon) {
fprintf(stderr,
@@ -2934,3 +2934,127 @@ index b11e49f..d3f02ae 100644
"usage: %s -c policyfile spec_file\n",
name, name, name, name);
}
+- exit(1);
++ exit(-1);
+ }
+
+ static int nerr = 0;
+@@ -66,7 +66,7 @@ void inc_err()
+ nerr++;
+ if (nerr > ABORT_ON_ERRORS - 1 && !r_opts.debug) {
+ fprintf(stderr, "Exiting after %d errors.\n", ABORT_ON_ERRORS);
+- exit(1);
++ exit(-1);
+ }
+ }
+
+@@ -80,7 +80,7 @@ void set_rootpath(const char *arg)
+ if (NULL == r_opts.rootpath) {
+ fprintf(stderr, "%s: insufficient memory for r_opts.rootpath\n",
+ r_opts.progname);
+- exit(1);
++ exit(-1);
+ }
+
+ /* trim trailing /, if present */
+@@ -98,7 +98,7 @@ int canoncon(char **contextp)
+ if (policyfile) {
+ if (sepol_check_context(context) < 0) {
+ fprintf(stderr, "invalid context %s\n", context);
+- exit(1);
++ exit(-1);
+ }
+ } else if (security_canonicalize_context_raw(context, &tmpcon) == 0) {
+ free(context);
+@@ -175,7 +175,7 @@ int main(int argc, char **argv)
+ r_opts.progname = strdup(argv[0]);
+ if (!r_opts.progname) {
+ fprintf(stderr, "%s: Out of memory!\n", argv[0]);
+- exit(1);
++ exit(-1);
+ }
+ base = basename(r_opts.progname);
+
+@@ -242,7 +242,7 @@ int main(int argc, char **argv)
+ fprintf(stderr,
+ "Error opening %s: %s\n",
+ policyfile, strerror(errno));
+- exit(1);
++ exit(-1);
+ }
+ __fsetlocking(policystream,
+ FSETLOCKING_BYCALLER);
+@@ -252,7 +252,7 @@ int main(int argc, char **argv)
+ fprintf(stderr,
+ "Error reading policy %s: %s\n",
+ policyfile, strerror(errno));
+- exit(1);
++ exit(-1);
+ }
+ fclose(policystream);
+
+@@ -268,7 +268,7 @@ int main(int argc, char **argv)
+ break;
+ }
+ if (add_exclude(optarg))
+- exit(1);
++ exit(-1);
+ break;
+ case 'f':
+ use_input_file = 1;
+@@ -318,13 +318,13 @@ int main(int argc, char **argv)
+ if (optind + 1 >= argc) {
+ fprintf(stderr, "usage: %s -r rootpath\n",
+ argv[0]);
+- exit(1);
++ exit(-1);
+ }
+ if (NULL != r_opts.rootpath) {
+ fprintf(stderr,
+ "%s: only one -r can be specified\n",
+ argv[0]);
+- exit(1);
++ exit(-1);
+ }
+ set_rootpath(argv[optind++]);
+ break;
+@@ -337,7 +337,7 @@ int main(int argc, char **argv)
+ if (r_opts.progress) {
+ fprintf(stderr,
+ "Progress and Verbose mutually exclusive\n");
+- exit(1);
++ exit(-1);
+ }
+ r_opts.verbose++;
+ break;
+@@ -391,12 +391,12 @@ int main(int argc, char **argv)
+
+ if (stat(argv[optind], &sb) < 0) {
+ perror(argv[optind]);
+- exit(1);
++ exit(-1);
+ }
+ if (!S_ISREG(sb.st_mode)) {
+ fprintf(stderr, "%s: spec file %s is not a regular file.\n",
+ argv[0], argv[optind]);
+- exit(1);
++ exit(-1);
+ }
+
+ altpath = argv[optind];
+@@ -409,7 +409,7 @@ int main(int argc, char **argv)
+ r_opts.selabel_opt_path = altpath;
+
+ if (nerr)
+- exit(1);
++ exit(-1);
+
+ restore_init(&r_opts);
+ if (use_input_file) {
+@@ -452,5 +452,5 @@ int main(int argc, char **argv)
+
+ if (r_opts.progress && r_opts.count >= STAR_COUNT)
+ printf("\n");
+- exit(errors);
++ exit(errors ? -1: 0);
+ }
diff --git a/policycoreutils.spec b/policycoreutils.spec
index ada0e37..4dcf691 100644
--- a/policycoreutils.spec
+++ b/policycoreutils.spec
@@ -7,7 +7,7 @@
Summary: SELinux policy core utilities
Name: policycoreutils
Version: 2.1.14
-Release: 18%{?dist}
+Release: 19%{?dist}
License: GPLv2
Group: System Environment/Base
# Based on git repository with tag 20101221
@@ -310,6 +310,9 @@ The policycoreutils-restorecond package contains the restorecond service.
%{_bindir}/systemctl try-restart restorecond.service >/dev/null 2>&1 || :
%changelog
+* Wed Mar 6 2013 Dan Walsh <dwalsh at redhat.com> - 2.1.14-19
+- Have restorecon exit -1 on errors for consistancy.
+
* Tue Mar 5 2013 Dan Walsh <dwalsh at redhat.com> - 2.1.14-18
- Need to provide a value to semanage boolean -m
More information about the scm-commits
mailing list