From nobody@FreeBSD.org  Sat Oct  8 21:54:55 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 95187106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  8 Oct 2011 21:54:55 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id 847488FC23
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  8 Oct 2011 21:54:55 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p98Lstmv014874
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 8 Oct 2011 21:54:55 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p98LstlM014873;
	Sat, 8 Oct 2011 21:54:55 GMT
	(envelope-from nobody)
Message-Id: <201110082154.p98LstlM014873@red.freebsd.org>
Date: Sat, 8 Oct 2011 21:54:55 GMT
From: Ben Kaduk <kaduk@mit.edu>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [patch] [maintainer] net/openafs: catch up to sys_ kernel API change
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         161405
>Category:       ports
>Synopsis:       [patch] [maintainer] net/openafs: catch up to sys_ kernel API change
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    zi
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 08 22:00:04 UTC 2011
>Closed-Date:    Sat Oct 15 00:38:28 UTC 2011
>Last-Modified:  Sat Oct 15 00:40:04 UTC 2011
>Originator:     Ben Kaduk
>Release:        9-beta 3
>Organization:
MIT SIPB
>Environment:
n/a
>Description:
In r225617, kmacy renamed a bunch of kernel functions, in effect changing the API.  The OpenAFS kernel module needs to be updated for that API change, preferably before the 9.0 release actually happens.
>How-To-Repeat:
try to build net/openafs on 9-stable or 10-current
>Fix:


Patch attached with submission follows:

diff -ruN openafs.old/Makefile openafs.submit/Makefile
--- openafs.old/Makefile	2011-10-08 17:35:31.000000000 -0400
+++ openafs.submit/Makefile	2011-10-08 17:52:17.000000000 -0400
@@ -8,6 +8,7 @@
 
 PORTNAME=	openafs
 DISTVERSION=	${AFS_DISTVERSION}.${DBVERSION:S/-//g}
+PORTREVISION=	1
 CATEGORIES=	net kld
 MASTER_SITES=	http://dl.central.org/dl/openafs/${AFS_DISTVERSION}/:openafs \
 		http://dl.openafs.org/dl/openafs/${AFS_DISTVERSION}/:openafs \
diff -ruN openafs.old/files/patch-src__afs__FBSD__osi_groups.c openafs.submit/files/patch-src__afs__FBSD__osi_groups.c
--- openafs.old/files/patch-src__afs__FBSD__osi_groups.c	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__afs__FBSD__osi_groups.c	2011-10-08 17:44:37.000000000 -0400
@@ -0,0 +1,22 @@
+diff --git a/src/afs/FBSD/osi_groups.c b/src/afs/FBSD/osi_groups.c
+index ef62478..e897f46 100644
+--- a/src/afs/FBSD/osi_groups.c
++++ b/src/afs/FBSD/osi_groups.c
+@@ -48,9 +48,17 @@ Afs_xsetgroups(struct thread *td, struct setgroups_args *uap)
+     AFS_GUNLOCK();
+     crfree(cr);
+     if (code)
++#if (__FreeBSD_version >= 900044)
++	return sys_setgroups(td, uap);	/* afs has shut down */
++#else
+ 	return setgroups(td, uap);	/* afs has shut down */
++#endif
+ 
++#if (__FreeBSD_version >= 900044)
++    code = sys_setgroups(td, uap);
++#else
+     code = setgroups(td, uap);
++#endif
+     /* Note that if there is a pag already in the new groups we don't
+      * overwrite it with the old pag.
+      */
diff -ruN openafs.old/files/patch-src__afs__afs_pioctl.c openafs.submit/files/patch-src__afs__afs_pioctl.c
--- openafs.old/files/patch-src__afs__afs_pioctl.c	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__afs__afs_pioctl.c	2011-10-08 17:44:50.000000000 -0400
@@ -0,0 +1,16 @@
+diff --git a/src/afs/afs_pioctl.c b/src/afs/afs_pioctl.c
+index cf432d6..2589b79 100644
+--- a/src/afs/afs_pioctl.c
++++ b/src/afs/afs_pioctl.c
+@@ -874,7 +874,11 @@ afs_xioctl(afs_proc_t *p, const struct ioctl_args *uap, register_t *retval)
+ 
+     if (!ioctlDone) {
+ # if defined(AFS_FBSD_ENV)
++#  if (__FreeBSD_version >= 900044)
++	return sys_ioctl(td, uap);
++#  else
+ 	return ioctl(td, uap);
++#  endif
+ # elif defined(AFS_OBSD_ENV)
+ 	code = sys_ioctl(p, uap, retval);
+ # elif defined(AFS_NBSD_ENV)
diff -ruN openafs.old/files/patch-src__afs__afs_prototypes.h openafs.submit/files/patch-src__afs__afs_prototypes.h
--- openafs.old/files/patch-src__afs__afs_prototypes.h	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__afs__afs_prototypes.h	2011-10-08 17:45:08.000000000 -0400
@@ -0,0 +1,16 @@
+diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h
+index 04f13ad..4135ebb 100644
+--- a/src/afs/afs_prototypes.h
++++ b/src/afs/afs_prototypes.h
+@@ -935,8 +935,9 @@ extern int copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst);
+ #if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+ #ifdef AFS_DARWIN100_ENV
+ extern int afs3_syscall(afs_proc_t *p, void *args, unsigned int *retval);
+-#elif defined(AFS_FBSD90_ENV) || defined(AFS_FBSD82_ENV)
+-/* afs3_syscall prototype is in sys/sysproto.h */
++#elif (defined(AFS_FBSD90_ENV) || defined(AFS_FBSD82_ENV)) && (__FreeBSD_version < 900044)
++/* afs3_syscall prototype is in sys/sysproto.h
++   Yes, they put it in, then took it out again (renamed with a sys_ prefix) */
+ #elif defined(AFS_FBSD_ENV)
+ extern int afs3_syscall(struct thread *p, void *args);
+ #elif defined(AFS_NBSD50_ENV)
diff -ruN openafs.old/files/patch-src__rx__FBSD__rx_knet.c openafs.submit/files/patch-src__rx__FBSD__rx_knet.c
--- openafs.old/files/patch-src__rx__FBSD__rx_knet.c	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__rx__FBSD__rx_knet.c	2011-10-08 17:45:24.000000000 -0400
@@ -0,0 +1,16 @@
+diff --git a/src/rx/FBSD/rx_knet.c b/src/rx/FBSD/rx_knet.c
+index c6d2d84..ded3f7c 100644
+--- a/src/rx/FBSD/rx_knet.c
++++ b/src/rx/FBSD/rx_knet.c
+@@ -92,7 +92,11 @@ osi_StopListener(void)
+     p = pfind(rxk_ListenerPid);
+     if (p) {
+ 	afs_warn("osi_StopListener: rxk_ListenerPid %u\n", rxk_ListenerPid);
++#if (__FreeBSD_version >= 90004)
++	kern_psignal(p, SIGUSR1);
++#else
+ 	psignal(p, SIGUSR1);
++#endif
+ 	PROC_UNLOCK(p);
+     } else
+ 	afs_warn("osi_StopListener: rxk_Listener not found (pid %u)\n",


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->zi 
Responsible-Changed-By: zi 
Responsible-Changed-When: Tue Oct 11 01:00:50 UTC 2011 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=161405 
State-Changed-From-To: open->closed 
State-Changed-By: zi 
State-Changed-When: Sat Oct 15 00:38:27 UTC 2011 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=161405 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/161405: commit references a PR
Date: Sat, 15 Oct 2011 00:37:37 +0000 (UTC)

 zi          2011-10-15 00:37:24 UTC
 
   FreeBSD ports repository
 
   Modified files:
     net/openafs          Makefile 
   Added files:
     net/openafs/files    patch-src__afs__FBSD__osi_groups.c 
                          patch-src__afs__afs_pioctl.c 
                          patch-src__afs__afs_prototypes.h 
                          patch-src__rx__FBSD__rx_knet.c 
   Log:
   - Resolve build failures in 9.0-STABLE and 10-CURRENT
   
   PR:             ports/161405, ports/161366
   Submitted by:   Ben Kaduk <kaduk@mit.edu> (maintainer)
   
   Revision  Changes    Path
   1.9       +2 -0      ports/net/openafs/Makefile
   1.1       +22 -0     ports/net/openafs/files/patch-src__afs__FBSD__osi_groups.c (new)
   1.1       +16 -0     ports/net/openafs/files/patch-src__afs__afs_pioctl.c (new)
   1.1       +16 -0     ports/net/openafs/files/patch-src__afs__afs_prototypes.h (new)
   1.1       +16 -0     ports/net/openafs/files/patch-src__rx__FBSD__rx_knet.c (new)
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:

See also ports/161221
