bin/68338: [patch] make buildworld fails is NO_YP_LIBC is defined

Andrea Campi andrea+freebsd at webcom.it
Fri Jun 25 17:30:48 GMT 2004


>Number:         68338
>Category:       bin
>Synopsis:       [patch] make buildworld fails is NO_YP_LIBC is defined
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 25 17:30:22 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Andrea Campi
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD tanja.webcom.it 5.2-CURRENT FreeBSD 5.2-CURRENT #38: Sat Jun 12 16:31:30 CEST 2004 tanja at tanja.webcom.it:/usr/obj/usr/src/sys/TANJA i386

>Description:
make -DNO_YP_LIBC buildworld fails with a few errors. The attached patch
by Bjoern A. Zeeb <bzeeb+freebsd -- a t -- zabbadoz -- dot -- net> fixes
them.

A related, but orthogonal issue is the name of the option; since it
covers far more than libc it should arguably renamed to NO_YP or NOYP.
It might be worth to do it as a separate step.
>How-To-Repeat:
make -DNO_YP_LIBC buildworld
>Fix:

-- 
            The dark ages were caused by the Y1K problem.

--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="10039-no-yp-libc.diff"

! $ZABBADOZ: FreeBSD/patches/10039-no-yp-libc.diff,v 1.8 2004/04/03 21:15:10 bz Exp $
! 
! Author:	"Bjoern A. Zeeb" <bzeeb+freebsd at zabbadoz.net>
! 
! Description:	try to get world compiled with NO_YP_LIBC defined
! 
--- compile-crisco-20040310-1128/lib/libpam/modules/pam_unix/Makefile.orig	Wed Mar 10 13:04:44 2004
+++ compile-crisco-20040310-1128/lib/libpam/modules/pam_unix/Makefile	Wed Mar 10 13:07:06 2004
@@ -38,9 +38,16 @@ LIB=	pam_unix
 SRCS=	pam_unix.c
 MAN=	pam_unix.8
 
+.if !defined(NO_YP_LIBC)
 CFLAGS+= -DYP
+.endif
 
-DPADD=	${LIBUTIL} ${LIBCRYPT} ${LIBYPCLNT}
-LDADD=	-lutil -lcrypt -lypclnt
+DPADD=	${LIBUTIL} ${LIBCRYPT} ${_libypclnt}
+LDADD=	-lutil -lcrypt ${_ypclnt}
+
+.if !defined(NO_YP_LIBC)
+_libypclnt=	${LIBYPCLNT}
+_ypclnt=	-lypclnt
+.endif
 
 .include <bsd.lib.mk>
--- compile-crisco-20040310-1128/libexec/Makefile.orig	Wed Mar 10 13:08:29 2004
+++ compile-crisco-20040310-1128/libexec/Makefile	Wed Mar 10 13:10:21 2004
@@ -12,7 +12,7 @@ SUBDIR=	atrun \
 	${_lukemftpd} \
 	${_mail.local} \
 	makekey \
-	mknetid \
+	${_mknetid} \
 	${_named-xfer} \
 	pppoed \
 	pt_chown \
@@ -33,7 +33,7 @@ SUBDIR=	atrun \
 	tcpd \
 	telnetd \
 	tftpd \
-	ypxfr
+	${_ypxfr}
 
 .if !defined(NO_BIND)
 _named-xfer=	named-xfer
@@ -50,6 +50,11 @@ _rtld-elf=	rtld-elf
 .if !defined(NO_SENDMAIL)
 _mail.local=	mail.local
 _smrsh=	smrsh
+.endif
+
+.if !defined(NO_YP_LIBC)
+_mknetid=	mknetid
+_ypxfr=		ypxfr
 .endif
 
 .if defined(WANT_LUKEMFTPD)
--- compile-crisco-20040310-1447/lib/libc/gen/getnetgrent.c.orig	Wed Mar 10 16:28:24 2004
+++ compile-crisco-20040310-1447/lib/libc/gen/getnetgrent.c	Wed Mar 10 16:28:36 2004
@@ -200,7 +200,7 @@ setnetgrent(group)
 				return;
 			}
 #else
-		if (netf = fopen(_PATH_NETGROUP, "r")) {
+		if ((netf = fopen(_PATH_NETGROUP, "r"))) {
 #endif
 			if (parse_netgrp(group))
 				endnetgrent();
--- compile-crisco-20040310-1447/lib/libc/net/rcmd.c.orig	Wed Mar 10 17:56:57 2004
+++ compile-crisco-20040310-1447/lib/libc/net/rcmd.c	Wed Mar 10 17:57:28 2004
@@ -55,8 +55,8 @@ __FBSDID("$FreeBSD: src/lib/libc/net/rcm
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
-#ifdef YP
 #include <rpc/rpc.h>
+#ifdef YP
 #include <rpcsvc/yp_prot.h>
 #include <rpcsvc/ypclnt.h>
 #endif
--- compile-crisco-20040310-1447/lib/libc/rpc/netnamer.c.orig	Wed Mar 10 18:02:01 2004
+++ compile-crisco-20040310-1447/lib/libc/rpc/netnamer.c	Wed Mar 10 18:02:48 2004
@@ -56,7 +56,9 @@ __FBSDID("$FreeBSD: src/lib/libc/rpc/net
 #include "un-namespace.h"
 
 static char    *OPSYS = "unix";
+#ifdef YP
 static char    *NETID = "netid.byname";
+#endif
 static char    *NETIDFILE = "/etc/netid";
 
 static int getnetid( char *, char * );
--- compile-accu-20040329-0704/lib/librpcsvc/Makefile.orig	Tue May 14 11:37:10 2002
+++ compile-accu-20040329-0704/lib/librpcsvc/Makefile	Mon Mar 29 16:21:44 2004
@@ -9,8 +9,12 @@ RPCSRCS= klm_prot.x mount.x nfs_prot.x n
 	rquota.x rstat.x rwall.x sm_inter.x spray.x yppasswd.x ypxfrd.x \
 	ypupdate_prot.x
 
-OTHERSRCS=  rnusers.c rstat.c rwall.c yp_passwd.c yp_update.c
+OTHERSRCS=  rnusers.c rstat.c rwall.c ${_ypothersrc}
 SECRPCSRCS= secretkey.c xcrypt.c
+
+.if !defined(NO_YP_LIBC)
+_ypothersrc=	yp_passwd.c yp_update.c
+.endif
 
 RPCCOM = rpcgen -C
 
--- compile-crisco-20040310-2123/lib/libwrap/Makefile.orig	Thu Mar 11 08:19:23 2004
+++ compile-crisco-20040310-2123/lib/libwrap/Makefile	Thu Mar 11 08:26:45 2004
@@ -17,6 +17,9 @@ CFLAGS+=-DFACILITY=LOG_AUTH -DHOSTS_ACCE
 	-DSEVERITY=LOG_INFO -DRFC931_TIMEOUT=10 \
 	-DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\" \
 	-DSYS_ERRLIST_DEFINED -DALWAYS_HOSTNAME -DUSE_STRSEP -DPROCESS_OPTIONS
+.if defined(NO_YP_LIBC)
+CFLAGS+=-DUSE_GETDOMAIN
+.endif
 .if !defined(NOINET6)
 CFLAGS+=-DINET6
 .endif
--- compile-accu-20040329-0704/usr.bin/chkey/Makefile.orig	Sun Jan 18 11:41:27 2004
+++ compile-accu-20040329-0704/usr.bin/chkey/Makefile	Mon Mar 29 07:13:13 2004
@@ -4,7 +4,10 @@
 
 PROG=	chkey
 SRCS=	chkey.c generic.c update.c
-CFLAGS+=-DYP -I${.CURDIR}/../newkey
+CFLAGS+=-I${.CURDIR}/../newkey
+.if !defined(NO_YP_LIBC)
+CFLAGS+=-DYP
+.endif
 DISTRIBUTION= crypto
 DPADD=	${LIBRPCSVC} ${LIBMP} ${LIBCRYPTO}
 LDADD=	-lrpcsvc -lmp -lcrypto
--- compile-crisco-20040312-0944/usr.bin/chpass/Makefile.orig	Mon Dec 30 09:46:58 2002
+++ compile-crisco-20040312-0944/usr.bin/chpass/Makefile	Fri Mar 12 12:19:02 2004
@@ -8,13 +8,19 @@ SRCS=	chpass.c edit.c field.c pw_scan.c 
 BINOWN=	root
 BINMODE=4555
 WARNS?=	5
+.if !defined(NO_YP_LIBC)
 CFLAGS+=-DYP
+.endif
 #Some people need this, uncomment to activate
 #CFLAGS+=-DRESTRICT_FULLNAME_CHANGE
 CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I${.CURDIR}/../../lib/libc/gen -I.
 
-DPADD=	${LIBCRYPT} ${LIBUTIL} ${LIBYPCLNT}
-LDADD=	-lcrypt -lutil -lypclnt
+DPADD=	${LIBCRYPT} ${LIBUTIL}
+LDADD=	-lcrypt -lutil
+.if !defined(NO_YP_LIBC)
+DPADD+=	${LIBYPCLNT}
+LDADD+=	-lypclnt
+.endif
 
 LINKS=	${BINDIR}/chpass ${BINDIR}/chfn
 LINKS+=	${BINDIR}/chpass ${BINDIR}/chsh
--- compile-crisco-20040311-2214/usr.bin/newkey/Makefile.orig	Fri Mar 12 09:20:33 2004
+++ compile-crisco-20040311-2214/usr.bin/newkey/Makefile	Fri Mar 12 09:20:51 2004
@@ -2,7 +2,9 @@
 
 PROG=	newkey
 SRCS=	newkey.c generic.c update.c
+.if !defined(NO_YP_LIBC)
 CFLAGS+= -DYP
+.endif
 MAN=	newkey.8
 DISTRIBUTION= crypto
 DPADD=	${LIBRPCSVC} ${LIBMP} ${LIBCRYPTO}
--- compile-crisco-20040312-1244/usr.bin/Makefile.orig	Fri Mar 12 15:28:51 2004
+++ compile-crisco-20040312-1244/usr.bin/Makefile	Fri Mar 12 15:30:02 2004
@@ -220,9 +220,9 @@ SUBDIR=	alias \
 	xstr \
 	${_yacc} \
 	yes \
-	ypcat \
-	ypmatch \
-	ypwhich
+	${_ypcat} \
+	${_ypmatch} \
+	${_ypwhich}
 
 .if ${MACHINE_ARCH} != "amd64" && ${MACHINE_ARCH} != "powerpc"
 _truss=		truss
@@ -262,6 +262,12 @@ _yacc=		yacc
 .if !defined(NO_USB)
 _usbhidaction=	usbhidaction
 _usbhidctl=	usbhidctl
+.endif
+
+.if !defined(NO_YP_LIBC)
+_ypcat=		ypcat
+_ypmatch=	ypmatch
+_ypwhich=	ypwhich
 .endif
 
 .if ${MACHINE_ARCH} == "i386"
--- compile-crisco-20040311-2214/usr.sbin/Makefile.orig	Fri Mar 12 09:21:59 2004
+++ compile-crisco-20040311-2214/usr.sbin/Makefile	Fri Mar 12 09:31:02 2004
@@ -133,9 +133,9 @@
 	rpc.lockd \
 	rpc.statd \
 	rpc.umntall \
-	rpc.yppasswdd \
-	rpc.ypupdated \
-	rpc.ypxfrd \
+	${_rpc.yppasswdd} \
+	${_rpc.ypupdated} \
+	${_rpc.ypxfrd} \
 	rrenumd \
 	rtadvd \
 	rtprio \
@@ -173,12 +173,12 @@
 	watchdogd \
 	wicontrol \
 	${_wlconfig} \
-	ypbind \
-	yp_mkdb \
-	yppoll \
-	yppush \
-	ypserv \
-	ypset \
+ 	${_ypbind} \
+ 	${_yp_mkdb} \
+ 	${_yppoll} \
+ 	${_yppush} \
+ 	${_ypserv} \
+ 	${_ypset} \
 	zic \
 	${_zzz}
 
@@ -240,6 +240,18 @@
 .if !defined(NO_USB)
 _usbd=		usbd
 _usbdevs=	usbdevs
+.endif
+
+.if !defined(NO_YP_LIBC)
+_rpc.yppasswdd=	rpc.yppasswdd
+_rpc.ypupdated=	rpc.ypupdated
+_rpc.ypxfrd=	rpc.ypxfrd
+_ypbind=	ypbind
+_yp_mkdb=	yp_mkdb
+_yppoll=	yppoll
+_yppush=	yppush
+_ypserv=	ypserv
+_ypset=	ypset
 .endif
 
 .if ${MACHINE_ARCH} == "i386"
--- compile-crisco-20040312-1538/usr.sbin/amd/amd/Makefile.orig	Fri Mar 12 21:31:50 2004
+++ compile-crisco-20040312-1538/usr.sbin/amd/amd/Makefile	Fri Mar 12 21:32:41 2004
@@ -15,7 +15,7 @@ SRCS+=	am_ops.c amd.c amfs_auto.c amfs_d
 SRCS+=	amfs_host.c amfs_inherit.c amfs_link.c amfs_linkx.c amfs_nfsl.c
 SRCS+=	amfs_nfsx.c amfs_program.c amfs_root.c amfs_toplvl.c
 SRCS+=	amfs_union.c amq_subr.c amq_svc.c autil.c clock.c conf.c
-SRCS+=	get_args.c info_file.c info_hesiod.c info_ndbm.c info_nis.c info_passwd.c 
+SRCS+=	get_args.c info_file.c info_hesiod.c info_ndbm.c ${_info_nis.c} info_passwd.c 
 SRCS+=	info_union.c map.c mapc.c mntfs.c nfs_prot_svc.c nfs_start.c 
 SRCS+=	nfs_subr.c ops_cdfs.c ops_mfs.c ops_nfs.c ops_nfs3.c 
 SRCS+=	ops_nullfs.c ops_pcfs.c ops_tfs.c ops_ufs.c ops_umapfs.c 
@@ -38,5 +38,9 @@ CLEANFILES+=	mount_xdr.c
 
 mount_xdr.c: ${MOUNT_X}
 	${RPCCOM} -c -DWANT_NFS3 ${MOUNT_X} -o ${.TARGET}
+
+.if !defined(NO_YP_LIBC)
+_info_nis.c=	info_nis.c
+.endif
 
 .include <bsd.prog.mk>
--- compile-crisco-20040312-1538/usr.sbin/amd/include/Makefile.orig	Fri Mar 12 21:26:32 2004
+++ compile-crisco-20040312-1538/usr.sbin/amd/include/Makefile	Fri Mar 12 21:31:01 2004
@@ -8,6 +8,9 @@
 #	$NetBSD: Makefile,v 1.8 1998/08/08 22:33:37 christos Exp $
 
 SRCS=	config_local.h
+.if defined(NO_YP_LIBC)
+SRCS+=	localconfig.h
+.endif
 CLEANFILES=	${SRCS}
 
 all depend: ${SRCS}
@@ -15,5 +18,11 @@ all depend: ${SRCS}
 config_local.h: newvers.sh
 	@rm -f ${.TARGET}
 	sh ${.ALLSRC} ${.CURDIR}/../../../sys/conf/newvers.sh > ${.TARGET}
+
+localconfig.h:
+	@rm -f ${.TARGET}
+	@echo "/* NIS disabled by NO_YP_LIBC make.conf option */" >> ${.TARGET}
+	@echo "#undef HAVE_MAP_NIS" >> ${.TARGET}
+
 
 .include <bsd.prog.mk>
--- compile-crisco-20040312-2333/usr.sbin/amd/Makefile.inc.orig	Sat Mar 13 09:24:42 2004
+++ compile-crisco-20040312-2333/usr.sbin/amd/Makefile.inc	Sat Mar 13 09:25:30 2004
@@ -17,6 +17,9 @@ CFLAGS+= -I${.OBJDIR}/../include
 CFLAGS+= -I${.CURDIR}/../../../contrib/amd/include
 CFLAGS+= -I${.CURDIR}/../../../contrib/amd
 CFLAGS+= -DHAVE_CONFIG_H
+.if defined(NO_YP_LIBC)
+CFLAGS+= -DHAVE_LOCALCONFIG_H
+.endif
 
 CFLAGS+= -DHOST_CPU=\"${MACHINE_ARCH}\" -DHOST_ARCH=\"${MACHINE_ARCH}\"
 
--- compile-crisco-20040313-0930/usr.sbin/bootparamd/bootparamd/bootparamd.c.orig	Sat Mar 13 17:52:34 2004
+++ compile-crisco-20040313-0930/usr.sbin/bootparamd/bootparamd/bootparamd.c	Sat Mar 13 18:12:00 2004
@@ -12,9 +12,11 @@ static const char rcsid[] =
   "$FreeBSD: src/usr.sbin/bootparamd/bootparamd/bootparamd.c,v 1.11 2003/10/26 05:51:51 peter Exp $";
 #endif /* not lint */
 
+#ifdef YP
 #include <rpc/rpc.h>
 #include <rpcsvc/yp_prot.h>
 #include <rpcsvc/ypclnt.h>
+#endif
 #include "bootparam_prot.h"
 #include <ctype.h>
 #include <err.h>
@@ -191,7 +193,9 @@ int blen;
   char  *where;
   static char *result;
   int resultlen;
+#ifdef YP
   static char *yp_domain;
+#endif
 
   int ch, pch, fid_len, res = 0;
   int match = 0;
@@ -212,6 +216,7 @@ int blen;
       }
     }
     if (*hostname == '+' ) { /* NIS */
+#ifdef YP
       if (yp_get_default_domain(&yp_domain)) {
 	 if (debug) warn("NIS");
 	 return(0);
@@ -230,6 +235,9 @@ int blen;
       if (fclose(bpf))
         warnx("could not close %s", bootpfile);
       return(1);
+#else
+      return(0);	/* ENOTSUP */
+#endif
     }
     /* skip to next entry */
     if ( match ) break;
@@ -288,7 +296,9 @@ int len;
   int res = 0;
   static char *result;
   int resultlen;
+#ifdef YP
   static char *yp_domain;
+#endif
 
 /*  struct hostent *cmp_he;*/
 
@@ -315,6 +325,7 @@ int len;
       }
     }
     if (*hostname == '+' ) { /* NIS */
+#ifdef YP
       if (yp_get_default_domain(&yp_domain)) {
 	 if (debug) warn("NIS");
 	 return(0);
@@ -332,6 +343,9 @@ int len;
       if (fclose(bpf))
         warnx("could not close %s", bootpfile);
       return(res);
+#else
+      return(0);	/* ENOTSUP */
+#endif
     }
     /* skip to next entry */
     pch = ch = getc(bpf);
--- compile-crisco-20040313-0930/usr.sbin/bootparamd/bootparamd/Makefile.orig	Sat Mar 13 18:12:03 2004
+++ compile-crisco-20040313-0930/usr.sbin/bootparamd/bootparamd/Makefile	Sat Mar 13 18:12:30 2004
@@ -7,6 +7,9 @@ SRCS=	bootparamd.c main.c ${GENSRCS}
 GENSRCS=bootparam_prot.h bootparam_prot_svc.c bootparam_prot_xdr.c
 
 CFLAGS+= -DTFTP_DIR=\"/tftpboot\" -I.
+.if !defined(NO_YP_LIBC)
+CFLAGS+= -DYP
+.endif
 
 CLEANFILES= ${GENSRCS}
 

--OXfL5xGRrasGEqWY--
>Release-Note:
>Audit-Trail:
>Unformatted:
 --OXfL5xGRrasGEqWY
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 


More information about the freebsd-bugs mailing list