svn commit: r401816 - in head/security/py-kerberos: . files

Dan Langille dvl at FreeBSD.org
Tue Nov 17 15:17:03 UTC 2015


Author: dvl
Date: Tue Nov 17 15:17:01 2015
New Revision: 401816
URL: https://svnweb.freebsd.org/changeset/ports/401816

Log:
  Commit message will be:
  
  Optionally use Kerberos from base, heimdal, or from MIT
  take maintainership
  PR: 199123
  Approved by: mat (mentor)

Added:
  head/security/py-kerberos/files/
  head/security/py-kerberos/files/extra-patch-src_kerberosbasic.h   (contents, props changed)
  head/security/py-kerberos/files/extra-patch-src_kerberosgss.c   (contents, props changed)
  head/security/py-kerberos/files/extra-patch-src_kerberosgss.h   (contents, props changed)
  head/security/py-kerberos/files/extra-patch-src_kerberospw.h   (contents, props changed)
Modified:
  head/security/py-kerberos/Makefile

Modified: head/security/py-kerberos/Makefile
==============================================================================
--- head/security/py-kerberos/Makefile	Tue Nov 17 15:11:53 2015	(r401815)
+++ head/security/py-kerberos/Makefile	Tue Nov 17 15:17:01 2015	(r401816)
@@ -3,23 +3,38 @@
 
 PORTNAME=	kerberos
 PORTVERSION=	1.1.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	security python
 MASTER_SITES=	CHEESESHOP
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
-MAINTAINER=	roland at micite.net
+MAINTAINER=	dvl at FreeBSD.org
 COMMENT=	Kerberos bindings for python
 
 LICENSE=	APACHE20
 
-LIB_DEPENDS=	libkrb5support.so:${PORTSDIR}/security/krb5
+OPTIONS_DEFAULT=	GSSAPI_BASE
+OPTIONS_SINGLE=		GSSAPI
+OPTIONS_SINGLE_GSSAPI=	GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT
+
+GSSAPI_BASE_USES=		gssapi
+GSSAPI_HEIMDAL_USES=		gssapi:heimdal
+GSSAPI_MIT_USES=		gssapi:mit
 
 USES=		python
 USE_PYTHON=	distutils autoplist
 
+GSSAPI_BASE_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src_kerberosbasic.h \
+				${PATCHDIR}/extra-patch-src_kerberosgss.c \
+				${PATCHDIR}/extra-patch-src_kerberosgss.h \
+				${PATCHDIR}/extra-patch-src_kerberospw.h
+
+GSSAPI_HEIMDAL_EXTRA_PATCHES=	${GSSAPI_BASE_EXTRA_PATCHES}
+
 post-patch:
-	@${REINPLACE_CMD} -e 's|krb5|${PREFIX}/bin/krb5|g' ${WRKSRC}/setup.py
-	@${REINPLACE_CMD} -e 's|split|replace("/usr/lib:", "").split|g' ${WRKSRC}/setup.py
+	@${REINPLACE_CMD} -e 's|commands.getoutput("krb5-config|commands.getoutput("${GSSAPIBASEDIR}/bin/krb5-config|g' ${WRKSRC}/setup.py
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/kerberos.so
 
 .include <bsd.port.mk>

Added: head/security/py-kerberos/files/extra-patch-src_kerberosbasic.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/py-kerberos/files/extra-patch-src_kerberosbasic.h	Tue Nov 17 15:17:01 2015	(r401816)
@@ -0,0 +1,12 @@
+--- src/kerberosbasic.h.orig	2015-03-29 03:39:10 UTC
++++ src/kerberosbasic.h
+@@ -14,8 +14,8 @@
+  * limitations under the License.
+  **/
+ 
++#include <krb5.h>
+ #include <gssapi/gssapi.h>
+-#include <gssapi/gssapi_generic.h>
+ #include <gssapi/gssapi_krb5.h>
+ 
+ #define krb5_get_err_text(context,code) error_message(code)

Added: head/security/py-kerberos/files/extra-patch-src_kerberosgss.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/py-kerberos/files/extra-patch-src_kerberosgss.c	Tue Nov 17 15:17:01 2015	(r401816)
@@ -0,0 +1,39 @@
+--- src/kerberosgss.c.orig	2015-03-29 03:40:20 UTC
++++ src/kerberosgss.c
+@@ -38,7 +38,7 @@ char* server_principal_details(const cha
+     int code;
+     krb5_context kcontext;
+     krb5_keytab kt = NULL;
+-    krb5_kt_cursor cursor = NULL;
++    krb5_kt_cursor cursor;
+     krb5_keytab_entry entry;
+     char* pname = NULL;
+     
+@@ -81,13 +81,13 @@ char* server_principal_details(const cha
+         {
+             result = malloc(strlen(pname) + 1);
+             strcpy(result, pname);
+-            krb5_free_unparsed_name(kcontext, pname);
+-            krb5_free_keytab_entry_contents(kcontext, &entry);
++            krb5_xfree(pname);
++            krb5_kt_free_entry(kcontext, &entry);
+             break;
+         }
+         
+-        krb5_free_unparsed_name(kcontext, pname);
+-        krb5_free_keytab_entry_contents(kcontext, &entry);
++        krb5_xfree(pname);
++        krb5_kt_free_entry(kcontext, &entry);
+     }
+     
+     if (result == NULL)
+@@ -97,8 +97,7 @@ char* server_principal_details(const cha
+     }
+     
+ end:
+-    if (cursor)
+-        krb5_kt_end_seq_get(kcontext, kt, &cursor);
++    krb5_kt_end_seq_get(kcontext, kt, &cursor);
+     if (kt)
+         krb5_kt_close(kcontext, kt);
+     krb5_free_context(kcontext);

Added: head/security/py-kerberos/files/extra-patch-src_kerberosgss.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/py-kerberos/files/extra-patch-src_kerberosgss.h	Tue Nov 17 15:17:01 2015	(r401816)
@@ -0,0 +1,13 @@
+--- src/kerberosgss.h.orig	2015-03-29 03:41:32 UTC
++++ src/kerberosgss.h
+@@ -14,8 +14,9 @@
+  * limitations under the License.
+  **/
+ 
++#include <krb5.h>
++#define gss_krb5_nt_service_name GSS_KRB5_NT_PRINCIPAL_NAME
+ #include <gssapi/gssapi.h>
+-#include <gssapi/gssapi_generic.h>
+ #include <gssapi/gssapi_krb5.h>
+ 
+ #define krb5_get_err_text(context,code) error_message(code)

Added: head/security/py-kerberos/files/extra-patch-src_kerberospw.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/py-kerberos/files/extra-patch-src_kerberospw.h	Tue Nov 17 15:17:01 2015	(r401816)
@@ -0,0 +1,12 @@
+--- src/kerberospw.h.orig	2015-03-29 03:42:28 UTC
++++ src/kerberospw.h
+@@ -15,8 +15,8 @@
+  *
+  **/
+ 
++#include <krb5.h>
+ #include <gssapi/gssapi.h>
+-#include <gssapi/gssapi_generic.h>
+ #include <gssapi/gssapi_krb5.h>
+ 
+ #define krb5_get_err_text(context,code) error_message(code)


More information about the svn-ports-all mailing list