ports/145643: [ports/japanese/mh] fix compile error which is caused by replacing 'utmp.h' to 'utmpx.h'

YAMAMOTO at FreeBSD.org YAMAMOTO at FreeBSD.org
Mon Apr 12 09:00:05 UTC 2010


>Number:         145643
>Category:       ports
>Synopsis:       [ports/japanese/mh] fix compile error which is caused by replacing 'utmp.h' to 'utmpx.h'
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 12 09:00:05 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     YAMAMOTO, Shigeru
>Release:        FreeBSD 9.0-CURRENT
>Organization:
Internet Initiative Japan Inc.
>Environment:
FreeBSD mercury.iij.ad.jp 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Mon Apr 12 08:53:14 JST 2010     root at mercury.iij.ad.jp:/usr/src/sys/amd64/compile/GENERIC  amd64

>Description:
ports/japanese/mh is now 'BROKEN', becase of 'fails to build with new utmpx'.

I fix some codes to be able to compile ports/japanese/mh.

But I don't test it.
#only check compileing it.

>How-To-Repeat:
1) cd /usr/ports/japanese/mh
2) make

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	./files/patch-uip:rcvtty.c
#	./files/patch-uip:slocal.c
#
echo x - ./files/patch-uip:rcvtty.c
sed 's/^X//' >./files/patch-uip:rcvtty.c << '818b4c79655ac1dad35c0f218f83e31b'
X--- uip/rcvtty.c.orig	2001-04-05 01:05:17.000000000 +0900
X+++ uip/rcvtty.c	2010-04-12 17:36:19.000000000 +0900
X@@ -12,7 +12,11 @@
X #include "../zotnet/tws.h"
X #include <signal.h>
X #include <sys/stat.h>
X+#include <sys/param.h>
X #ifndef	TTYD
X+#if __FreeBSD_version > 900007
X+#include <utmpx.h>
X+#else /* __FreeBSD_version > 900007 */
X #include <utmp.h>
X #ifndef UTMP_FILENAME
X #ifdef UTMP_FILE
X@@ -25,6 +29,7 @@
X #endif
X #endif
X #endif	/* UTMP_FILENAME */
X+#endif /* __FreeBSD_version > 900007 */
X #endif	/* not TTYD */
X #ifdef LOCALE
X #include	<locale.h>
X@@ -110,8 +115,12 @@
X 	   *vec[MAXARGS];
X #ifndef	TTYD
X     char    tty[BUFSIZ];
X+#if __FreeBSD_version > 900007
X+    struct utmpx *ut;
X+#else /* __FreeBSD_version > 900007 */
X     struct utmp ut;
X     register FILE  *uf;
X+#endif /* __FreeBSD_version > 900007 */
X #endif	/* not TTYD */
X 
X #ifdef BSD43
X@@ -200,6 +209,13 @@
X 
X     user = getusr ();
X #ifndef	TTYD
X+#if __FreeBSD_version > 900007
X+    ut = getutxuser(user);
X+    if (ut != NULL) {
X+	(void) strncpy (tty, ut->ut_line, sizeof ut->ut_line);
X+	alert (tty, md);
X+    }
X+#else /* __FreeBSD_version > 900007 */
X     if ((uf = fopen (UTMP_FILENAME, "r")) == NULL)
X 	exit (RCV_MBX);
X     while (fread ((char *) &ut, sizeof ut, 1, uf) == 1)
X@@ -212,6 +228,7 @@
X 	    alert (tty, md);
X 	}
X     (void) fclose (uf);
X+#endif /* __FreeBSD_version > 900007 */
X #else	/* TTYD */
X     alert (user, md);
X #endif	/* TTYD */
818b4c79655ac1dad35c0f218f83e31b
echo x - ./files/patch-uip:slocal.c
sed 's/^X//' >./files/patch-uip:slocal.c << 'bad534e727880848b3ceded2c8d3b1d5'
X--- uip/slocal.c.orig	2000-12-04 21:09:38.000000000 +0900
X+++ uip/slocal.c	2010-04-12 17:10:12.000000000 +0900
X@@ -36,6 +36,10 @@
X #endif	/* NOIOCTLH */
X #endif	/* not V7 */
X #include <sys/stat.h>
X+#include <sys/param.h>
X+#if __FreeBSD_version > 900007
X+#include <utmpx.h>
X+#else /* __FreeBSD_version > 900007 */
X #include <utmp.h>
X #ifndef UTMP_FILENAME
X #ifdef UTMP_FILE
X@@ -48,6 +52,7 @@
X #endif
X #endif
X #endif	/* UTMP_FILENAME */
X+#endif /* __FreeBSD_version > 900007 */
X #ifdef LOCALE
X #include	<locale.h>
X #endif
X@@ -938,6 +943,24 @@
X 
X /*  */
X 
X+#if __FreeBSD_version > 900007
X+static int  logged_in (void) {
X+    if (utmped) {
X+	return utmped;
X+    }
X+    else {
X+	struct utmpx* ut = NULL;
X+
X+	ut = getutxuser(user);
X+	if (ut != NULL) {
X+	    return (utmped = DONE);
X+	}
X+	else {
X+	    return (utmped = NOTOK);
X+	}
X+    }
X+}
X+#else /* __FreeBSD_version > 900007 */
X static int  logged_in () {
X     struct utmp ut;
X     register FILE  *uf;
X@@ -963,6 +986,7 @@
X     (void) fclose (uf);
X     return (utmped = NOTOK);
X }
X+#endif /* __FreeBSD_version > 900007 */
X 
X 
X static int  timely (t1, t2)
bad534e727880848b3ceded2c8d3b1d5
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list