summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2014-06-12 16:23:15 -0400
committerNalin Dahyabhai <nalin@dahyabhai.net>2014-06-12 16:23:15 -0400
commit47d56d9162b6b2a3f7927c41db628cf1f5e4b5c2 (patch)
tree1515a2f29fd54624889fa0829c7e4dbfe961ce86
parent790a56ba59e340227f6011d5eb28e74ff7c10eb2 (diff)
downloadkrb5-47d56d9162b6b2a3f7927c41db628cf1f5e4b5c2.tar.gz
krb5-47d56d9162b6b2a3f7927c41db628cf1f5e4b5c2.tar.xz
krb5-47d56d9162b6b2a3f7927c41db628cf1f5e4b5c2.zip
Fix FTBFS #1107061 using a patch from upstreamkrb5-1.12.1-8.fc21
- pull in fix for building against tcl 8.6 (#1107061)
-rw-r--r--krb5-1.12-tcl86.patch149
-rw-r--r--krb5.spec7
2 files changed, 155 insertions, 1 deletions
diff --git a/krb5-1.12-tcl86.patch b/krb5-1.12-tcl86.patch
new file mode 100644
index 0000000..565a78d
--- /dev/null
+++ b/krb5-1.12-tcl86.patch
@@ -0,0 +1,149 @@
+commit b63496d7b44f090ea5d300dc09b4fc043138ae38
+Author: Greg Hudson <ghudson@mit.edu>
+Date: Wed May 28 18:06:59 2014 -0400
+
+ Make tcl_kadm5.c work with Tcl 8.6
+
+ Directly accessing the result field of Tcl_Interp has been deprecated
+ for a long time, requires a special define in Tcl 8.6, and will be
+ impossible in Tcl 9. Use Tcl_SetResult instead. The new error
+ messages are less helpful than the old ones, but this is just support
+ infrastructure for old tests, so it isn't important.
+
+ ticket: 7924
+
+diff --git a/src/kadmin/testing/util/tcl_kadm5.c b/src/kadmin/testing/util/tcl_kadm5.c
+index 8338cc9..b2f51d3 100644
+--- a/src/kadmin/testing/util/tcl_kadm5.c
++++ b/src/kadmin/testing/util/tcl_kadm5.c
+@@ -801,8 +801,7 @@ static int parse_keysalts(Tcl_Interp *interp, const char *list,
+ return retcode;
+ }
+ if (argc != num_keysalts) {
+- sprintf(interp->result, "%d keysalts specified, "
+- "but num_keysalts is %d", argc, num_keysalts);
++ Tcl_SetResult(interp, "wrong number of keysalts", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -814,8 +813,7 @@ static int parse_keysalts(Tcl_Interp *interp, const char *list,
+ goto finished;
+ }
+ if (argc1 != 2) {
+- sprintf(interp->result, "wrong # fields in keysalt "
+- "(%d should be 2)", argc1);
++ Tcl_SetResult(interp, "wrong # of fields in keysalt", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -856,8 +854,7 @@ static int parse_key_data(Tcl_Interp *interp, const char *list,
+ *key_data = NULL;
+ if (list == NULL) {
+ if (n_key_data != 0) {
+- sprintf(interp->result, "0 key_datas specified, "
+- "but n_key_data is %d", n_key_data);
++ Tcl_SetResult(interp, "wrong number of key_datas", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ } else
+@@ -868,14 +865,13 @@ static int parse_key_data(Tcl_Interp *interp, const char *list,
+ return retcode;
+ }
+ if (argc != n_key_data) {
+- sprintf(interp->result, "%d key_datas specified, "
+- "but n_key_data is %d", argc, n_key_data);
++ Tcl_SetResult(interp, "wrong number of key_datas", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+
+ if (argc != 0) {
+- sprintf(interp->result, "cannot parse key_data yet");
++ Tcl_SetResult(interp, "cannot parse key_data yet", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -896,8 +892,7 @@ static int parse_tl_data(Tcl_Interp *interp, const char *list,
+ *tlp = NULL;
+ if (list == NULL) {
+ if (n_tl_data != 0) {
+- sprintf(interp->result, "0 tl_datas specified, "
+- "but n_tl_data is %d", n_tl_data);
++ Tcl_SetResult(interp, "wrong number of tl_datas", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ } else
+@@ -908,8 +903,7 @@ static int parse_tl_data(Tcl_Interp *interp, const char *list,
+ return retcode;
+ }
+ if (argc != n_tl_data) {
+- sprintf(interp->result, "%d tl_datas specified, "
+- "but n_tl_data is %d", argc, n_tl_data);
++ Tcl_SetResult(interp, "wrong number of tl_datas", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -929,8 +923,7 @@ static int parse_tl_data(Tcl_Interp *interp, const char *list,
+ goto finished;
+ }
+ if (argc1 != 3) {
+- sprintf(interp->result, "wrong # fields in tl_data "
+- "(%d should be 3)", argc1);
++ Tcl_SetResult(interp, "wrong # of fields in tl_data", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -949,9 +942,7 @@ static int parse_tl_data(Tcl_Interp *interp, const char *list,
+ }
+ tl->tl_data_length = tmp;
+ if (tl->tl_data_length != strlen(argv1[2])) {
+- sprintf(interp->result, "specified length %d does not "
+- "match length %lu of string \"%s\"", tmp,
+- (unsigned long) strlen(argv1[2]), argv1[2]);
++ Tcl_SetResult(interp, "length != string length", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -962,7 +953,7 @@ static int parse_tl_data(Tcl_Interp *interp, const char *list,
+ tl = tl->tl_data_next;
+ }
+ if (tl != NULL) {
+- sprintf(interp->result, "tl is not NULL!");
++ Tcl_SetResult(interp, "tl is not NULL!", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -992,9 +983,8 @@ static int parse_config_params(Tcl_Interp *interp, char *list,
+ }
+
+ if (argc != 20) {
+- sprintf(interp->result,
+- "wrong # args in config params structure (%d should be 20)",
+- argc);
++ Tcl_SetResult(interp, "wrong # args in config params structure",
++ TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -1129,9 +1119,8 @@ static int parse_principal_ent(Tcl_Interp *interp, char *list,
+ }
+
+ if (argc != 12 && argc != 20) {
+- sprintf(interp->result,
+- "wrong # args in principal structure (%d should be 12 or 20)",
+- argc);
++ Tcl_SetResult(interp, "wrong # args in principal structure",
++ TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
+@@ -1391,8 +1380,7 @@ static int parse_policy_ent(Tcl_Interp *interp, char *list,
+ }
+
+ if (argc != 7 && argc != 10) {
+- sprintf(interp->result, "wrong # args in policy structure (%d should be 7 or 10)",
+- argc);
++ Tcl_SetResult(interp, "wrong # args in policy structure", TCL_STATIC);
+ retcode = TCL_ERROR;
+ goto finished;
+ }
diff --git a/krb5.spec b/krb5.spec
index 50dc62a..04197f9 100644
--- a/krb5.spec
+++ b/krb5.spec
@@ -41,7 +41,7 @@
Summary: The Kerberos network authentication system
Name: krb5
Version: 1.12.1
-Release: 7%{?dist}
+Release: 8%{?dist}
# Maybe we should explode from the now-available-to-everybody tarball instead?
# http://web.mit.edu/kerberos/dist/krb5/1.12/krb5-1.12.1-signed.tar
Source0: krb5-%{version}.tar.gz
@@ -102,6 +102,7 @@ Patch140: krb5-master-empty-credstore.patch
Patch141: krb5-master-rcache-acquirecred-test.patch
Patch142: krb5-master-move-otp-sockets.patch
Patch143: krb5-master-spnego-preserve-oid.patch
+Patch144: krb5-1.12-tcl86.patch
Patch201: 0001-Don-t-try-to-stat-not-on-disk-ccache-residuals.patch
Patch202: 0002-Use-an-in-memory-cache-until-we-need-the-target-s.patch
Patch203: 0003-Learn-to-destroy-the-ccache-we-re-copying-from.patch
@@ -352,6 +353,7 @@ ln -s NOTICE LICENSE
%patch141 -p1 -b .rcache-acquirecred-test
%patch142 -p1 -b .move-otp-sockets
%patch143 -p1 -b .spnego-preserve-oid
+%patch144 -p1 -b .tcl86
# Take the execute bit off of documentation.
chmod -x doc/krb5-protocol/*.txt doc/ccapi/*.html
@@ -1021,6 +1023,9 @@ exit 0
%{_sbindir}/uuserver
%changelog
+* Thu Jun 12 2014 Nalin Dahyabhai <nalin@redhat.com> - 1.12.1-8
+- pull in fix for building against tcl 8.6 (#1107061)
+
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.12.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild