On Sun, Aug 17, 2003 at 01:54:38AM -0700, Gordon Tetlow wrote:
> I just got through with my commit spree to enable users to build /bin
> and /sbin dynamically linked. To do this required a fair amount of
> tweaking and moving around libraries and such dangerous equipment as

I think this is a more correct way to change the install locations of the
/ needed libs.  Your current way makes the real location a "2nd class
citizen" vs. /usr/lib for any needed compatibility links.

I'd like to commit this:

Index: lib/libalias/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libalias/Makefile,v
retrieving revision 1.21
diff -u -r1.21 Makefile
--- lib/libalias/Makefile       17 Aug 2003 08:28:43 -0000      1.21
+++ lib/libalias/Makefile       18 Aug 2003 01:42:15 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libalias/Makefile,v 1.21 2003/08/17 08:28:43 gordon Exp $
 
 LIB=   alias
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SHLIB_MAJOR=   4
 MAN=   libalias.3
 SRCS=  alias.c alias_cuseeme.c alias_db.c alias_ftp.c alias_irc.c \
Index: lib/libatm/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libatm/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- lib/libatm/Makefile 17 Aug 2003 08:28:43 -0000      1.8
+++ lib/libatm/Makefile 18 Aug 2003 01:42:11 -0000
@@ -28,7 +28,7 @@
 #
 
 LIB=   atm
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SRCS=  atm_addr.c cache_key.c ioctl_subr.c ip_addr.c ip_checksum.c timer.c
 INCS=  libatm.h
 
Index: lib/libc/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libc/Makefile,v
retrieving revision 1.42
diff -u -r1.42 Makefile
--- lib/libc/Makefile   17 Aug 2003 08:28:44 -0000      1.42
+++ lib/libc/Makefile   18 Aug 2003 01:42:08 -0000
@@ -10,7 +10,7 @@
 # system call stubs.
 LIB=c
 SHLIB_MAJOR= 5
-SHLIBDIR?=/lib
+LIBDIR?= /lib
 CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include
 CFLAGS+=-I${.CURDIR}/${MACHINE_ARCH}
 CLEANFILES+=tags
Index: lib/libcam/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libcam/Makefile,v
retrieving revision 1.11
diff -u -r1.11 Makefile
--- lib/libcam/Makefile 17 Aug 2003 08:28:44 -0000      1.11
+++ lib/libcam/Makefile 18 Aug 2003 01:42:21 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libcam/Makefile,v 1.11 2003/08/17 08:28:44 gordon Exp $
 
 LIB=           cam
-SHLIBDIR?=     /lib
+LIBDIR?=       /lib
 SRCS=          camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c
 INCS=          camlib.h
 
Index: lib/libcrypt/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libcrypt/Makefile,v
retrieving revision 1.33
diff -u -r1.33 Makefile
--- lib/libcrypt/Makefile       17 Aug 2003 08:28:44 -0000      1.33
+++ lib/libcrypt/Makefile       18 Aug 2003 01:42:23 -0000
@@ -4,7 +4,7 @@
 
 SHLIB_MAJOR=   2
 LIB=           crypt
-SHLIBDIR?=     /lib
+LIBDIR?=       /lib
 
 .PATH:         ${.CURDIR}/../libmd
 SRCS=          crypt.c misc.c \
Index: lib/libdevstat/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libdevstat/Makefile,v
retrieving revision 1.12
diff -u -r1.12 Makefile
--- lib/libdevstat/Makefile     17 Aug 2003 08:28:44 -0000      1.12
+++ lib/libdevstat/Makefile     18 Aug 2003 01:42:28 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libdevstat/Makefile,v 1.12 2003/08/17 08:28:44 gordon Exp $
 
 LIB=   devstat
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 # Bump DEVSTAT_USER_API_VER in devstat.h every time this is incremented.
 SHLIB_MAJOR= 4
 SRCS=  devstat.c
Index: lib/libedit/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libedit/Makefile,v
retrieving revision 1.27
diff -u -r1.27 Makefile
--- lib/libedit/Makefile        17 Aug 2003 08:28:44 -0000      1.27
+++ lib/libedit/Makefile        18 Aug 2003 01:42:37 -0000
@@ -4,7 +4,7 @@
 
 LIB=   edit
 SHLIB_MAJOR=   4
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 
 OSRCS= chared.c common.c el.c emacs.c fcns.c help.c hist.c key.c map.c \
        parse.c prompt.c read.c refresh.c search.c sig.c term.c tty.c vi.c
Index: lib/libexpat/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libexpat/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- lib/libexpat/Makefile       17 Aug 2003 08:28:44 -0000      1.4
+++ lib/libexpat/Makefile       18 Aug 2003 01:42:43 -0000
@@ -3,7 +3,7 @@
 EXPAT=         ${.CURDIR}/../../contrib/expat
 
 LIB=           bsdxml
-SHLIBDIR?=     /lib
+LIBDIR?=       /lib
 SHLIB_MAJOR=   1
 SRCS=          xmlparse.c xmlrole.c xmltok.c
 INCS=          bsdxml.h
Index: lib/libgeom/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libgeom/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- lib/libgeom/Makefile        17 Aug 2003 08:28:44 -0000      1.8
+++ lib/libgeom/Makefile        18 Aug 2003 01:42:48 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libgeom/Makefile,v 1.8 2003/08/17 08:28:44 gordon Exp $
 
 LIB=   geom
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SRCS+= geom_getxml.c
 SRCS+= geom_stats.c
 SRCS+= geom_xml2tree.c
Index: lib/libipsec/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libipsec/Makefile,v
retrieving revision 1.13
diff -u -r1.13 Makefile
--- lib/libipsec/Makefile       17 Aug 2003 08:28:44 -0000      1.13
+++ lib/libipsec/Makefile       18 Aug 2003 01:42:51 -0000
@@ -27,7 +27,7 @@
 # $FreeBSD: src/lib/libipsec/Makefile,v 1.13 2003/08/17 08:28:44 gordon Exp $
 
 LIB=   ipsec
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SHLIB_MAJOR= 1
 CFLAGS+=-I. -I${.CURDIR}
 CFLAGS+=-DIPSEC_DEBUG -DIPSEC
Index: lib/libipx/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libipx/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- lib/libipx/Makefile 17 Aug 2003 08:28:45 -0000      1.6
+++ lib/libipx/Makefile 18 Aug 2003 01:42:55 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libipx/Makefile,v 1.6 2003/08/17 08:28:45 gordon Exp $
 
 LIB=   ipx
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SRCS=  ipx_addr.c ipx_ntoa.c
 MAN=   ipx.3
 MLINKS+=ipx.3 ipx_addr.3 ipx.3 ipx_ntoa.3
Index: lib/libkvm/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libkvm/Makefile,v
retrieving revision 1.13
diff -u -r1.13 Makefile
--- lib/libkvm/Makefile 17 Aug 2003 08:28:45 -0000      1.13
+++ lib/libkvm/Makefile 18 Aug 2003 01:42:59 -0000
@@ -2,7 +2,7 @@
 # $FreeBSD: src/lib/libkvm/Makefile,v 1.13 2003/08/17 08:28:45 gordon Exp $
 
 LIB=   kvm
-SHLIBDIR?=/lib
+LIBDIR?= /lib
 CFLAGS+=-DLIBC_SCCS -I${.CURDIR}
 SRCS=  kvm.c kvm_${MACHINE_ARCH}.c kvm_file.c kvm_getloadavg.c \
        kvm_getswapinfo.c kvm_proc.c
Index: lib/libmd/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libmd/Makefile,v
retrieving revision 1.39
diff -u -r1.39 Makefile
--- lib/libmd/Makefile  17 Aug 2003 08:28:45 -0000      1.39
+++ lib/libmd/Makefile  18 Aug 2003 01:43:03 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libmd/Makefile,v 1.39 2003/08/17 08:28:45 gordon Exp $
 
 LIB=   md
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SRCS=  md2c.c md4c.c md5c.c md2hl.c md4hl.c md5hl.c \
        rmd160c.c rmd160hl.c \
        sha0c.c sha0hl.c sha1c.c sha1hl.c
Index: lib/libncurses/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libncurses/Makefile,v
retrieving revision 1.71
diff -u -r1.71 Makefile
--- lib/libncurses/Makefile     17 Aug 2003 08:28:45 -0000      1.71
+++ lib/libncurses/Makefile     18 Aug 2003 01:43:07 -0000
@@ -3,7 +3,7 @@
 NCURSES=${.CURDIR}/../../contrib/ncurses
 
 LIB=   ncurses
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SHLIB_MAJOR=5
 
 # Should be elsewhere
Index: lib/libsbuf/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libsbuf/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- lib/libsbuf/Makefile        17 Aug 2003 08:28:45 -0000      1.4
+++ lib/libsbuf/Makefile        18 Aug 2003 01:43:10 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libsbuf/Makefile,v 1.4 2003/08/17 08:28:45 gordon Exp $
 
 LIB=   sbuf
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SRCS=  subr_sbuf.c 
 WARNS?= 2
 
Index: lib/libufs/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libufs/Makefile,v
retrieving revision 1.9
diff -u -r1.9 Makefile
--- lib/libufs/Makefile 17 Aug 2003 08:28:45 -0000      1.9
+++ lib/libufs/Makefile 18 Aug 2003 01:43:29 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/lib/libufs/Makefile,v 1.9 2003/08/17 08:28:45 gordon Exp $
 
 LIB=   ufs
-SHLIBDIR?=     /lib
+LIBDIR?= /lib
 SRCS=  block.c cgroup.c inode.c sblock.c type.c
 INCS=  libufs.h
 MAN=   bread.3 cgread.3 libufs.3 sbread.3 ufs_disk_close.3
Index: lib/libutil/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libutil/Makefile,v
retrieving revision 1.50
diff -u -r1.50 Makefile
--- lib/libutil/Makefile        17 Aug 2003 08:28:45 -0000      1.50
+++ lib/libutil/Makefile        18 Aug 2003 01:43:33 -0000
@@ -3,7 +3,7 @@
 
 LIB=   util
 SHLIB_MAJOR= 3
-SHLIBDIR?=/lib
+LIBDIR?= /lib
 CFLAGS+=-Wall -DLIBC_SCCS -I${.CURDIR} -I${.CURDIR}/../libc/gen/
 CFLAGS+=-DINET6
 SRCS=  _secure_path.c auth.c fparseln.c login.c login_auth.c \
Index: lib/libz/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/libz/Makefile,v
retrieving revision 1.15
diff -u -r1.15 Makefile
--- lib/libz/Makefile   17 Aug 2003 08:28:45 -0000      1.15
+++ lib/libz/Makefile   18 Aug 2003 01:43:35 -0000
@@ -5,7 +5,7 @@
 [EMAIL PROTECTED]
 
 LIB=           z
-SHLIBDIR?=     /lib
+LIBDIR?=       /lib
 MAN=           zlib.3
 
 #CFLAGS+=      -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
Index: lib/msun/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/msun/Makefile,v
retrieving revision 1.35
diff -u -r1.35 Makefile
--- lib/msun/Makefile   17 Aug 2003 08:28:46 -0000      1.35
+++ lib/msun/Makefile   18 Aug 2003 01:43:40 -0000
@@ -55,6 +55,7 @@
            e_remainder.S e_scalb.S e_sqrt.S s_atan.S s_ceil.S s_copysign.S \
            s_cos.S s_finite.S s_floor.S s_ilogb.S s_logb.S \
            s_rint.S s_scalbn.S s_significand.S s_sin.S s_tan.S
+#CSTD?=        c99
 # Broken:
 # ARCH_SRCS+=  s_log1p.S
 .endif
@@ -66,7 +67,7 @@
 CFLAGS+= -D_IEEE_LIBM
 
 LIB=   m
-SHLIBDIR?= /lib
+LIBDIR?= /lib
 COMMON_SRCS= b_exp.c b_log.c b_tgamma.c \
        e_acos.c e_acosf.c e_acosh.c e_acoshf.c e_asin.c e_asinf.c \
        e_atan2.c e_atan2f.c e_atanh.c e_atanhf.c e_cosh.c e_coshf.c e_exp.c \
Index: libexec/ftpd/ftpd.c
===================================================================
RCS file: /home/ncvs/src/libexec/ftpd/ftpd.c,v
retrieving revision 1.145
diff -u -r1.145 ftpd.c
--- libexec/ftpd/ftpd.c 9 Jul 2003 12:46:24 -0000       1.145
+++ libexec/ftpd/ftpd.c 11 Jul 2003 17:16:44 -0000
@@ -183,8 +183,10 @@
 pam_handle_t *pamh = NULL;
 #endif
 
+#ifndef NO_OPIE
 static struct opie opiedata;
 static char opieprompt[OPIE_CHALLENGE_MAX+1];
+#endif
 static int pwok;
 
 char   *pid_file = NULL;
@@ -1059,13 +1061,16 @@
 #ifdef USE_PAM
        /* XXX Kluge! The conversation mechanism needs to be fixed. */
 #endif
+#ifndef NO_OPIE
        if (opiechallenge(&opiedata, name, opieprompt) == 0) {
                pwok = (pw != NULL) &&
                       opieaccessfile(remotehost) &&
                       opiealways(pw->pw_dir);
                reply(331, "Response to %s %s for %s.",
                      opieprompt, pwok ? "requested" : "required", name);
-       } else {
+       } else
+#endif
+       {
                pwok = 1;
                reply(331, "Password required for %s.", name);
        }
@@ -1380,9 +1385,12 @@
                        goto skip;
                }
 #endif
+#ifndef NO_OPIE
                if (opieverify(&opiedata, passwd) == 0)
                        xpasswd = pw->pw_passwd;
-               else if (pwok) {
+               else 
+#endif
+               if (pwok) {
                        xpasswd = crypt(passwd, pw->pw_passwd);
                        if (passwd[0] == '\0' && pw->pw_passwd[0] != '\0')
                                xpasswd = ":";
Index: libexec/rexecd/rexecd.c
===================================================================
RCS file: /home/ncvs/src/libexec/rexecd/rexecd.c,v
retrieving revision 1.30
diff -u -r1.30 rexecd.c
--- libexec/rexecd/rexecd.c     3 May 2002 13:12:06 -0000       1.30
+++ libexec/rexecd/rexecd.c     24 Feb 2003 05:33:34 -0000
@@ -63,6 +63,7 @@
 #include <syslog.h>
 #include <unistd.h>
 
+#ifndef NO_PAM
 #include <security/pam_appl.h>
 #include <security/openpam.h>
 
@@ -74,6 +75,7 @@
 static int pam_flags = PAM_SILENT|PAM_DISALLOW_NULL_AUTHTOK;
 static int pam_err;
 #define pam_ok(err) ((pam_err = (err)) == PAM_SUCCESS)
+#endif
 
 char   **environ;
 char   remote[MAXHOSTNAMELEN];
@@ -183,12 +185,16 @@
        getstr(cmdbuf, sizeof(cmdbuf), "command");
        (void) alarm(0);
 
-       if ((pwd = getpwnam(user))  == NULL || (pwd->pw_uid = 0 && no_uid_0) ||
+       if ((pwd = getpwnam(user))  == NULL || (pwd->pw_uid = 0 && no_uid_0)
+#ifndef NO_PAM
+           ||
            !pam_ok(pam_start("rexecd", user, &pamc, &pamh)) ||
            !pam_ok(pam_set_item(pamh, PAM_RHOST, remote)) ||
            !pam_ok(pam_set_item(pamh, PAM_AUTHTOK, pass)) ||
            !pam_ok(pam_authenticate(pamh, pam_flags)) ||
-           !pam_ok(pam_acct_mgmt(pamh, pam_flags))) {
+           !pam_ok(pam_acct_mgmt(pamh, pam_flags))
+#endif
+           ) {
                syslog(LOG_ERR, "%s LOGIN REFUSED from %s", user, remote);
                error("Login incorrect.\n");
                exit(1);
@@ -207,7 +213,9 @@
                }
                if (pid) {
                        /* parent */
+#ifndef NO_PAM
                        (void) pam_end(pamh, pam_err);
+#endif
                        (void) close(STDIN_FILENO);
                        (void) close(STDOUT_FILENO);
                        (void) close(STDERR_FILENO);
@@ -262,6 +270,7 @@
                syslog(LOG_ERR, "setlogin() failed: %m");
        (void) setgid((gid_t)pwd->pw_gid);
        initgroups(pwd->pw_name, pwd->pw_gid);
+#ifndef NO_PAM
        if (!pam_ok(pam_setcred(pamh, PAM_ESTABLISH_CRED)))
                syslog(LOG_ERR, "pam_setcred() failed: %s",
                    pam_strerror(pamh, pam_err));
@@ -271,6 +280,7 @@
        (void) pam_setenv(pamh, "PATH", _PATH_DEFPATH, 1);
        environ = pam_getenvlist(pamh);
        (void) pam_end(pamh, pam_err);
+#endif
        (void) setuid((uid_t)pwd->pw_uid);
        cp = strrchr(pwd->pw_shell, '/');
        if (cp)
Index: secure/lib/libcrypto/Makefile
===================================================================
RCS file: /home/ncvs/src/secure/lib/libcrypto/Makefile,v
retrieving revision 1.65
diff -u -r1.65 Makefile
--- secure/lib/libcrypto/Makefile       17 Aug 2003 08:28:46 -0000      1.65
+++ secure/lib/libcrypto/Makefile       18 Aug 2003 01:44:26 -0000
@@ -1,7 +1,7 @@
 # $FreeBSD: src/secure/lib/libcrypto/Makefile,v 1.65 2003/08/17 08:28:46 gordon Exp $
 
 LIB=           crypto
-SHLIBDIR?=     /lib
+LIBDIR?=       /lib
 SHLIB_MAJOR=   3
 
 NOLINT=                true
Index: share/mk/bsd.lib.mk
===================================================================
RCS file: /home/ncvs/src/share/mk/bsd.lib.mk,v
retrieving revision 1.149
diff -u -r1.149 bsd.lib.mk
--- share/mk/bsd.lib.mk 17 Aug 2003 07:42:50 -0000      1.149
+++ share/mk/bsd.lib.mk 18 Aug 2003 01:41:20 -0000
@@ -206,12 +206,7 @@
            ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
            ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
 .if defined(SHLIB_LINK)
-.if (${LIBDIR} == ${SHLIBDIR})
-       ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
-.else
-       ln -fs ${LIBDIR:C|/[^/]+|/..|g:S|^/||}${SHLIBDIR}/${SHLIB_NAME} \
-           ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
-.endif
+       ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
 .endif
 .endif
 .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB)
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to